一种单板故障检测方法

文档序号:6442860阅读:297来源:国知局
专利名称:一种单板故障检测方法
技术领域
本发明涉及一种单板运行时的实时故障检测方法,属于通信控制领域。
背景技术
对可靠性要求较高的设备单板,需要对单板故障做出快速反应,人工更换故障单板或启用自动保护倒换机制把故障板的业务倒换到保护板上去。这时,对于单板的故障检测就显得尤为重要。单板故障检测是指通过某种方法或借助外部工具,对单板的软件和硬件运行状态进行检查,以确定单板是否发生故障。目前,对单板故障检测最常用的方法是间接检测法,间接检测法主要是对单板承载的业务进行监测,通过分析其性能指标是否劣化来检查单板是否发生故障。在直接检测法中,目前使用的只有针对软件的软件看门狗法,当软件跑死或进入内部死循环时,看门狗会复位CPU,重新运行程序。
现有的方法都存在下列缺点(1)、由间接检测法判定单板故障过程较复杂,要综合分析业务各性能指标劣化程度来推断单板是否故障。(2)、间接检测法可靠性不高,业务指标劣化有可能是其他关联设备故障或环境干扰等原因造成的,而非自身单板出现故障。(3)、软件看门狗法对喂狗周期有严格限制,当软件运行正常,而子任务因需要连续运行时间过长时,仍然会引起看门狗复位CPU。

发明内容
本发明的目的就是为了克服目前间接检测法故障判定复杂、可靠性低,软件看门狗法受限较大的缺点,提出一种可对运行中的单板直接进行软、硬件故障检测的方法。
一种单板故障检测方法,包括下列步骤步骤一、在单板上设置一个心跳信号寄存器,单板上电运行;步骤二、以一定的周期向心跳信号寄存器内交替写入特定的心跳值;步骤三、FPGA读取心跳信号寄存器中的值,并将读取的心跳信号输出到检测总线;步骤四、判断软件是否正常运行,如果是则继续,否则向心跳信号寄存器中写入异常心跳值或者停止向心跳信号寄存器中写入心跳值,执行步骤七;步骤五、向主要业务芯片中的寄存器作写和读操作,通过比较读写值是否一致来判断该业务芯片是否工作正常;步骤六、如果业务芯片正常,则继续,否则向心跳信号寄存器中写入异常心跳值或者停止向心跳信号寄存器中写入心跳值;步骤七、判断检测总线输出的心跳信号是否正常,如果是则返回步骤二,否则输出单板故障。
本发明通过在单板上提供一个心跳寄存器和输出的心跳信号,当单板运行正常时,交替向心跳寄存器内写入约定值,使输出的心跳信号在一个周期内至少发生一次变化;当单板出现故障时,向心跳寄存器内写入非约定值(或停止写心跳寄存器),使输出的心跳信号异常(非约定值或周期内信号无变化)。这样,只需检测输出的心跳信号即可判定单板是否出现故障。本发明方法与现有的方法相比,能够直接检测运行中单板的软、硬件情况,对可读写和不可读写的硬件器件都可进行检查,并把检测结果归结到统一的输出信号上来,具有检测直接、检测结果可靠、故障判定过程简单的优点。


