微处理器超长启动周期中的外部看门狗管理方案

发布者:温暖阳光最新更新时间:2014-08-13 来源: eefocus关键字:定时器  看门狗  上电复位  UM706 手机看文章 扫描二维码
随时随地手机看文章

为应对日益复杂的处理任务,越来越多的应用会使用微处理器搭载各种操作系统的方案。操作系统的启动周期一般在十几秒,有的甚至在一分钟以上。另外,为保证在程序跑飞时系统可自恢复,在许多对可靠性要求较高的应用中,外置看门狗定时器也是不可或缺的。此类定时器的溢出周期一般为一两秒。由于微处理器与看门狗芯片是同步上电,在看门狗定时器的溢出周期内微处理器必须提供脉冲信号来喂狗,但若系统未完全启动,又无法提供脉冲信号,无脉冲信号,看门狗溢出,系统复位……如此会进入死锁状态。

在微处理器超长启动周期中,如何有效的管理外部看门狗,本文将做详细探讨,并提供行之有效的参考设计电路。

微处理器多功能复位管理芯片

以UM706为例,这是一款微处理器多功能复位管理芯片,集看门狗定时器、按键复位、上电/掉电复位、电压跌落预警等多种功能于一身,内置抗干扰电路,性能稳定可靠,适合对可靠性要求高的应用场合。


图1. UM706内部框图

典型应用

UM706的一个典型应用如图2所示。电路中,看门狗输出与手动复位输入相连,微处理的复位触发信号可以是上电/掉电、按键接地或看门狗定时器溢出。该电路非常简洁,可同时对多种复位信号进行管理,但是缺点也很明显,就是前文提到的,若微处理器启动周期超出看门狗溢出周期,复位信号将反复被触发,系统死锁。


图2.典型应用

微处理器启动过程中禁止看门狗

针对图2应用电路的不足,巧妙的增加一个SPDT(单刀双掷)模拟开关UM3157,可以实现在微处理器启动期间禁止看门狗。

UM706的规格书指明,当看门狗输入端WDI悬空或三态时,看门狗禁止,内部计数器停止计数,输出端将保持高电平。充分利用这一特性,处理器启动期间,通过模拟开关使WDI选通到悬空通道(如图4所示),看门狗禁止,不影响系统正常启动;待系统启动完毕,连接EN的I/O引脚输出控制电平,使WDI选通到另一I/O引脚,看门狗使能,实现正常的喂狗操作(如图5所示)。另外,需特别注意的是,一般处理器上电后,I/O引脚默认输出高电平或低电平,无论哪种情况,只需保证启动期间WDI悬空即可,故图3中NC与NO引脚哪个悬空,哪个接处理器I/O,视具体情况而定。

图3的应用电路,可以说非常实用,UM3157为SOT363封装,尺寸仅2mm*2mm,成本非常低,占用处理器资源也很少,只需一根额外的I/O引脚控制模拟开关的通道选择。


图3.利用SPDT模拟开关实现启动过程中禁止看门狗


图4.启动期间模拟开关状态


图5.启动完毕模拟开关状态

微处理器启动过程中的看门狗禁止周期设置

在某些应用中,客户希望启动过程也要在看门狗的监控中,也就是说万一系统启动失败,看门狗可以自动输出复位信号让系统重新启动,这在网络远程启动,无人值守的状况下非常必要。为实现这一目的,要求看门狗溢出周期至少要比系统启动周期长,但实际上市面上基本没有溢出周期一分钟以上的看门狗芯片。

如图6所示,在图3电路基础上增加555定时器搭建的单稳态触发器,通过设置外部RC元件参数,可灵活设置看门狗的禁止周期,若系统在预先由RC元件设定的时长内未完成启动,看门狗重新被使能,再经短暂的溢出周期后(UM706看门狗溢出周期典型值1.6秒),输出低电平,系统被复位,重新启动,直至成功。[page]


图6.利用555定时器设置看门狗禁止周期

