硬件看门狗重启信息的记录及读取方法与流程

文档序号:20120577发布日期:2020-03-20 05:17阅读:1293来源:国知局
硬件看门狗重启信息的记录及读取方法与流程

本发明涉及工业控制技术领域,尤其涉及一种硬件看门狗重启信息的记录及读取方法。



背景技术:

看门狗分为硬件看门狗和软件看门狗,其中,硬件看门狗的主体是一个定时电路,并由被监控cpu提供周期性“喂狗”信号,对定时器清零。cpu正常工作时,由于能定时“清零”,看门狗内部的定时器不会溢出。当cpu出现故障,则不能继续提供“清零”信号,使得看门狗内定时器不断累加而溢出,从而触发一个复位信号对cpu进行复位,使cpu重新工作。

在工业控制领域,很多现场设备属于嵌入式系统,这就决定了对系统软件高可靠性的要求。当系统软件运行不正常时,需要一种机制能够让系统复位,进入正常运行状态。硬件看门狗就属于这样的机制,当系统或软件漏洞和恶劣环境干扰等因素导致系统死机时,硬件看门狗发出重启信号使得系统恢复运行状态。因此看门狗本身不是用来解决系统出现的问题,对于经常性的依赖于硬件看门狗才能恢复系统正常运行状态的系统,就需要检查其本身设计的错误。基于此,对于一段时间内发生的硬件看门狗重启次数记录就显得尤为重要,通过记录的信息及时发现并解决系统潜在风险,降低损失。



技术实现要素:

本发明提供的硬件看门狗重启信息的记录及读取方法,能够对硬件看门狗重启的信息进行记录,并随时获取硬件看门狗重启信息,根据一段时间内看门狗重启频率对发生重启事件的严重性进行甄别,及时作出应对方案,解决系统或软件存在的漏洞。。

第一方面,本发明提供一种硬件看门狗重启信息的记录方法,包括:

下位机检测硬件看门狗重启信号;

当检测到硬件看门狗重启信号时,所述下位机记录所述硬件看门狗重启信号发生的时间,作为硬件看门狗重启信息存储到所述下位机的闪存中。

可选地,所述下位机检测硬件看门狗重启信号包括:所述下位机通过外部中断输入引脚检测硬件看门狗重启信号。

可选地,所述下位机记录所述硬件看门狗重启信号发生的时间,作为硬件看门狗重启信息存储到所述下位机的闪存中包括:

所述下位机通过系统管理总线访问上位机;

所述下位机将通过系统管理总线获取的所述上位机的集成南桥的寄存器中的时间信息记录为硬件看门狗重启信息,并将所述硬件看门狗重启信息存储到所述下位机的闪存中。

可选地,所述方法还包括:

将所述下位机的闪存中存储的所述硬件看门狗重启信息缓存到所述下位机的随机存取存储器中。

可选地,所述下位机的4k字节的闪存分为8页,每一页有512字节,前0-3页存储所述硬件看门狗重启信息。

可选地,所述下位机在记录所述硬件看门狗重启信息时,将年月日时分秒共6字节的时间信息转换为4字节的有效数据格式进行存储。

第二方面,本发明提供一种硬件看门狗重启信息的读取方法,包括:

上位机向下位机发送硬件看门狗重启信息读取请求;

所述下位机将闪存中存储的硬件看门狗重启信息发送给所述上位机。

可选地,所述上位机向下位机发送硬件看门狗重启信息读取请求包括:上位机通过系统管理总线访问下位机,向所述下位机发送硬件看门狗重启信息读取请求

可选地,所述下位机的随机存取存储器中缓存有所述下位机的闪存中存储的硬件看门狗重启信息;

所述将所述下位机的闪存中存储的硬件看门狗重启信息发送给所述上位机包括:将所述下位机的随机存储存储器中缓存的所述硬件看门狗重启信息发送给所述上位机。

可选地,所述上位机在获取所述硬件看门狗重启信息后,按照双字格式将所述硬件看门狗重启信息进行解析处理,并最终打印硬件看门狗重启信息。

本发明实施例提供的硬件看门狗重启信息的记录及读取方法,当下位机检测到硬件看门狗重启信号时,下位机记录所述硬件看门狗重启信号发生的时间,作为硬件看门狗重启信息存储到所述下位机的闪存中;当需要获取硬件看门狗重启信息时,上位机向下位机发送硬件看门狗重启信息读取请求,下位机将闪存中存储的硬件看门狗重启信息发送给所述上位机,从而能够对硬件看门狗重启的信息进行记录,并随时获取硬件看门狗重启信息,根据一段时间内看门狗重启频率对发生重启事件的严重性进行甄别,及时作出应对方案,解决系统或软件存在的漏洞。

附图说明

图1为本发明实施例提供的硬件看门狗重启信息的记录及读取的硬件电路示意图;

图2为本发明实施例提供的硬件看门狗重启信息的记录的硬件实现示意图;

图3为本发明实施例提供的硬件看门狗重启信息的读取的硬件实现示意图;

图4为本发明实施例提供的硬件看门狗重启信息的读取方法的流程图;

图5为本发明实施例提供的硬件看门狗重启信息的记录方法的流程图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供的硬件看门狗重启信息记录及读取方法包括硬件设计方案和软件设计方案。

首先介绍硬件设计方案:

如图1所示,m054(以armcortex-m0为内核的32位微处理器)经过pca9518(可扩展5通道双向缓冲器)和pch(platformcontrollerhub,集成南桥)通过smbus(systemmanagementbus,系统管理总线)(时钟线和数据线)相连;m054通过外部中断输入引脚和硬件看门狗复位信号相连。

图1所示的硬件设计方案支持两个工作过程:下位机记录硬件看门狗重启信息的工作过程和上位机读取硬件看门狗重启信息的工作过程。

如图2所示,下位机记录硬件看门狗重启信息的工作过程为:

在m054的外部中断输入引脚捕捉到看门狗重启信号wdt_out后,该信号由superi/o生成,之后作为wdt_sig被m054的外部中断引脚捕捉,wdt_out和wdt_sig指的都是硬件看门狗信息,只是在不同引脚上的命名不同而已。在中断处理函数中将标志flag由0置为1,这时m054通过smbus访问pch,此时pch是作为smbus通信中的从设备,m054将通过smbus获取的pch寄存器中的时间信息作为此次硬件看门狗重启信号记录时间,最后将时间信息存放到flash中。

如图3所示,上位机读取硬件看门狗重启信息的工作过程为:

在上位机读取硬件看门狗重启信息时,上位机通过smbus访问m054,此时m054作为smbus通信中的从设备,将flash中记录的内容通过smbus发送给上位机。

下面介绍软件设计方案:

如图4所示,在下位机,硬件看门狗重启信息的读取方法的执行过程为:

首先进行初始化,完成m054系统时钟初始化,相关引脚复用功能初始化,iic控制器初始化,以及外部中断输入功能初始化。

缓存0-3页flash内容到ram(randomaccessmemory,随机存取存储器)中,m054的ram中使用了2kbyte的空间用于实时缓存flash中的硬件看门狗重启信息,这里将4kbyte的flash分成了8页,每一页有512byte,前0-3页用来存放硬件看门狗重启信息。m054在记录硬件看门狗重启信息时,将年月日时分秒共6byte的时间信息转换为4byte有效数据格式进行存储。先进行缓存的目的有两个:一是在m054掉电重启后查找记录指针位置,以便将接下来的硬件看门狗重启信息进行记录,相比在flash中直接查找,在ram中查找会提高查找效率;二是在上位机通过smbus协议进行硬件看门狗重启信息的读取时,可以避免直接从flash取出数据造成的耗时问题。

查找记录位置是在m054掉电重启后找到接下来准备记录硬件看门狗重启信息的位置。在m054掉电重启之后,记录位置指针就会初始化为空指针。因此上电重启后需要查找记录位置。

设置iic控制器为slave模式是将m054的iic控制器置为smbus通信从设备状态,随时响应上位机通过smbus总线获取硬件看门狗重启信息。

flag是外部中断输入引脚是否检测到硬件看门狗重启信号的标志,当flag由0变为1之后,表明硬件看门狗发出重启信号,程序开始记录此次硬件看门狗重启信号发生的时间,并存储到flash中,同时将最新的0-3页的flash内容缓存到ram中。最后置位flag以捕捉下次的硬件看门狗重启信号引起的中断。

在记录硬件看门狗重启信号发生的时间时,m054是作为主设备去访问pch,所以记录之后需要将m054重新设置为smbus通信从设备状态,以响应上位机通过smbus总线获取硬件看门狗重启信息。

如图5所示,在上位机,硬件看门狗重启信息的读取方法的执行过程为:

在上位机通过smbus总线获取m054的flash中存储的硬件看门狗重启信息时,为了解决smbus通信时间和m054读取flash中数据耗时较长的矛盾,本发明实施例在m054的ram中使用了2kbyte的空间用于实时缓存flash中的硬件看门狗重启信息,这样在上位机通过smbus发出数据读取请求后,m054直接将ram中缓存的硬件看门狗重启信息发送给上位机。m054在记录硬件看门狗重启信息时,将年月日时分秒共6byte的时间信息转换为4byte有效数据格式进行存储,因此上位机在获取硬件看门狗重启信息后,将按照双字(doubleword,即4byte)格式将硬件看门狗重启信息进行解析处理,最终打印硬件看门狗重启信息。

本发明实施例提供的硬件看门狗重启信息的记录及读取方法,当下位机检测到硬件看门狗重启信号时,下位机记录所述硬件看门狗重启信号发生的时间,作为硬件看门狗重启信息存储到所述下位机的闪存中;当需要获取硬件看门狗重启信息时,上位机向下位机发送硬件看门狗重启信息读取请求,下位机将闪存中存储的硬件看门狗重启信息发送给所述上位机,从而能够对硬件看门狗重启的信息进行记录,并随时获取硬件看门狗重启信息,根据一段时间内看门狗重启频率对发生重启事件的严重性进行甄别,及时作出应对方案,解决系统或软件存在的漏洞。

本领域普通技术人员可以理解实现上述方法实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1