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

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

3天内不再提示

看门狗型复位电路设计解析

要长高 来源:网络整理 作者:网络整理 2024-02-08 10:16 次阅读

什么是看门狗型复位电路

看门狗型复位电路(Watchdog Timer Reset Circuit),简称看门狗电路,是一种常见的复位电路类型,用于监控和恢复嵌入式系统的异常状态。

看门狗电路的作用是在系统出现故障或停机时,能够自动检测并触发系统复位操作,使系统恢复到可控的初始状态。它通过定期喂狗信号来确认系统正常运行,如果系统未能在规定的时间内正常喂狗,看门狗电路将产生复位信号,将系统重新启动。

看门狗电路通常由两部分组成:

1. 看门狗定时器(Watchdog Timer):看门狗定时器是一个可编程的定时器,它设置了一个特定的时间间隔,称为看门狗超时时间。定时器在每次启动后开始倒计时,如果在超时时间内未接收到喂狗信号,定时器会溢出,触发复位信号。

2. 喂狗信号源(WDT Feed Signal Source):喂狗信号源是一个周期性产生喂狗信号的源头。通常是由系统软件定期发送一个特定的信号,告诉看门狗定时器系统正常运行。喂狗信号可以是一个特定的数据或命令,也可以是一个定时器中断信号。

看门狗型复位电路广泛应用于嵌入式系统、工控系统、自动化设备等对稳定性和可靠性要求较高的场景。它可以监测系统死锁、软件异常、硬件故障等问题,并能够自动恢复系统,保障系统的可靠运行。

上电复位时看门狗模块默认工作在什么模式?

对于上电复位时的看门狗模块,默认情况下,它通常处于使能模式。也就是说,当系统上电时,看门狗模块会默认开始工作,并开始监控系统的运行状态。

在使能模式下,看门狗模块会按照预设的定时器设置开始计时,在每个定时器周期内需要接收到喂狗信号来确认系统正常运行。如果在设定的时间间隔内未接收到喂狗信号(也就是系统未能定期“喂狗”),看门狗模块会产生复位信号,将系统重新启动。

上电时的看门狗模块行为可能取决于具体的实现和配置。有些看门狗模块可能具有可配置的工作模式,可以根据需求进行设置。

看门狗型复位电路

看门狗型复位电路主要利用CPU正常工作时,定时复位计数器,使得计数器的值不超过某一值;当CPU不能正常工作时,由于计数器不能被复位,因此其计数会超过某一值,从而产生复位脉冲,使得CPU恢复正常工作状态。

典型应用的Watchdog复位电路如图7所示。此复位电路的可靠性主要取决于软件设计,即将定时向复位电路发出脉冲的程序放在何处。

一般设计,将此段程序放在定时器中断服务子程序中。然而,有时这种设计仍然会引起程序走飞或工作不正常。原因主要是:当程序“走飞”发生时定时器初始化以及开中断之后的话,这种“走飞”情况就有可能不能由Watchdog复位电路校正回来。因为定时器中断一真在产生,即使程序不正常,Watchdog也能被正常复位。为此提出定时器加预设的设计方法。即在初始化时压入堆栈一个地址,在此地址内执行的是一条关中断和一条死循环语句。

在所有不被程序代码占用的地址尽可能地用子程序返回指令RET代替。这样,当程序走飞后,其进入陷阱的可能性将大大增加。而一旦进入陷阱,定时器停止工作并且关闭中断,从而使Watchdog复位电路会产生一个复位脉冲将CPU复位。当然这种技术用于实时性较强的控制或处理软件中有一定的困难。

看门狗复位是硬件复位还是软件复位

看门狗复位既可以是硬件复位,也可以是软件复位,具体取决于系统设计和实现。

硬件复位:在硬件上实现看门狗复位意味着看门狗电路在硬件层面上监控系统状态并触发复位操作。当看门狗定时器检测到系统未能及时喂狗或发现其他异常情况时,它会生成一个复位信号,将系统重新启动。硬件复位通常是由一个特定的电路(如看门狗定时器)直接控制复位引脚,从而重置整个系统。

