摘要: 看门狗计时器通过监视代码执行错误来提高系统可靠性。本文介绍了不同类型的看门狗电路。
看门狗计时器用于监视和最小化代码执行错误。内部看门狗计时器受到代码执行问题的影响,使得外部看门狗电路在防止系统锁定方面非常宝贵。
本文为不同类型的应用选择合适的看门狗/监控产品的时间以及如何在没有软件代码的情况下应用电路提供了帮助。
许多以前用专用硬件实现的电路功能现在在软件中实现,部分原因是今天广泛选择低成本微处理器(µp)。虽然软件通常是解决问题的最低成本和最灵活的方法,但它迫使设计人员采取额外的措施来确保系统的可靠性。虽然不存在没有代码错误的程序,但是仔细的测试可以将每1000行代码中的错误数量减少到1到10个。因此,设计人员必须期望在典型的10,000行代码的控制软件程序中至少有10个代码错误。
导致系统崩溃的桌面应用程序软件错误并不严重,因为用户可以重新启动系统,只有轻微的数据丢失。然而,对于工业控制软件来说,系统必须能够在没有人为干预的情况下从代码错误中恢复。此功能对于两大类系统至关重要:具有高可用性的系统,例如服务器、电话系统和生产线;系统必须高度可靠,因为碰撞可能导致伤害,如汽车、医疗器械、工业控制、机器人和自动门。即使这两个标准都不适用,系统崩溃/恢复不需要用户干预(按重置或电源循环)是首选。如果设备在没有人为干预的情况下从错误中恢复,则该设备的感知质量是好的,因为用户不知道设备内部出现了问题。实现这种改进系统可靠性的一个简单而有效的方法是使用看门狗。
看门狗是一个计数器,需要在看门狗超时时间内清除。如果清除不发生,看门狗产生复位导致系统重新启动或创建一个不可屏蔽中断(NMI),导致程序分支到一个故障恢复子例程。大多数监管机构都是边缘触发的。因此,看门狗输入(WDI)上的上升沿或下降沿将清除计数器。WDI引脚连接到处理器I/O引脚,该引脚由软件切换(图1)。
图1所示。微处理器用WDI引脚上的脉冲清除看门狗定时器,以防止复位。
清除看门狗计数器的命令必须在主程序循环中执行(图2)。如果看门狗没有被清除,则会发生复位,并且软件分支到地址0000(启动例程)。计算执行主循环所需的时间通常很困难,因为可能会调用许多子例程,这取决于系统的输入。因此,设计人员通常选择比最长测量或计算环路时间长得多的看门狗超时。
图2。该图显示了一个典型的程序流程,其中在主循环中生成了WDI信号。
图3显示了看门狗和正常运行的复位信号(看门狗在超时时间内被清除)。在图4中,看门狗计数器达到超时后产生复位。工业标准的看门狗电路的超时在100ms到2s范围内,尽管有可调节和定制的看门狗覆盖更宽的范围(30ms到分钟)。如果主循环的执行时间对看门狗来说太长,设计人员可以在主循环的不同部分实现多个看门狗切换命令,或者使用具有更长的超时的设备。
图3。如果在看门狗超时时间内WDI引脚一直处于切换状态,则不会产生复位。
图4。一旦看门狗计数器达到超时值,就会产生复位。
防止系统陷入寄生回路的一种技术是在主回路开始时将相关的I/O引脚设置为高电平,并在主回路的另一段将其设置为低电平。如果软件在主环路开始时卡在寄生环路中,看门狗超时,系统恢复,因为WDI保持高(图5)。如果使用低-高-低脉冲(如图2),看门狗将被清除,但系统仍然卡在寄生环路中。对于需要监控的具有多个任务的程序,可能需要更复杂的方案。每个任务设置一个标志,并且看门狗只有在设置了所有标志后才会被切换。所有任务的持续时间必须小于看门狗超时时间。与实际的程序相比,图2和图5可能看起来很简单,但是它们说明了相关的概念。更复杂系统中的其他潜在问题,如内存泄漏和堆栈溢出,也应该进行监控。这超出了本文的范围,但是通常可以通过使用合适的设计过程、执行仔细的代码审查和使用专门的软件工具来完成。
图5。改进的程序流程有两个独立的看门狗切换命令,它们在WDI引脚上产生上升和下降沿信号。这可以防止程序被困在寄生循环中。
许多μ p具有集成的可编程看门狗,可以在软件控制下禁用。内部看门狗容易出现代码错误,因此不能提供与独立的外部看门狗相同的保护。对于安全关键应用(即自动门,医疗设备,机器人),内部看门狗是不可接受的。监管机构要求使用一个独立的外部监督机构。因此,使用外部看门狗来减少关键系统故障的风险是一种很好的做法。
由于看门狗超时通常复位系统,大多数看门狗集成了µP复位,也监视处理器电源电压。复位由看门狗或欠压状态激活。图6所示的MAX823 - MAX825系列结合了这两种功能,具有标准复位电压、一个标称看门狗、一个复位超时和仅6µA的电流消耗。这些器件采用超小型SC70封装。
图6。MAX823-MAX825系列集成了两种常用功能:看门狗和复位。
MAX6316 - MAX6322系列提供26种出厂预设复位电压,4种标称看门狗和4种标称复位超时,以及4种输出配置(见表1)。
应用程序 | 家庭 | 电压监测 | 看门狗超时时间(分钟) | 重置超时时间(分钟) | 特殊功能 |
简单加复位 | MAX823 / MAX824 | 出厂预设2.5V, 3.0V, 3.3V或5V | 1.12秒 | 140毫秒 | SOT23或SC70包装 |
定制的 | MAX6316 - MAX6322 | 工厂预设在100mV步进2.5V至5V | 4.3ms, 71ms, 1.12 ms, 17.9 ms | 1毫秒,20毫秒,140毫秒,1.12秒 | 推挽式,开漏式或双向输出 |
Capacitor-adjustable | MAX6746 - MAX6753 | 出厂预设,或可通过分压器1.575V至5V调节 | 700ms至70s在两个范围由100pF至100nF电容器 | 预设,或0.5ms至5s电容 | SOT23-8,最小/最大窗口选项 |
MAX6301 - MAX6304 | SO或DIP封装 | ||||
启动时间长,引脚可选 | MAX6369 - MAX6374 | 双出厂预设1.8V, 2.5V, 3.0V, 3.3V或5.0V | 30ms ~ 60s;200毫秒到60秒的第一边缘激活 | 监管机构只 | 双模式,引脚可编程启动延迟 |
Multisupply | MAX6369 - MAX6360 | 双固定1.8V、2.5V、3.0V、3.3V、5V;或者双固定加一个可调 | 1.6秒正常 | 100毫秒 | 手动复位,断电比较器,双复位,复位加复位输出 |
MAX6721 - MAX6767 | 25.6秒启动 | ||||
窗口的 | MAX6323 / MAX6324 双模式 | 出厂预设2.5V, 3V, 3.3V或5V | 1.5ms ~ 719ms (min);10ms到1.3s(最大)窗口 | 100毫秒 | 八种工厂修剪选项;仅在定义的窗口内接受超时复位脉冲 |
如果应用程序需要灵活的看门狗超时,设计人员可以使用可调电路。MAX6746 - MAX6753系列提供工厂预置或分压器可编程复位电压,以及看门狗和复位超时的外部电容调节。图7为典型工作电路,其中:
复位电压由分压器R1/R2决定;
复位超时由电容设定的复位超时(C(SRT))决定
看门狗超时由电容设置看门狗超时(C(SWT))。
图7。此图显示了电容可调看门狗系列MAX6346-MAX6353的典型应用电路。
图8显示了从100pF到100nF的C(SWT)值的看门狗超时范围。有了这个范围广泛的可用看门狗超时,设计人员为任何应用程序提供了解决方案。MAX6301 - MAX6304系列与MAX6746-MAX6753系列具有基本相同的功能,但可采用SO和DIP封装。
图8。该图显示了各种可用的看门狗超时。
如果启动例程很长(参见图2),则需要一个具有两种不同超时的看门狗:较长的初始超时和较短的正常操作超时。MAX6369 - MAX6374系列具有引脚可编程启动延迟200ms至60s可选,看门狗超时范围为30ms至60s。一些版本提供了看门狗的第一边缘激活,为更长的启动例程提供了解决方案。对于这些芯片,看门狗在启动期间被禁用,并由µP的相关I/O引脚的第一个边缘激活。
对于具有双电源电压的系统,MAX6358 - MAX6360系列可以监控两个标准电压,并提供具有长启动时间和正常超时的看门狗。对于具有三个电源电压或需要高激活和低激活复位功能的系统,设计人员可以使用MAX6721- MAX6729系列。这些部件具有长启动时间和正常超时的双模式看门狗。它们监控两个标准电源电压(MAX6721-MAX6722)或两个标准加第三个可调电源电压(MAX6723-MAX6724)。它们具有手动复位输入,电源故障比较器,双复位输出以及reset和低电平reset输出。
为了实现超高的可靠性,设计人员可以使用MAX6323 / MAX6324窗口看门器。有了这些部件,脉冲清除看门狗必须发生在一个明确规定的时间窗口内。一个有效的脉冲可能早于最后一个脉冲后1.5ms到达,也可能晚于最后一个脉冲后10ms到达(额外的范围见表1)。使用MAX6323/MAX6324,系统可以从寄生回路中恢复,如果清除看门狗命令在环路内,则可以产生快速脉冲序列。这些脉冲将清除一个正常的看门狗,不会产生复位。这可以用窗口看门狗来避免,因为它们需要最小的看门狗脉冲之间的延迟。这些设备的典型应用是防抱死制动系统或其他汽车电路,适用于高安全性要求的工业和医疗应用,或系统可用性至关重要的应用。
由于每个软件程序都有代码错误,设计者必须确保系统不会被锁住。噪声和电磁干扰也会影响系统中的数据,导致不可预测的系统行为。看门狗是一种简单、廉价的提高系统可靠性的方法。外部看门狗会保护系统不被卡死,如果在看门狗超时时间内没有打开WDI,则会复位µP。随着今天监管机构的广泛选择,设计师一定会找到一个设备需求匹配。
上一篇:源电阻引起的ADC系统畸变分析
社群二维码
关注“华强商城“微信公众号
Copyright 2010-2023 hqbuy.com,Inc.All right reserved. 服务热线:400-830-6691 粤ICP备05106676号 经营许可证:粤B2-20210308