看门狗监控方法和系统的制作方法

文档序号:9524073阅读:550来源:国知局
看门狗监控方法和系统的制作方法
【技术领域】
[0001]本发明涉及电子技术领域,特别是涉及一种看门狗监控方法和系统。
【背景技术】
[0002]在计算机系统中,由于CPU的工作常常会受到来自外接电磁场的干扰,造成程序跑飞,而陷入死循环,程序的正常运行被打断,导致系统陷入停滞状态,发生不可预料的后果,所以出于对CPU运行状态进行实时监控的考虑,产生了一种专门用于监测运行状态的芯片,俗称"看门狗"(watchdog)芯片。
[0003]传统的看门狗监控方式,采用CPU控制片外的看门狗芯片,通过实时喂狗,实现CHJ软件运行情况的监控。由于软件控制容易受到系统环境的影响,本身也受到软件本身的制约,容易在一些条件下导致CPU系统故障,在CPU系统故障时,CPU未记录自身信息,从而导致使用者无法获知系统异常的原因,在CPU复位重启后,也无法定位问题。而传统的基于硬件方式监控看门狗,复位模式固定,不灵活。

【发明内容】

[0004]基于此,有必要提供一种看门狗监控方法和系统,能够在监控过程中,通过FPGA获取和保存CPU状态信息,在CPU复位时,以供使用者定位问题。
[0005]一种看门狗监控方法,包括:
[0006]FPGA和CPU上电初始化;
[0007]所述FPGA向看门狗芯片发送喂狗脉冲信号,所述CPU运行任务对应的线程;
[0008]所述FPGA和所述CPU进行通信,读取对方的状态信息,判断运行是否异常,若是,则控制对方进行复位;
[0009]所述FPGA实时保存所述CPU的状态信息。
[0010]在一个实施例中,所述FPGA和所述CPU进行通信,读取对方的状态信息,判断运行是否异常的步骤,包括:
[0011]所述CPU运行任务对应的线程后,启动对所述线程的监控,并将预设时间段内的所述线程的状态值发送给所述FPGA,所述FPGA根据所述状态值对应的错误等级判断所述CPU是否运行异常。
[0012]在一个实施例中,所述预设时间段为1ms至32s。
[0013]在一个实施例中,所述状态值对应的错误等级包括响应缓慢、偶发CRC错误、持续CRC错误和通信中断;当所述状态值对应的错误等级为持续CRC错误或通信中断时,所述FPGA判定所述CPU为运行异常状态。
[0014]在一个实施例中,所述方法还包括:
[0015]所述CPU在异常状态进行复位后,从所述FPGA读取保存的CPU的状态信息,初始化持续CRC错误或通信中断错误等级状态值对应的线程,并继续运行其它错误等级状态值对应的线程,并生成CPU运行日志。
[0016]一种看门狗监控系统,包括:FPGA、CPU和看门狗芯片;
[0017]所述FPGA,用于在上电初始化后向所述看门狗芯片发送喂狗脉冲信号;
[0018]所述CPU,用于在上电初始化之后,运行任务对应的线程;
[0019]所述FPGA和所述CPU,还用于进行通信,读取对方的状态信息,判断运行是否异常,若是,则控制对方进行复位;
[0020]所述FPGA,还用于实时保存所述CPU的状态信息。
[0021]在一个实施例中,所述CPU用于运行任务对应的线程后,启动对所述线程的监控,并将预设时间段内的所述线程的状态值发送给所述FPGA ;
[0022]所述FPGA用于根据所述状态值对应的错误等级判断所述CPU是否运行异常。
[0023]在一个实施例中,所述预设时间段为1ms至32s。
[0024]在一个实施例中,所述状态值对应的错误等级包括响应缓慢、偶发CRC错误、持续CRC错误和通信中断;
[0025]所述FPGA,用于当所述状态值对应的错误等级为持续CRC错误或通信中断时,判定所述CPU为运行异常状态。
[0026]在一个实施例中,所述CPU用于在异常状态进行复位后,从所述FPGA读取保存的CPU的状态信息,初始化持续CRC错误或通信中断错误等级状态值对应的线程,并继续运行其它错误等级状态值对应的线程,并生成CPU运行日志。
[0027]上述看门狗监控方法和系统,FPGA和CPU进行通信,读取对方的状态信息,判断运行是否异常,若异常,则控制对方进行复位,并且FPGA能够实时保存CPU的状态信息,相比于传统的技术,实现了能够在监控过程中,通过FPGA获取和保存CPU状态信息,在CPU复位时,以供使用者定位问题。
【附图说明】
[0028]图1为一个实施例中的看门狗监控方法的流程示意图;
[0029]图2为一个实施例中的看门狗监控系统的结构示意图;
[0030]图3为一个实施例中的FPGA与看门狗芯片的连接结构示意图;
[0031]图4为一个实施例中CPU监控线程的存储数据的结构示意图;
[0032]图5为一个实施例中FPGA获取的CPU的状态信息的存储结构示意图。
【具体实施方式】
[0033]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0034]参见图1,在一个实施例中,提供了一种看门狗监控方法。该方法包括:
[0035]步骤101,FPGA和CPU上电初始化。
[0036]步骤102,FPGA向看门狗芯片发送喂狗脉冲信号,CPU运行任务对应的线程。
[0037]具体的,FPGA上电初始化之后,会向看门狗芯片持续的发送喂狗脉冲信号。CPU根据上电执行程序或外部输入的指令来执行任务,例如读写DDR、LCD的显示等,每执行一个任务,CPU会运行对应的线程。
[0038]步骤103,FPGA和CPU进行通信,读取对方的状态信息,判断运行是否异常,若是,则控制对方进行复位。
[0039]具体的,FPGA和CPU相互监控对方的运行状态。其中,FPGA自身在进行逻辑处理,会记录逻辑状态,CPU根据记录的逻辑状态判断FPGA工作是否异常,若异常则控制FPGA进行复位。所涉及的处理过程与CPU控制其它外设的原理相类似,在此不再赘述。
[0040]本步骤中,还包括FPGA对CPU进行监控。CPU运行任务对应的线程后,启动对线程的监控,并将预设时间段内的线程的状态值发送给FPGA,由FPGA根据该状态值对应的错误等级判断CPU是否运行异常。其中,预设时间段可以由CPU进行配置,根据状态信息存储深度会有所不同,其范围是1ms至32s。状态值的错误等级,由CPU对线程相关的数据通信进行CRC校验得到,可以预先分为多个等级,如响应缓慢、偶发CRC错误、持续CRC错误和通信中断。当状态值对应的错误等级为持续CRC错误或通信中断时,FPGA判定CPU为运行异常状态。
[0041 ] 步骤104,FPGA实时保存CPU的状态信息。
[0042]具体的,FPGA实时保存CPU的状态信息,以供使用人员后续能够分析CPU的运行状态。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1