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

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

3天内不再提示

【技术分享】"喂狗",也要讲究方法

AGk5_ZLG_zhiyua 来源:未知 2023-07-21 11:55 次阅读
看似乖巧的看门狗,也有比较调皮的一面,在烧录无法喂狗的特殊情况下仍会毫不留情的复位芯片,造成烧录失败,该如何避免这种情况的发生吗?

8fc4744c-2779-11ee-962d-dac502259ad0.jpg  初识看门狗

嵌入式产品设备在电源瞬变、电磁干扰、静电放电、极端温湿度等复杂环境的干扰下可能会造成程序异常,从而使系统陷入瘫痪状态,这时候我们就希望设备能够自动复位,而不需要人工干预,看门狗定时器可以帮助捕获和重置已经“失控”的设备,实现无人值守,提高系统可靠性。看门狗又叫 watchdog timer,是一个定时器电路,一般有一个输入端用来喂狗,一个输出端RST接到芯片的复位引脚,芯片正常工作的时候,每隔一段时间输出一个信号到喂狗端,给看门狗清零,如果超过规定的时间不喂狗,看门狗溢出,就会给出一个复位信号,拉低RST引脚使得芯片复位。ZL6300是广州致远微电子有限公司自行设计的一款集欠压监测复位、手动复位和超时复位功能的看门狗芯片,具有以下特性:
  • 上电复位脉冲200mS;
  • 支持手动复位;
  • 看门狗定时器溢出周期1.7S;
  • 低功耗仅9uA;
  • 欠压复位。
8fd6b594-2779-11ee-962d-dac502259ad0.png

图1 ZL6300内部结构

8fe50f40-2779-11ee-962d-dac502259ad0.jpg应用电路

通过之前对看门狗的初步认识,好的看门狗设计可以大大提升产品的稳定可靠性,我司基于该理念,核心板上均板载独立看门狗,为适应各种复杂环境保驾护航。下面以我司性能卓越的M3568核心板为例,看下它如何灵活设计看门狗电路,对应的原理图如下图2所示,看门狗芯片选型ZL6300,支持手动按键复位和看门狗溢出复位,当系统正常运行时从芯片上电启动到加载看门狗喂狗驱动所需时长约为1S左右,ZL6300溢出周期为1.7S,可以在看门狗溢出周期内及时喂狗清除定时器。

8ff11f88-2779-11ee-962d-dac502259ad0.png

图2看门狗电路

当芯片处于烧录状态时因内核停止工作,喂狗程序不能正常运行,不能及时喂狗,看门狗溢出拉低芯片复位引脚,导致程序下载失败。为应对这种特殊情况,预留了跳线冒选项,插上短路帽即可禁用看门狗,当J2插上短路帽时,WDO_EN被拉至低电平,Q1三级管处于关断状态,WDI引脚处于高组态,当WDI引脚检测到它处于高阻抗状态时将产生自己的WDI脉冲,对应的喂狗波形如下图3所示。

9025c21a-2779-11ee-962d-dac502259ad0.png

图3 看门狗禁能时喂狗波形

当烧录完成后拔掉跳线帽,Q3处于导通状态,芯片产生的喂狗脉冲WDI_GPIO可通过Q3传递到WDI引脚,实现正常喂狗,对应的喂狗波形如下图4所示。

904a52f6-2779-11ee-962d-dac502259ad0.png

图4看门狗使能时喂狗波形

8fe50f40-2779-11ee-962d-dac502259ad0.jpg总结

下面简单汇总看门狗电路设计注意事项
  • 看门狗复位脉冲时长要大于CPU的最少复位时间;

  • 看门狗溢出周期要大于系统启动到加载看门狗驱动时长,并留有一定的余量;

  • 充分利用WDI引脚在高阻态时看门狗定时器功能禁用;

  • 避免通过使能看门狗的电源来控制看门狗工作与否,否则会造成系统一直重启,看门狗芯片上电后会输出一个时长200mS的POR信号。

8fe50f40-2779-11ee-962d-dac502259ad0.jpg关联产品 8fe50f40-2779-11ee-962d-dac502259ad0.jpg技术交流长按识别如下二维码可加入“工控板/核心板技术交流群”,与志同道合的朋友交流,并有专业技术人员为您答疑解惑,如有问题可以咨询小致微信zlgmcu-888。90a4c434-2779-11ee-962d-dac502259ad0.png  


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

    关注

    13

    文章

    402

    浏览量

    31199