图1是本发明提出的检测方法的流程图。
具体实施例方式
下面结合附图和实施例对本发明作进一步的详细说明。
图1是本发明提出的检测方法的流程图。如图1所示,本发明提出的单板故障检测方法,包括下列步骤步骤一、在单板上设置一个心跳信号寄存器,单板上电运行;步骤二、以一定的周期向心跳信号寄存器内交替写入特定的心跳值;步骤三、FPGA读取心跳信号寄存器中的值,并将读取的心跳信号输出到检测总线;步骤四、判断软件是否正常运行。这里可以通过喂狗周期是否超过规定的时长来判断软件是否正常运行。如果是则继续,否则向心跳信号寄存器中写入异常心跳值或者停止向心跳信号寄存器中写入心跳值,执行步骤七;步骤五、向主要业务芯片中的寄存器作写和读操作,通过比较读写值是否一致来判断该业务芯片是否工作正常。读写操作的寄存器可以是保留寄存器也可以是空闲寄存器。
步骤六、如果业务芯片正常,则继续,否则向心跳信号寄存器中写入异常心跳值或者停止向心跳信号寄存器中写入心跳值;步骤七、判断检测总线输出的心跳信号是否正常,如果是则返回步骤二,否则输出单板故障。
下面以SDH(Synchronous digital hierarchy)通信系统中电支路板1:N保护工作过程为例,说明本发明提出的检测方法的详细实现过程。
电支路板1:N保护是在SDH设备上,除了N块工作板外,还有一块与工作板完全相同的保护板,当倒换控制器检测到N块工作板中的某一块出现故障,就把它的业务倒换到保护板上去,从而不中断业务。电支路板上的硬件主要包括AMD186CPU、主用业务芯片(映射芯片)、FPGA(可编程逻辑阵列),软件使用的是电支路板单板软件。工作过程如下1)在单板上设置一个心跳信号寄存器,单板上电工作,进行自检和初始化。
2)单板正常运行后,以一定的周期向心跳信号寄存器内交替写入特定的心跳值。
3)由FPGA读取心跳寄存器的值,并把心跳信号输出到倒换控制器的检测总线上去,如果FPGA出现故障,则输出异常心跳信号。
4)用单独的软件喂狗模块程序去检测软件,当软件跑死或进入内部死循环时,喂狗周期会超过喂狗模块规定的时长,此时向心跳寄存器中写入异常心跳值0XFF(或停止向心跳寄存器写入心跳值)。
5)若软件无故障,检测主用业务芯片,向选定的芯片内保留寄存器写入0XAA,再读出来,看读出来的值是否也是0XAA。如果是,则周期内向心跳寄存器内交替写入约定值0X01和0X10;如果不是,则向心跳寄存器内写入异常值0XFF。
6)倒换控制器通过检测输出的心跳信号是否正常,获知单板是否发生故障,以决定是否进行倒换操作。
权利要求
1.一种单板故障检测方法,其特征在于包括下列步骤步骤一、在单板上设置一个心跳信号寄存器,单板上电运行;步骤二、以一定的周期向心跳信号寄存器内交替写入特定的心跳值;步骤三、FPGA读取心跳信号寄存器中的值,并将读取的心跳信号输出到检测总线;步骤四、判断软件是否正常运行,如果是则继续,否则向心跳信号寄存器中写入异常心跳值或者停止向心跳信号寄存器中写入心跳值,执行步骤七;步骤五、向主要业务芯片中的寄存器作写和读操作,通过比较读写值是否一致来判断该业务芯片是否工作正常;步骤六、如果业务芯片正常,则继续,否则向心跳信号寄存器中写入异常心跳值或者停止向心跳信号寄存器中写入心跳值;步骤七、判断检测总线输出的心跳信号是否正常,如果是则返回步骤二,否则输出单板故障。
2.根据权利要求1所述的方法,其特征在于所述步骤四中判断软件是否正常是通过喂狗周期是否超过规定的时长来判断软件是否正常运行的。
3.根据权利要求1所述的方法,其特征在于所述步骤五中的寄存器为保留寄存器或者空闲寄存器。
全文摘要
本发明公开了一种单板故障检测方法,包括1.在单板上设置一个心跳信号寄存器,单板上电运行;2.以一定的周期向心跳信号寄存器内交替写入特定的心跳值;3.FPGA读取心跳值,并将心跳信号输出到检测总线;4.判断软件是否正常运行,如果是则继续,否则向心跳信号寄存器中写入异常心跳值或者停止写入心跳值,执行步骤7;5.向主要业务芯片中的寄存器作写和读操作,通过比较读写值是否一致来判断该业务芯片是否工作正常;6.如果业务芯片正常,则继续,否则向心跳信号寄存器中写入异常心跳值或者停止写入心跳值;7.判断心跳信号是否正常,如果是则返回步骤2,否则输出单板故障。本发明方法具有检测直接、检测结果可靠、故障判定过程简单的优点。
文档编号G06F11/00GK1787410SQ20041009686
公开日2006年6月14日 申请日期2004年12月8日 优先权日2004年12月8日
发明者张建伟, 余正华 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1