0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

看门狗提高系统可靠性—如何选择正确的器件

星星科技指导员 来源:ADI 作者:ADI 2023-05-08 11:29 次阅读

看门狗计时器用于监视和最小化代码执行错误。内部看门狗定时器容易受到代码执行问题的影响,使得外部看门狗电路在防止系统锁定方面非常宝贵。

本文档有助于为不同类型的应用选择正确的看门狗/监控产品时间,以及如何在没有软件代码的情况下应用电路。

以前使用专用硬件实现的许多电路功能现在都在软件中实现,部分原因是当今低成本微处理器(μP)的广泛选择。虽然软件通常是解决问题的成本最低、最灵活的方法,但它迫使设计人员采取额外措施来确保系统可靠性。虽然没有代码错误的程序,但仔细的测试可以将错误数量减少到每 1000 行代码 10 到 10 个。因此,设计人员必须期望在具有 000,<> 行代码的典型控制软件程序中至少出现 <> 个代码错误。

导致系统崩溃的桌面应用程序软件错误并不严重,因为用户可以重新启动系统,而只有轻微的数据丢失。但是,对于工业控制软件,系统必须能够在没有人为干预的情况下从代码错误中恢复。此功能对于两个主要类别至关重要:具有高可用性的系统,例如服务器、电话系统和生产线;以及必须高度可靠的系统,因为碰撞可能导致受伤,例如汽车、医疗器械、工业控制、机器人和自动门。即使这些标准都不适用,也最好在没有用户干预(按复位或电源循环)的情况下进行系统崩溃/恢复。如果设备在没有人为干预的情况下从错误中恢复,则此设备的感知质量良好,因为用户不知道设备内部出了问题。实现这种改进的系统可靠性的一种简单有效的方法是使用看门狗。

看门狗

监视器是必须在监视器超时期限内清除的计数器。如果未进行清除,监视器将生成重置以导致系统重新启动或创建不可屏蔽中断 (NMI),从而导致程序分支进入故障恢复子例程。大多数看门狗都是边缘触发的。因此,看门狗输入 (WDI) 上的上升沿或下降沿将清除计数器。WDI 引脚连接到处理器 I/O 引脚,该引脚由软件切换(图 1)。

wKgaomRYcK6AOybeAAAUaxjuhWs034.png

图1.微处理器通过WDI引脚上的脉冲清除看门狗定时器,以防止复位。

清除看门狗计数器的命令必须发生在主程序循环中(图2)。如果未清除监视程序,则进行重置,软件分支到地址 0000(启动例程)。计算执行主循环所需的时间通常很困难,因为可能会调用许多子例程,具体取决于系统的输入。因此,设计人员通常选择比最长测量或计算的环路时间长得多的看门狗超时。

wKgaomRYbISARHNCAAAcj5b0Gm4235.gif

图2.该图显示了在主循环中生成WDI信号的典型程序流程。

图3显示了正常操作时的看门狗和复位信号(看门狗在超时期限内清除)。在图4中,看门狗计数器达到超时后生成复位。行业标准看门狗电路的超时范围为100ms至2s,尽管有可调和定制的看门狗覆盖更宽的范围(30ms至分钟)。如果主环路的执行时间对于看门狗来说太长,设计人员可以在主环路的不同部分实现多个看门狗切换命令,或使用超时更长的设备。

wKgZomRYcLyABaDxAAAMqq9-GJQ976.png

图3.如果WDI引脚始终在看门狗超时内切换,则不会生成复位。

wKgZomRYbIeAEHZdAAAO7u_8Nrc891.gif

图4.一旦看门狗计数器达到超时值,就会生成复位。

防止系统卡在寄生环路中的一种技术是在主环路开始时将相关I/O引脚设置为高电平,并在主环路的另一部分将其设置为低电平。如果软件在主环路开始时卡在寄生环路中,则看门狗超时,系统恢复,因为WDI保持高电平(图5)。如果使用低-高-低脉冲(如图2所示),看门狗将被清除,但系统将保持卡住状态。对于具有需要监视的多个任务的程序,可能需要更复杂的方案。每个任务设置一个标志,只有在设置了所有标志时,才会切换监视器。所有任务的持续时间必须短于监视器超时期限。与实际程序相比,图 2 和图 5 可能看起来很简单,但它们说明了相关概念。还应监视更复杂的系统中的其他潜在问题,例如内存泄漏和堆栈溢出。这超出了本文的范围,但通常通过使用合适的设计过程、执行仔细的代码审查和使用专门的软件工具来完成。

wKgaomRYbImASBStAAAchQKY1Iw901.gif

图5.改进的程序流程具有两个独立的看门狗切换命令,这些命令在 WDI 引脚上生成上升沿和下降沿信号。这可以防止程序卡在寄生循环中。

内部与外部看门狗

许多μP具有集成的可编程看门狗,可在软件控制下禁用。内部看门狗容易出现代码错误,因此不能提供与独立外部看门狗相同的保护。对于安全关键型应用(即自动门、医疗设备、机器人),内部看门狗是不可接受的。监管机构要求使用单独的外部监管机构。因此,最好使用外部看门狗来降低关键系统故障的风险。

