当前位置:首页 > 在线教育 > 看门狗电路_看门狗电路原理图

看门狗电路_看门狗电路原理图

abc留学网3年前 (2021-10-16)在线教育550

围攻狮子要领:防狗小技巧

作为一只合格的电子围攻狮子,你可能不知道“哈尔”是什么,也不知道泰迪有多神奇,但有一种宠物你一定要知道,那就是——“看门狗”。

如果你想看可爱的宠物,也许边肖会让你失望。今天,我给大家带来关于“看门狗”的秘密。

异常事件描述

在R&D初期,嵌入式工程师需要在线模拟调试产品。在这个过程中,很多工程师在使用模拟器工具时会遇到一些异常(以AK100Pro为例):

  • 程序下载后,进度条停止,直到提示下载失败;

  • 可以顺利进入模拟模式,很快无法跟踪调试,MCU独立运行;

造成以上现象的原因有很多。今天,我们只从“看门狗”的度来分析单片机发生了什么。

什么是“看门狗”

在嵌入式系统中,MCU可能会受到外部电、磁的干扰,导致程序异常,从而使系统瘫痪。为了防止这种现象的发生,出现了一种监控单片机运行状态的芯片看门狗,中文翻译为“看门狗”。

看门狗芯片的输出端连接到MCU的复位引脚。当在设定的时间间隔内没有收到MCU的脉冲信号(喂狗信号)时,看门狗的内部定时器溢出,复位引脚拉低复位芯片。目前很多单片机内置内部看门狗电路,原理上与外部看门狗电路类似。

图1看门狗的典型电路

通过以下我们在技术支持过程中遇到的问题,并总结出有效的解决方案

1.内部看门狗

客户使用STM32开发产品,需要在原代码中增加看门狗程序。但在使用AK100Pro进行模拟调试时,发现程序停在断点处,芯片实际上全速运行。

MCU分为内核和外设。在模拟调试过程中,在断点处停止后,芯片内核停止,而外设可以选择性地继续运行,比如内部看门狗。内核停止,无法喂狗,导致看门狗重置芯片。

那么如何解决呢?有两种方法可以实现:一种是初始化用户程序中的相关寄存器,如下图所示。芯片的调试寄存器在调试时配置,当内核停止时看门狗自动停止。在STM32F10x手册中,有一个DBGMCU_CR的寄存器,可以控制与调试相关的外设行为。

图2 stm32调试寄存器

另一种方法是设置【初始化宏】的参数,在TKScope驱动设置中添加配置项,如下图所示。

图3设置初始化宏

注意,如果芯片本身没有类似的寄存器,看门狗只能在芯片初始化时禁用。

2.有外接看门狗,看门狗控制端引出到编程接口

我们的工程师最近给客户添加了赛普拉斯公司的Cortex-M3芯片MB9F8268,发现下载程序总是半途而废,突然无法完成通信。

图4通信错误

检查和分析捕获的数据包后,发现复位引脚周期性拉低。原来客户板上有一个外置的看门狗芯片,因为编程过程太长,没有及时喂狗,所以重置了。

找到原因,问题就解决了。在下载过程中,可以利用JTAG的时钟线(TCK)将其连接到看门狗芯片的控制端,使看门狗在通信过程中获得连续的脉冲信号,从而避免看门狗定时器溢出触发芯片复位。

3.有外部看门狗,但看门狗控制端没有引出

这种情况下,由于外部看门狗无法控制,除非断开连接,否则仿真和编程工具都无能为

总结

最后,给所有工程师附上一份珍贵的秘籍。以下是看门狗问题解决方案的简要总结。希望大家合理设计仿真和编程接口,合理设计应用程序,避免看门狗对编程和仿真的影响,避免被狗咬。

  • 初始化用户程序时,内部看门狗被禁用;

  • 配置【初始化宏】,让AK100Pro可以禁用看门狗;

  • 用户程序定时喂狗;

  • 断开外部看门狗;

  • 将调试时钟接入看门狗控制终端,下载时喂狗。

PS:更多电子知识,请关注我们的。

致远电子官方微信

扫描二维码推送至手机访问。

版权声明:本文由ABC留学网提供发布,如需转载请注明出处。

本文链接:https://www.jumpabc.net/zaixianjiaoyu/32191.html

分享给朋友:

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。