原文标题:【技术分享】"喂狗",也要讲究方法

文章出处:【微信号:ZLG_zhiyuan,微信公众号:ZLG致远电子】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    SPC582B用SPC5Studio打开SWT后,哪一个是喂狗函数啊?

    SPC582B的芯片,用SPC5Studio打开SWT后,哪一个是喂狗函数啊?还是要自己写?
    发表于 05-31 08:25

    为什么PWM模式输出不能执行喂狗操作?

    为什么PWM模式输出不能执行喂狗操作,喂狗已初始化,Keil示波器显示一秒中断?
    发表于 03-08 06:03

    求助,关于看门狗定时器的喂狗时间和多APP看门狗的问题求解

    : 如果我在我的app1里面加入了看门狗, 我的app0没有喂狗操作。 当我的程序有app1跳转到app0后,是否会因为不喂狗而导致复位。 另外我的app1如果引起了看门狗复位,那么是复位到app0的入口开始执行还是复位到app1的入口开始执行。
    发表于 02-21 06:50

    TLE9879开启看门狗后不喂狗也不会出现复位的现象是为什么?

    开启看门狗后不喂狗也不会出现复位的现象,用官方例程也是一样的效果,有人遇到过这个情况吗?
    发表于 02-19 07:06

    使用TC275 CPU看门狗,在不喂狗的情况下只能复位一次,然后再次复位时,就直接死机了是什么情况?

    使用TC275CPU看门狗,定时器设为1.3秒,在不喂狗的情况下只能复位一次,然后再次复位时,就直接死机了,程序不能重启运行。这是什么情况
    发表于 02-05 07:10

    RT-Thread Nano入门:独立看门狗(IWDT)

    本文主要介绍怎么用RT-Thread Nano实现独立看门狗IWDT驱动,创建一个喂狗线程,实现定时喂狗功能。
    的头像 发表于 11-22 11:04 1721次阅读
    RT-Thread Nano入门:独立看门狗(IWDT)

    i.MX6ULL——ElfBoard ELF1板卡 在自启脚本中打开看门狗,通过QT应用来喂狗方法来啦

    修改看门狗源码,设置了超时时间后,关闭/dev/dev/watchdog节点., 4.编译之后,再次进行测试。(如何编译应用方法可以看一下之前发布的贴子哦) 在不启动QT喂狗应用时,系统超时60S重启。 在启动QT应用后,不再报错,能够成功
    发表于 11-14 10:18

    嵌入式学习——ElfBoard ELF1板卡 在自启脚本中打开看门狗,通过QT应用来喂狗方法来啦

    修改看门狗源码,设置了超时时间后,关闭/dev/dev/watchdog节点。 4.编译之后,再次进行测试。(如何编译应用方法可以看一下之前发布的贴子哦) 在不启动QT喂狗应用时,系统超时60S重启。 在启动QT应用后,不再报错,能够成功
    发表于 11-14 10:15

    看门狗喂狗代码要加在哪里?

    看门狗喂狗代码要加在哪里 定时器吗?
    发表于 11-03 06:39

    请问什么时候喂狗?怎么喂狗?喂狗的注意事项有哪些?

    什么时候喂狗?怎么喂狗?喂狗的注意事项?
    发表于 10-27 07:30

    如何避免烧录无法喂狗的情况下看门狗仍会复位芯片

    "喂狗",也要讲究方法
    的头像 发表于 10-24 15:56 2209次阅读
    如何避免烧录无法<b class='flag-5'>喂狗</b>的情况下看门狗仍会复位芯片

    pcb电路板线宽线距有何讲究

    pcb电路板线宽线距有何讲究
    的头像 发表于 10-18 17:19 2425次阅读

    STM8L在待机模式还需要给独立看门狗喂狗吗?

    STM8L在待机模式还需要给独立看门狗喂狗
    发表于 10-15 12:58

    代码规范化如何学习,单片机也要求规范化吗?

    代码规范化如何学习,单片机也要求规范化么?
    发表于 10-12 07:19

    STM8的独立看门狗怎么能保证及时喂狗

    STM8的独立看门狗怎么能保证及时喂狗
    发表于 10-09 06:40