简单的看门狗加复位

由于看门狗超时通常会复位系统,因此大多数看门狗都集成了μP复位功能,该复位器还监视处理器电源电压。复位由看门狗或欠压条件激活。图823所示的MAX825-MAX6系列结合了这两种功能,提供标准复位电压、一个标称看门狗、一个复位超时,电流消耗仅为6μA。这些器件采用超小型SC70封装。

wKgZomRYbIuAETmCAAAYQfe2FOs242.gif

图6.MAX823-MAX825系列集成了两种常用功能:看门狗和复位。

工厂预设看门狗系列

MAX6316-MAX6322系列提供26路工厂预设复位电压、1路标称看门狗和<>路标称复位超时以及<>种输出配置(见表<>)。

应用 家庭 电压监控 看门狗超时(分钟) 复位超时(分钟) 特殊功能
简单加复位 MAX823/
MAX824
工厂预设 2.5V、3.0V、3.3V 或 5V 1.12 140毫秒 SOT23 或 SC70 封装
定制 MAX6316-
MAX6322
工厂预设,步长为 100mV 2.5V 至 5V 4.3毫秒, 71毫秒, 1.12秒, 17.9秒 1毫秒, 20毫秒, 140毫秒, 1.12秒 推挽式、漏极开路或双向输出
电容可调 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 ;200ms 至 60s 首次边缘激活 仅看门狗 双模式、引脚可编程启动延迟
多电源 MAX6369-
MAX6360
双固定1.8V、2.5V、3.0V、3.3V、5V;或双 固定加一个可调 1.6s 正常 100毫秒 手动复位、电源失效比较器、双复位、 复位加复位输出
MAX6721-
MAX6767
25.6秒启动
窗口 MAX6323/
MAX6324
双路模式
工厂预设 2.5V、3V、3.3V 或 5V 1.5毫秒至719毫秒(最小值);10ms 至 1.3s(最大值)窗口 100毫秒 八个工厂修剪选项;仅在定义的窗口内接受超时复位脉冲

电容可调看门狗

如果应用需要灵活的看门狗超时,设计人员可以使用可调电路。MAX6746-MAX6753系列提供工厂预设或分压器可编程复位电压,以及看门狗和复位超时的外部电容调整。图7显示了一个典型的工作电路,其中:

复位电压由分压器R1/R2确定,

复位超时由电容决定,以设置复位超时(C.SRT),和

看门狗超时由电容器设置,以设置看门狗超时(C斯威特).

wKgaomRYbIyACcLcAAAaAsjk3dU571.gif

图7.图中给出了电容可调看门狗系列MAX6346-MAX6353的典型应用电路。

图 8 显示了 C 的看门狗超时范围斯威特值从 100pF 到 100nF。凭借如此广泛的看门狗超时范围,设计人员可以为任何应用提供解决方案。MAX6301-MAX6304系列与MAX6746-MAX6753系列具有基本相同的特性,但提供SO和DIP封装。

wKgZomRYbI6AfT6vAAAitjK_iC8941.gif

图8.此图显示了各种可用的看门狗超时。

引脚可选看门狗,具有更长的启动/超时

如果启动例程很长(参见图 2),则需要具有两种不同超时的看门狗:较长的初始超时和较短的正常操作超时。MAX6369-MAX6374系列具有引脚可编程的启动延迟,可选择200ms至60s,看门狗超时范围为30ms至60s。某些版本提供看门狗的首次边缘激活,为更长的启动例程提供解决方案。对于这些芯片,看门狗在启动期间被禁用,并由μP相关I/O引脚的第一个边沿激活。

具有多个电源电压的看门狗

对于双电源系统,MAX6358-MAX6360系列可以 监视两个标准电压,并提供具有长启动和正常超时的看门狗。对于具有三路电源电压或同时需要高电平有效和低电平有效复位功能的系统,设计人员可以使用MAX6721-MAX6729系列。这些器件具有双模式看门狗,具有较长的启动时间以及正常的超时。它们可监测两个标准电源电压(MAX6721-MAX6722)或两个标准电源电压加第三个可调电源电压(MAX6723-MAX6724)。这些器件提供手动复位输入、电源失效比较器、双复位输出以及复位和/复位输出。

具有超高可靠性的窗口看门狗

为实现超高可靠性,设计人员可以使用MAX6323/MAX6324窗口看门狗。对于这些器件,看门狗的脉冲清除必须在明确指定的时间窗口内发生。有效脉冲可能最早在最后一个脉冲后1.5ms到达,也可能在最后一个脉冲后10ms到达(有关其他范围,请参见表1)。利用MAX6323/MAX6324,系统从寄生环路中恢复,如果清除看门狗命令在环路内,可以产生快速脉冲序列。这些脉冲将清除正常的看门狗,并且不会产生复位。使用窗口看门狗可以避免这种情况,因为它们需要看门狗脉冲之间的最小延迟。这些器件的典型应用是防抱死制动系统或其他汽车电路、高安全要求的工业和医疗应用,或系统可用性至关重要的应用。

结论

由于每个软件程序都有代码错误,设计人员必须确保系统不会锁定。噪声和EMI也会影响系统中的数据,并导致不可预测的系统行为。看门狗是提高系统可靠性的一种简单、廉价的方法。外部看门狗可防止系统卡住,并在看门狗超时期限内未切换WDI时复位μP。由于当今的看门狗种类繁多,设计人员一定会找到符合器件要求的器件。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电源
    +关注

    关注

    182

    文章

    16559

    浏览量

    244776
  • emi
    emi
    +关注

    关注

    53

    文章

    3446

    浏览量

    125515
  • 微处理器
    +关注

    关注

    11

    文章

    2133

    浏览量

    81423
收藏 人收藏

    评论

    相关推荐

    看门狗定时器改进 IoT 系统的稳健

    看门狗朝着建立稳健的嵌入式系统迈开了重要的一步,但其本身并未提供一个非常稳固的解决方案。 要真正提高稳健,开发人员需要考虑外部看门狗。使用
    发表于 04-07 15:08

    如何利用看门狗电路改善系统可靠性

    复位操作。使系统恢复正常的工作状态,即在程序没有正常运行期间,如期复位看门狗以保证所选择的定时溢出归零,使处理器重新启动。看门狗电路的定时时间长短可由具体应用程序的循环周期决定,通常比
    发表于 02-26 07:30

    高压看门狗定时器是如何提高车载系统安全性的?

    高压看门狗的优势有哪些?高压看门狗定时器是如何提高车载系统安全性的?
    发表于 05-12 06:33

    看门狗的最主要功能是什么

    概述看门狗一般分为硬件看门狗和软件看门狗,主要用来解决程序CPU异常,程序跑飞挂死等问题,提高系统可靠
    发表于 07-30 07:38

    看门狗的作用

    一、看门狗的作用此器件具有一个嵌入式看门狗外设,具有安全高、定时准确及使用灵活的优点。此独立看门狗外设可用于检测并解决由软件错误导致的故障
    发表于 07-30 07:23

    看门狗是什么 看门狗的功能

    监测的考虑,便产生了一种专门用于监测单片机程序运行状态的模块或者芯片,俗称“看门狗”(watchdog) 。看门狗的功能①、在启动正常运行的时候,系统不能复位。②、在系统跑飞(程序异常
    发表于 07-30 08:07

    STM32独立看门狗(IWDG)和窗口看门狗(WWDG)的区别【转】精选资料分享

    正常对其进行复位,系统可靠性将大打折扣。看门狗分为软件看门狗和硬件看门狗两类,其原理都是使用一个独立定时器来计时,超出时间就会产生复位信号
    发表于 08-02 09:27

    STM32独立看门狗(IWDG)和窗口看门狗(WWDG)的区别 精选资料推荐

    不能正常对其进行复位,系统可靠性将大打折扣。看门狗分为软件看门狗和硬件看门狗两类,其原理都是使用一个独立定时器来计时,超出时间就会产生复位
    发表于 08-02 09:31

    看门狗电路应用基本技巧和注意事项

    端(WDI)一旦 MCU 无法正常工作时,而且其片内看门狗功能也无法复位,软件进入死循环。这时,具有集成看门狗功能的监控器可触发复位,从而提高系统
    发表于 08-09 09:31

    嵌入式系统的硬件软件看门狗怎么选择

    本文从原理、异同、举例来说明硬件软件看门狗怎么选择:一、硬件看门狗的原理硬件看门狗是利用一个定时器电路,其定时输出连接到电路的复位端,程序在一定时间范围内对定时器清零(俗称“喂狗”),
    发表于 12-21 08:04

    英锐恩科技推出看门狗复位芯片EN22

    EN22是一款专用的看门狗ASIC,内部集成有电压检测单元,定时器,看门狗和手动复位单元。EN22系列器件减小了系统的复杂度,提高
    发表于 09-18 10:25

    利用看门狗改善系统可靠性―如何正确选择器件

    本文主要讲述的是利用看门狗改善系统可靠性―如何正确选择器件
    发表于 04-23 08:46 10次下载

    利用看门狗改善系统可靠性―如何正确选择器件

    本文主要讲述的是利用看门狗改善系统可靠性―如何正确选择器件
    发表于 04-26 16:27 12次下载

    利用看门狗改善系统可靠性

    利用看门狗改善系统可靠性
    发表于 04-27 10:34 22次下载
    利用<b class='flag-5'>看门狗</b>改善<b class='flag-5'>系统</b><b class='flag-5'>可靠性</b>

    利用看门狗提高系统可靠性

    看门狗是一个计数器,它需要在一定的看门狗延时周期内被清零,如果没有清零动作,看门狗电路将产生一个复位信号使系统重新启动或建立一个非屏蔽终端、执行故障恢复子程序。
    发表于 03-07 16:03 35次下载
    利用<b class='flag-5'>看门狗</b><b class='flag-5'>提高</b><b class='flag-5'>系统</b><b class='flag-5'>可靠性</b>