硬件和软件看门狗的异同_第1页
硬件和软件看门狗的异同_第2页
硬件和软件看门狗的异同_第3页
硬件和软件看门狗的异同_第4页
硬件和软件看门狗的异同_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第第页硬件和软件看门狗的异同说到提高系统的可靠性,刚入门的(工程师)都知道,增加一个(看门狗)是重要的手段。看门狗又分软件看门狗和(硬件)看门狗,但是很多人可能没有深入了解其中的区别,工作中可能都遇到这样的PK:

  软件和硬件看门狗有什么区别?学完这篇文章就可以迎刃而解了。

1、硬件看门狗的原理

硬件看门狗是利用一个(定时器)电路,其定时输出连接到电路的复位端,程序在一定时间范围内对定时器清零(俗称“喂狗”),因此程序正常工作时,定时器总不能溢出,也就不能产生复位(信号)。如果程序出现故障,不在定时周期内复位看门狗,就使得看门狗定时器溢出产生复位信号并重启系统。

我们以(ADI)公司的(AD)M6316看门狗(芯片)为例。

  该看门狗芯片的主要功能有:

  1.可以监控主(电源)VCC,26种复位阈值选项:2.5V至5V,以100mV递增;

  2.4种复位延迟选项:1ms、20ms、140ms、1120ms(最小值);

  3.4种看门狗喂狗超时选项:6.3ms、102ms、1600ms、25.6s(典型值);

  4.支持手动复位输入;

  5.复位输出级:推挽低电平有效,开漏低电平有效,推挽高电平有效。

  复位功能说明:

  该芯片内置复位功能。设备上电时,芯片的VCC电压一旦到达开启(阈值电压)VTH,延迟定时器启动,经过延迟时间tRP,复位信号RESET或者/RESET即可输出,实现设备的延迟上电复位;芯片同时会监测VCC的电压,一旦VCC跌落到VTH以下,经过延迟时间tRD后,复位信号输出电平翻转,实现设备的复位。

  看门狗功能说明:

  该芯片内置看门狗功能,设备上电时,芯片的VCC电压一旦到达开启阈值电压VTH,延迟定时器启动,经过延迟时间tRP,复位信号RESET或者/RESET即可输出,实现设备的延迟上电复位;当喂狗信号WDI收到第一个脉冲电平时,就触发芯片内部的定时器,软件必须在tWD时间内输出喂狗信号WDI,否则复位信号RESET或者/RESET将会在定时时间tWD到达时,进行复位,设备重新复位。

2、软件看门狗的原理

软件看门狗原理上一样,只是将硬件电路上的定时器用处理器的内部定时器代替,这样可以简化硬件(电路设计),一般是将一个芯片中的定时器来作为看门狗,通过程序的初始化,写入初值,并启动定时器。程序按时对定时器赋初值(或复位),以免它饿了。

  这种看门狗是可以被禁用的(只要停止这个定时器即可),好比对那只要咬你的狗来个“葵花点穴手”,大部分(CPU)都内置看门狗,硬件原理可参考各芯片数据手册。

  优点:可以通过程序改变初始时间,也可以随时禁用。

  缺点:需要初始化,如果程序在初始化、启动完成前跑飞或在禁用后跑飞,看门狗就无法复位系统,这样看门狗的作用就没有了,系统恢复能力降低。

3、软硬件看门狗的主要异同

学习了上述的软硬件看门狗,我们总结一下两者的异同。

  两者相同点如下:

  1)都是通过定时器实现;定时时间到没有喂狗就进行复位。

  2)都是需要在规定的时间内喂狗。

  3)两者都是靠软件进行喂狗。

  两者主要差异如下:

  1)附加功能:硬件看门狗芯片一般还附带了延迟复位和电源检测的功能,软件则没有。

  2)屏蔽方法:软件看门狗很容易屏蔽关闭,只需修改其中的(寄存器),而硬件看门狗一旦启动不断电就停不下来。

  3)启动方式:软件看门狗很容易启动,只需修改其中的寄存器。硬件一般是收到第一个喂狗信号后就启动。

  4)初始化:硬件看门狗上电后收到第一个喂狗脉冲就完成了初始化,软件看门狗则需要配置相关的寄存器(或者调用相关的看门狗子程序)。

4、一个软件看门狗搞不定的案例

项目组研发一款户外远程采集器,应用场景包括偏僻的郊外,对可靠性要求很高,出现故障后或者远程升级后能够自动复位重启。为了节省成本,该产品采用主芯片内置的看门狗功能。主芯片其他资源初始化完成后,再初始化看门狗功能。产品批量后,远程升级过程中,大概有5%的概率设备升级后变砖,需要人工断电后再上电才能恢复正常。

  经过研发人员分析,软件的看门狗的流程如下图,一小部分设备,在升级程序过程,出现了死机的问题,程序还没有运行到初始化看门狗的阶段,看门狗无法生效,导致设备处于一直死机的状态,人工断电重启后恢复正常。

  经过改良升级,研发人员使用了硬件看门狗,上电瞬间就依赖上拉电阻形成的高脉冲开启看门狗,看门狗的延迟最迟喂狗时间为1.8S,评估升级+初始化时间最迟为1.2S,所以该看门狗芯片满足要求,一旦1.8S内应用程序还无法喂狗,则复位重启,问题得以解决。

5、总结

软件和硬件的看门狗的最主要差异在于开启看门狗的时机,软件看门狗必须初始化(配置)看门狗才能使用,如果软件看门狗是厂商提供的SDK中的一个A(PI)接口,(开发者)又没有能力修改底层的uboot、内核,无法在uboot、内核阶段开启和喂狗,开启看门狗的时机就很晚了,程序就有可能还没有跑到看门狗初始化就挂了,中间的各种幺蛾子都不受控,就像上述的案例。

  而硬件看门狗开启则不受软件的约束,设备上电就可以依赖上拉电阻提供的高脉冲开启看门狗,只要软件不及时喂狗,就复位,这个是无条件的。所谓一分钱一分货,在(电子)产品也是适用的。

  当然,如果你能说服驱动工程师,能够在主芯片上电第一时间,就初始化

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论