原理分析:无论何种原因触发复位信号,上电/掉电、按键接地或看门狗溢出,输出0电平,即555电路TRIG引脚的输入信号vi为0电平,由于vi连接至555定时器内部比较器的同相端,该比较器的反相端通过内部分压电路连接到,此时,该比较器输出为0,即内部RS触发器的置1端为0,则RS触发器输出1,OUT引脚输出1,vo为1,模拟开关COM选通到悬空通道NO,看门狗禁止。与此同时,555定时器内部放电开关管由导通态变为截止态,单稳触发器进入暂稳态,电容C1开始充电,放电端电压vc“缓慢”上升,如图7所示。看门狗禁止周期由R4和C1设定,

通常R的取值在几百欧姆到几兆欧之间,电容的取值范围为几百皮法到几百微法,的范围为几微妙到几分钟。但越大,其精度和稳定度也要下降。

当放电端电压,555定时器内部RS触发器置0端为0,RS触发器输出0,vo=0,模拟开关COM选通到通道NC,看门狗使能,若启动正常,微处理器可正常喂狗。与此同时,555定时器内部放电开关管由截止态变为导通态,单稳触发器进入稳态。


图7.单稳触发器波形

图6的应用电路,本质上是一种双看门狗设计,处理器启动过程中利用555定时器,对启动过程进行长看门狗周期管理;待启动完毕,电路自动切换至UM706内部看门狗,对程序运行进行短看门狗周期管理;其中,模拟开关UM3157起到桥梁的作用,把两部分巧妙的组合成一个有机整体。

关键字:定时器  看门狗  上电复位  UM706 引用地址:微处理器超长启动周期中的外部看门狗管理方案

上一篇:嵌入式系统实现在系统编程(ISP)
下一篇:一款大功率半导体激光控制器的设计方案

推荐阅读最新更新时间:2024-03-16 13:39

