[发明专利]一种动态重载定时长度的软件定时方法有效
申请号: | 201210383235.4 | 申请日: | 2012-10-11 |
公开(公告)号: | CN102937893A | 公开(公告)日: | 2013-02-20 |
发明(设计)人: | 温权;陈新 | 申请(专利权)人: | 科立讯通信股份有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 广东广和律师事务所 44298 | 代理人: | 刘敏 |
地址: | 518057 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 动态 重载 定时 长度 软件 方法 | ||
技术领域
本发明涉及嵌入式系统领域,尤其涉及一种动态重载定时长度的软件定时方法。
背景技术
在高速数据采集及工业控制系统中,为满足可靠性和实时性的要求,作为时间基准的高精度定时一直都是非常关键的问题。Nucleus PLUS是为实时嵌入系统设计的可扩展的多任务的,是一种基于优先级的抢占式操作系统,实时性很强,方便移植。使其在诸多领域都有较好的应用。
在嵌入式系统的设计中,时间特性在很多应用中都是一个很重要的参数,很多控制逻辑和协议的实现,需要用到计时、超时和统计功能,时间长短的计时及精度、周期定时和超时的设定成为某些控制逻辑和协议的关键条件。任务的延时功能及软件定时器功能, 都需要底层有一个硬件的计数器支持。
当前, 嵌入式系统的软件代码日趋复杂。然而, 由于存储器、定时器等硬件资源仍然相对有限。如何在不影响系统整体性能的情况下, 为嵌入式系统提供优异的定时性能, 使系统能够高效运行, 已是一个值得关注的问题。
发明内容
本发明的目的在于提供一种动态重载定时长度的软件定时方法,其具有资源多,定时时间长,使用灵活方便等优点。
本发明的另一目的在于提供一种动态重载定时长度的软件定时方法,以解决硬件资源不足的问题,大大简化软件复杂性,加快设计进程。
本发明的目的是通过以下技术方案实现的。
一种动态重载定时长度的软件定时方法,包括步骤:
a:创建一个硬件定时器,同时设定最小基准时基,并对硬件定时器初始化;
b:获得一个硬件定时器的对象成功后,初始化服务层的软定时器模块;
c:创建一个软定时器,设置定时时间,启动软定时器;
d:根据定时时间,进行相应的线程处理,在对应软件定时器的任务里,对接收到的消息进行判断,如果是定时器消息,就处理软定时器的消息。
优选的,步骤b具体包括:注册软定时器的事件监听,设置基准时基,为服务层软定时器创建信号量、互斥所和创建处理软定时器消息的任务。
优选的,步骤c具体包括:
c1:判断是否是硬件定时到,如果定时没到,就继续计时等待;如果是,进入步骤c2;
c2:判断软件定时器的链表是否为空,如果为空,就回到硬件定时到的判断;如果不为空,则进入步骤c3;
c3:从链表里取出一个指定ID的软件定时器,软件定时器的计数值减一;
c4:判断当前计数值是否为零,如果不为零,则回到硬件定时到的判断;如果为零,则进入步骤c5;
c5:发送一个软定时器的消息处理对应软件定时器的任务。
优选的,步骤d中,对接收到的消息进行判断,如果不是定时器消息,则相应处理其他的消息。
本发明与现有技术相比,有益效果在于:本发明提供的动态重载定时长度的软件定时方法及软件定时器,由硬件定时器为基础,利用硬件定时器的定时中断来实现。软件定时器需要占用CPU资源,但它资源多,定时时间长,使用灵活方便,在复杂系统或定时器工作方式复杂的应用场合,解决硬件资源不足的问题,大大简化软件复杂性,加快设计进程。
附图说明
图1为本发明软件定时器结构框图。
图2为本发明动态重载定时长度的软件定时方法流程图。
图3为软件定时器根据定时时间处理流图。
具体实施方式
本发明核心思想:本发明在软件定时器中加入优先级,提供一种事件通知-监听的机制,为操作系统的中断管理模块使用。在中断产生后,中断管理模块会回调用户的函数,用户判断是否需要通过中断管理的任务去分发,如果不需要则由用户处理,否则它会触发中断管理模块分发任务,该任务会把该中断号相应的事件通知出去。中断管理模块会根据不同的需要去调度中断产生时是直接回调用户的处理函数还是放到任务中处理。而对定时器到时判断与处理,创建了一个优先级比较高的定时器管理任务,在这个任务中进行定时器的到时判断和处理。事件监听函数通过信号释放信号量给这个高优先级的任务,使其获得信号量。这种方法缩短了中断服务程序的执行时间,从而提高系统的实时性。
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于科立讯通信股份有限公司,未经科立讯通信股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210383235.4/2.html,转载请声明来源钻瓜专利网。