一种使用软件延长硬件看门狗时间的方法

文档序号:7647560阅读:298来源:国知局
专利名称:一种使用软件延长硬件看门狗时间的方法
技术领域
本发明涉及软件技术领域,尤其涉及一种使用软件延长硬件看门狗时间的方法。
背景技术
在电话交换机中,为了使系统在异常情况自动恢复,都使用硬件看门狗。看门狗本身不是用来解决系统出现的问题,加入看门狗目的是对一些程序潜在错误和恶劣环境干扰等因素导致系统死机而在无人干预情况下自动恢复系统正常工作状态。
硬件看门狗就是一个记数器。在系统运行以后也就启动了看门狗的计数器,看门狗就开始自动计数。在一定的时间内当记数器满了后就自动产生一个复位信号,使系统复位。软件正常运行的时候必须在硬件看门狗允许的时间内每隔一段时间把看门狗记数器清零,不让复位信号产生。一般硬件看门狗记数器允许的时间在1~2秒之间。
在采用多任务操作系统的交换机软件中,为了不让看门狗产生复位,专门使用一个任务进行清看门狗记数器的操作。但是一般情况下这个任务的优先级是最低的,也就是说只有系统在空闲的时候,看门狗记数器才能够被清零。这就意味着如果高优先级的任务(比如在交换机突然进行大量呼叫的时候)运行时间超过看门狗的允许时间,使清看门狗任务得不到运行,这样就会导致看门狗误复位。

发明内容
鉴于一般硬件看门狗允许的时间较短,清看门狗记数器操作的任务的优先级最低,如果高优先级的任务运行时间超过看门狗的允许时间,使清看门狗任务得不到运行,这样就会导致看门狗产生复位信号,使系统复位。因此本发明的目的是提供一种延长硬件看门狗时间的方法,以解决了在高优先级任务运行时间超过看门狗允许时间导致看门狗误复位的问题,其特征在于,所述使用软件方式延长硬件看门狗时间的方法包括以下步骤1)系统运行并初始化,同时启动系统定时中断服务程序和看门狗计数器,由中断服务程序对看门狗记数器清零;2)创建和启动看门狗任务;3)创建和启动其它任务;其它任务有呼叫任务主要处理电话交换系统中的呼叫信令硬件扫描任务扫描硬件的状态(摘机、挂机等)和控制硬件(振铃等)4)在系统运行程序的定时中断服务程序中,根据清看门狗的次数去清看门狗;5)每清看门狗一次,清看门狗次数的记数器加1,这样就把硬件看门狗允许的时间扩大到定时中断服务程序中清看门狗次数的记数器的时间,原来硬件的看门狗时间变成了可以设置的清看门狗记数值的时间。
与现有技术相比,本发明的有益效果在于本发明通过软件方式延长硬件看门狗时间的方法,使原来硬件看门狗时间变成了可以设置的清看门狗记数值的时间。有效的解决了看门狗误复位的问题。提高了系统的可靠性、稳定性。


图1是本发明使用软件延长硬件看门狗时间的流程图。
具体实施例方式
本发明提供一种延长硬件看门狗时间的方法,以解决了在高优先级任务运行时间超过看门狗允许时间导致看门狗误复位的问题。如图1所示本发明使用软件延长硬件看门狗时间的流程图。所述延长硬件看门狗时间的流程包含以下步骤1)系统先启动定时中断,清看门狗记数器,以防止在系统还没有初始化完就引起看门狗复位;2)创建和启动看门狗任务;3)创建和启动其它任务。
系统定时中断服务程序中根据清看门狗的次数清看门狗,在流程的中断服务程序部分,具体步骤如下1)定时中断的次数计数器加12)系统检查计数次数是否达到50次,如果没有达到,则返回。如果达到了,清看门狗次数记数器加1,定时中断记数器清零3)计数器清零后,检查次数是否达到最大值,如果没有则清看门狗后返回。如果达到了最大值,不清看门狗,看门狗复位系统因为系统的定时中断时间比较短,一般设置为10ms,为了避免太频繁的清看门狗记数器,我们约定在定时中断了50次(500ms)才去清看门狗一次。
在定时中断来后,检查定时中断记数器,如果定时中断记数器等于50次,则检查清看门狗次数的记数器,如果清看门狗次数的记数器小于预定次数的最大值,则对看门狗记数器进行清零。否则不清看门狗,让看门狗引起系统复位。
每清看门狗一次,清看门狗次数的记数器就加1,这样就把硬件看门狗允许的时间扩大到定时中断中清看门狗次数的次数,原来硬件的看门狗时间变成了可以设置的清看门狗记数值的次数。
举例如果我们希望看门狗允许的时间为20秒,那么我们就可以设定清看门狗记数器次数的最大值就是20000ms/500ms=40次。
而正常的时候,在看门狗任务的处理流程中,由原来直接清看门狗记数器改成对清看门狗记数器的值进行清零,保证定时中断服务程序中正常的清看门狗记数器。如果看门狗任务挂起,或者系统的应用程序死掉,清看门狗记数器就会不断的加1,最后超过允许的最大值而引起看门狗复位系统,看门狗的作用还继续存在。
看门狗任务的处理流程如上图中看门狗任务部分,具体步骤如下1.把清看门狗次数记数器清零2.返回
权利要求
1.一种使用软件延长硬件看门狗时间的方法,其特征在于,所述延长硬件看门狗时间的方法是通过软件方式实现的,包括以下步骤1)系统运行并初始化,同时启动系统定时中断服务程序和看门狗计数器,由中断服务程序对看门狗记数器清零;2)创建和启动看门狗任务;3)创建和启动其它任务;4)每清看门狗一次,清看门狗次数的记数器加1,这样就把硬件看门狗允许的时间扩大到定时中断服务程序中清看门狗次数的记数器的时间,原来硬件的看门狗时间变成了可以设置的清看门狗记数值的时间。
2.根据权利要求1所述使用软件延长硬件看门狗时间的方法,其特征在于,所述步骤1)中的定时中断服务程序是系统软件的一部分。
3.根据权利要求1所述使用软件延长硬件看门狗时间的方法,其特征在于,所述步骤3)中的其它任务还包括呼叫任务和硬件扫描任务。
4.根据权利要求1所述使用软件延长硬件看门狗时间的方法,其特征在于,所述在清看门狗任务中软件不再进行清看门狗的动作,只把清看门狗次数的记数器清零。
全文摘要
本发明公开了属于软件技术领域的一种使用软件延长硬件看门狗时间的方法。该方法是通过在定时中断程序中根据软件设置清看门狗记数器的次数的最大值去清看门狗,把原来由硬件看门狗记数器的固定时间改成通过软件设置的记录定时器清看门狗的次数来延长时间。有效的解决了看门狗误复位的问题。提高了系统的可靠性、稳定性。
文档编号H04Q3/545GK101022570SQ200710064630
公开日2007年8月22日 申请日期2007年3月21日 优先权日2007年3月21日
发明者何平 申请人:北京佳讯飞鸿电气有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1