软件复位:软件复位是通过系统软件来实现的复位操作。当系统检测到需要复位时,它会在软件层面上执行相应的复位程序或代码,进行系统的重新初始化和重启。

在某些系统中,硬件复位和软件复位可以同时使用。例如,看门狗电路可能会在硬件上监控系统状态,并在检测到故障时触发硬件复位。而软件可以通过定期喂狗信号来防止硬件复位的发生,从而保持系统正常运行。

审核编辑:黄飞

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

    关注

    10

    文章

    541

    浏览量

    70256
  • 嵌入式系统
    +关注

    关注

    40

    文章

    3430

    浏览量

    128221
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10442

    浏览量

    206564
  • 定时器
    +关注

    关注

    23

    文章

    3147

    浏览量

    112038
  • 复位电路
    +关注

    关注

    13

    文章

    308

    浏览量

    44277
收藏 人收藏

    评论

    相关推荐

    看门狗CAT1161

    的单片机比较容易受到干扰;没有看门狗电路是不行的,当程序跑飞时,回不来了,死在那里。常规的做法是买一个专门的看门狗电路,完成复位
    发表于 07-12 13:18

    看门狗电路和普通的复位电路 有什么不同?

    看门狗电路和普通的复位电路有什么不同?
    发表于 01-23 23:25

    CC2541看门狗解析和使用教程

    即可。注:详情可以参看本博客的博文《CC2541之解析协议栈的晶振初始化过程》。2、实验结果与外部晶振一样,都能达到复位效果(外部晶振会更精确)。因此,看门狗使用内部32K的RC振荡器也是可以运行的。
    发表于 04-12 11:01

    看门狗复位电路的设计技巧

    复位,否则会导致JTAG上电依然连接不上,针对这种情况笔者设计了一种复位电路,采用2芯跳线器以连接和断开看门狗信号,再将上电复位
    发表于 06-07 14:20

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

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

    看门狗电路

    一、独立看门狗STM32的独立看门狗由内部专门的40Khz低速时钟驱动,即使主时钟发生故障,它也仍然有效。看门狗的原理:单片机系统在外界的干扰下会出现程序跑飞的现象导致出现死循环,看门狗
    发表于 07-30 06:02

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

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

    什么是看门狗 为什么要看门狗

    由于外部电磁等干扰,程序可能跑飞进入死循环这时候就要看门狗来解决这个问题STM32中的看门狗看门狗的工作原理:通俗的来说就是在饿死前喂它防止它饿死的时候
    发表于 08-02 10:59

    如何防止窗口看门狗(WWDG)复位

    什么是窗口看门狗?窗口看门狗的作用有哪些?如何防止窗口看门狗(WWDG)复位
    发表于 08-12 07:33

    看门狗电路是什么呢?

    在单片机学习、开发中,我们不可避免地要接触看门狗电路,那看门狗电路是什么呢?你掌握了吗?看门狗是什么?
    发表于 11-22 07:39

    怎样去使用S32K116看门狗

    看门狗是嵌入式开发中必备的重要模块,它可以当你程序在运行过程中因为一些不可避免的因素造成停顿,死锁的时候自动复位看门狗分硬件看门狗和软件看门狗
    发表于 01-10 07:00

    51单片机有了复位电路为什么还要看门狗复位啊?

    求大神解答!51单片机有了复位电路为什么还要看门狗复位啊?最小系统里的复位电路
    发表于 04-13 17:21

    DSP复位电源监控,看门狗电路

    DSP复位电源监控,看门狗电路 高电
    发表于 10-24 12:33 2245次阅读
    DSP<b class='flag-5'>复位</b>电源监控,<b class='flag-5'>看门狗</b><b class='flag-5'>电路</b>

    复位看门狗电路

    复位看门狗电路 复位看门
    发表于 08-09 21:58 3409次阅读
    <b class='flag-5'>复位</b>及<b class='flag-5'>看门狗</b><b class='flag-5'>电路</b>

    复位看门狗电路

    本文提供了人工复位看门狗 电路,实现了预期目标:
    发表于 06-27 15:28 382次下载
    <b class='flag-5'>复位</b>及<b class='flag-5'>看门狗</b><b class='flag-5'>电路</b>