STM32之关于通用定时器的输出比较方式
1.简单介绍 对于STM32中通用定时器的应用,定时器可以测量输入信号的脉冲长度(输入采集)或者产生输出波形(输出比较和PWM)。 如果小伙伴对于STM32的PWM不满意,因为相位无法控制,只能改变占空比。所以如果想改变PWM的相位的话,我们就可以用到输出比较方式了。 2.知识的架构 1)输出比较:打开一个TIMx计数器,再打开TIMx的一路或几路输出比较器(共4路),都配置好以后,计数器开始计数,当计数器里的值和比较寄存器里的值相等时,产生输出比较中断,在中断中将计数器中的值读出,与翻转周期相加再写道比较寄存器中,使得和下一个事件有相同的翻转周期。 大致意思为打开计数器后,计数值不断增加,到增加到比较寄存器的值时,电平翻转,也会
[单片机]
西门子PLC定时器简单电路的编程
S7—200的定时器有三种:接通延时定时器(TON)、有记忆接通延时定时器(TONR)和断开延时定时器(TOF)。      图1 梯形图和语句符号 ◆ TON和TONR的工作: 当使能输入接通时,接通延时定时器和有记忆接通延时定时器开始计时,当定时器的当前值(Txxx)大于等于预设值时,该定时器位被置位。当使能输入断开时,清除接通延时定时器的当前值,而对于有记忆接通延时定时器,其当前值保持不变。可以用有记忆接通延时定时器累计输入信号的接通时间,利用复位指令(R)清除其当前值。  ◆ TOF的工作 TOF用来在输入断开后延时一段时间断开输出。当使能输入接通时,定时器位立即接通,并把当前值设为0。当输入断开时,定时器开
[嵌入式]
LPC23XX定时器功能范例
最近写了个LPC2387的定时器相关应用,把思路&代码写出来供参考。 需求:LPC2387实现0.5秒为周期的定时器 思路:以定时器2(Timer2)为例,利用定时器的计时功能即可,MR0寄存器设置0.5秒对应的计数,计数到后产生中断并充值MR0寄存器。 问题:解决0.5秒对应多少计数 定时器2对外设时钟(Peripheral Clock)进行计数,要实现0.5秒的定时周期,即MR0的计数值为外设时钟频率 (Fpclk) 的1/2。 外设时钟频率 = CPU频率/外设分频 系数 Fpclk = CCLK/PCLK_DIV 而CPU频率(CCLK)
[单片机]
单片机练习 - 定时器
相关的特殊寄存器, 请查看有关资料 程序代码如下: 定时器 1 #include reg52.H 2 //使发光二极管按1000ms亮, 300ms暗, 300ms亮, 1000ms暗, 1000ms亮 .这样循环下去 . 3 /* 4 测试定时器的4种工作模式 5 单片机时钟为11.0592MHz, 1个机器周期为1.085us. 6 计算初值:又定时器0为例, 计算值为N us 7 模式0: TH0 = (2^13 - (N/1.085)) / 2^5 = (8192 - N/1.085) / 32, TL0 = (8192 - N/1.085) % 32; 8 模式1: TH0 = (2^16 - (N/1.085))
[单片机]
单片机练习 - <font color='red'>定时器</font>
这就是AVR的看门狗watchdogtimeout
AVRATMEGA16的复位检测和控制看门狗 系统控制和复位 复位来源的检测 JTAG复位指示 看门狗复位指示 BOD复位指示 RESET引脚复位指示 上电复位指示 看门狗的控制 出于简化程序考虑,各种数据没有对外输出,学习时建议使用JTAG ICE硬件仿真器。 熔丝位设置 1 使能BOD功能 BODEN=0 2 选择BOD电平 BODLEVEL=1 2.7V(VCC=3V) (可选) BODLEVEL=0 4.0V(VCC=5V) (可选) */ #include avr/io.h #include avr/delay.h //时钟定为内部RC 1MHz,F
[单片机]
MSP430f2619学习—Timer_A定时器
1、定时器时钟图 2、Timer_A寄存器配置 (1)时钟源设置 TACTL |= TASSEL_2 + ID_3 + MC_1 + TACLR; 此处选择SMCLK,8分频,向上计数模式,TACLR位可清TAR计数值; (2)中断配置 MSP430f2619定时器A共有3个捕获/比较寄存器,中断配置涉及到的寄存器:TACTL/TACCTL0/TACCTL1/TACCTL2; 设置方法: TACTL |= TAIE;//溢出中断允许 TACCTL0 |= CCIE;//捕获/比较通道0中断允许 TACCTL1 |= CCIE;//捕获/比较通道1中断允许 TACCTL2 |= CCIE;//捕获/比较通道2中断允许 ,定时
[单片机]
MSP430f2619学习—Timer_A<font color='red'>定时器</font>
linux 内核定时器 timer_list
linux内核使用timer_list 结构体当作定时器。 #include linux/timer.h #include linux/module.h MODULE_LICENSE( GPL ); //不加这句话,虽然不影响功能,但 有时候 程序执行时会打印错误,类似 Disabling lock debugging //due to kernel taint 之类的话 struct timer_list tm; static int num; static void func() { num++; mod_timer(&tm,jiffies+
[单片机]
Microchip低档单片机新增闪存数据存储
  Microchip宣布推出两款首次配备非易失性闪存数据存储器(FDM)的8引脚和14引脚封装低档 8位闪存PIC单片机。新器件利用64 字节数据存储器,结合了8 MHz的内置振荡器、器件复位定时器、多达3个8位模数转换通道及2个比较器等多种功能。   设计工程师在不断寻求性价比高的方法,力求在不增加设计复杂度的同时增加功能。通过在低档 8引脚和14引脚单片机中集成闪存数据存储器及模拟功能,PIC12F519(8引脚)及PIC16F526(14引脚)器件在无需外接非易失性存储器的条件下,实现配置及校准数据、计数器或小型查找表的存储。此外,设计人员还可利用单片机的数字智能及再编程能力来取代分立模拟元件。   PIC12F519
[新品]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved