看门狗的作用: 看门狗定时器是一个计数器,基本功能是在发生软件问题和程序跑飞后使系统重新启动。看门狗计数器正常工作时自动计数,程序流程定期将其复位清零,如果系统在某处卡死或跑飞,该定时器将溢出,并将进入中断。在定时器中断中执行一些复位操作,使系统恢复正常的工作状态,即在程序没有正常运行期间,如期复位看门狗以保证所选择
的定时溢出归零,使处理器重新启动。软件的可靠性一直是一个关键问题。任何使用软件的人都可能会经历计算机死机或程序跑飞的问题,这种情况在嵌入式系统中也同样存在。由于单片机的抗干扰能力有限,在工业现场的仪器仪表中,常会由于电压不稳、电弧干扰等造成死机。在水表、电表等无人看守的情况下,也会因系统遭受干扰而无法重启。为了保证系统在干扰后能自动恢复正常,看门狗定时器(Watchdog Timer)的利用是很有价值的。
现今市面上流行的一些单片机,多嵌有内部WDT,如TI的MSP430系列,Philips的P87XXX和P89XXX系列,Microchip的PIC列,Atmel的AT89SXX系列和Holtek公司的Htxxx系列。但是这些内部看门狗在工作时,多存在一定的误差。一些工程师在设计的过程中,由于忽略了这一点,导致系统出现异常。MSP430系列单片机是美国德州仪器公司(TI)近几年开发的新一代单片机,该系列是一款16位、具有精简指令集、超低功耗的全新概念混合型单片机。在众多单片机系列中,由于它具有极低的功耗、丰富的片内外设和方便灵活的开发手段,已成为一颗耀眼的新星。其内部自带看门狗及复位电路,理论上如果程序跑飞,可用看门狗将其复位。但在实际使用过程中,发现看门狗的作用并非万无一失,以下实验证明了这一点。实验电路如图1所示。
试验程序清单:
#include
void main(void){
p1dir l=0x0f; //设置p1.2-.p1.0为输出
for(;;){
volatile unsigned int i;
wdtctl=wdtpw+wdtcncl;
//复位wdt
piout==0x0t;
i=5000;
do(i--)
while(i!=0);
}}
上述实验启动后,如果程序正常运行,LED会闪烁。缺省时,MSP430的看门狗是允许状态,所运行的程序会不断地访问看门狗。理论上,这个系统是不会发生启动失败的,因为即使启动失败,看门狗也应该在数百毫秒内启动,复位整个系统。基于这种思想,对单片机的复位进行测试。K2断开,用K1连续产生。Reset信号,测试看门狗使系统重启的成功率。K2闭合,则reset端高电平,理论上K1不能有效产生复位脉冲,观察看门狗是否起作用。
实验结果与分析
实验结果如下:K2断开,连续开关K1,上电重启系统,平均155次失败1次(LED不闪),即看门狗失效概率0.6%;K2闭合,连续开关K1,平均18次失败1次(LED不闪),且一旦失败,将连续失败下去,看门狗无效率占到了约5.5%。另外,当采用同样具有内置看门狗的其他系列单片机替代实验中的MSP430,启动程序段作相应修改时,实验结果仍大致相同,这说明具有内置看门狗的单片机面临的问题是相同的。经分析可能有如下原因:
①由于看门狗的时钟不独立,计数时钟与系统为同一分频链路,因此看门狗不能在系统出现问题时有效运作。
②由于时钟可用软件设置,启动失败时,开机时钟可能处于空档,没有时钟看门狗不能生效。
③有些看门狗需要用软件设置或启动,因此启动失败后,初始化程序没有激活,CPU可能跳转到随机代码,使看门狗被禁止。这样的看门狗是需要有可靠的上电复位作保证的,因此,从理论上讲,原设计存在着不合理性。基于上述分析,采用片外看门狗专用芯片TPS3823由独立的分频振荡电路提供计数脉冲。实验电路如图2所示。
单片机看门狗电路
上述电路中,TPS3823输出定时溢出信号给Reset端。程序段中,CPU要不断地通过I/O口输出喂狗信号,使看门狗计数器清零。在此电路中重复上述试验中K1、K2的相同动作,系统重启成功率达到100%。
未来的内置看门狗必须有独立可靠的时钟。系统上电后,看门狗即为允许状态,无需软件设置,它只能被外部硬件跳线或内部熔丝(fuse)所禁止。目前,如果要求设计可靠性较高的嵌入式系统,外置看门狗是必须考虑的。内置看门狗的另一问题是系统复位后,程序应判断是由Reset端正常上电复位,还是程序跑飞看门狗所致,由此确定现场数据是否应该保留。这也是在看门狗应用中所应考虑的。
关键字:单片机 看门狗电路 计数器
引用地址:
单片机看门狗电路的作用
推荐阅读最新更新时间:2024-03-16 13:56
多通道虚拟示波器的技术研究
0 引言 虚拟仪器是基于PC技术发展起来的,所以完全“继承”了以现成即用的PC技术为主导的最新商业技术的优点,包括功能超卓的处理器和文件I/O,使在数据导入磁盘的同时就能实时地进行复杂的分析。为了实时、准确地测量输入波形的参数,本文采用自带8路lO位ADC的单片机ATmegal6,结合简单的外围电路,即可将输入波形实时传送给PC机进行处理。通过PC机上虚拟仪器平台LabVIEW开发的上位机软件对波形进行显示和处理,从而达到简易虚拟示波器的效果。 1 简易多通道虚拟示波器系统的设计 简易多通道虚拟示波器系统的原理方框图如图1所示,数据采集由主控芯片ATmegal6进行,采集后的数据通过RS232串口通信芯片Max232将 TT
[单片机]
[单片机框架][bsp层][AT32F415][bsp_key] 按键KEY配置和使用
按键的基本原理是设置单片机IO口(PB0-PB3)为输入状态,如DDRB = 0XF0(方向寄存器,“1”为输出,“0”为输入); 单片机一直检测按键端口(PB0-PB3)的状态,当端口为低电平时(即按键按下),实行相应的动作(比如控制LED灯)。 原理就是这么回事,但是正真实现时,按键会有抖动,要进行按键去抖,下图为按键按下时的抖动图。 按键实行一个动作过程是需要一定时间的,一般为100mS-1S左右,而一个单片机执行一个机器周期的时间很短,时钟为10MH的周期为0.1μs,这样按键每一次动作程序就会多次检测按键,出现误判(一次按下,多次动作)。 代码将讲解如何实现按键扫描功能,注册按键事件(单击/双击/长按/长
[单片机]
μPD780208单片机的功能及应用
摘要: μPD780208 是日本NEC公司生产的8位高性能单片机产品,文中比较全面的介绍了 μPD780208 的特点和功能,并给出了一个完整 μPD780208 的系统应用实例。
关键词: 单片机 μPD780208 微控制器
1 概述
日本NEC公司生产的μPD780208系列8位单片机属于78K/0家族,该系列是NEC公司内部集成FIP显示驱动器各系列中功能最强的。根据内部集成的ROM和RAM容量的不同,μPD780208系列可分为5个型号,本文主要介绍最高型号μPD780208芯片的功能和应用。该芯片为100引脚QFP封装,内部集成了1个8位78K0CPU内核,它带有60kB
[应用]
基于AT89C51单片机的RS 232串行数据截取设计方案
引言 目前,我国的装备技术水平和发达国家相比还有一定的差距,对于国外引进的先进设备,如何才能在没有任何技术资料的情况下破解其技术瓶颈,实现装备技术水平的跨越式发展是我国普遍面临的技术难题。为此作者认为获取设备与控制计算机之间的通信数据,分析其通信协议是解决这个难题的基础。基于此,本文设计了数据截取器。 很多设备和其控制计算机之间采用的是RS 232标准串行接口进行通信,本文设计和实现了RS 232串行通信数据截取器,能有效地截取设备与其控制计算机之间的通信数据。 1 截取器硬件部分设计 1.1 总体框图及原理 系统原理框图如图1所示。 原理分析:具体设备与其控制计算机之间的通信线路通过电平转换分两路
[单片机]
Holtek推出BS82B16-3新一代Flash触控单片机
Holtek推出新一代内建LED Driver的Flash触控MCU BS82B16-3,支持16个触控按键,内建的LED Driver俱备4段电流输出控制,可直推LED而不须外挂限流电阻或三极管,可大幅简化产品应用零件及降低成本,非常适合于俱备LED之小家电触控面板应用。 BS82B16-3的特点在于工规(-40~85℃),工作电压2.7~5.5V、具有2K Words程序内存、SRAM为384 Bytes、触摸按键与I/O功能复用、支持I2C/SPI传输界面,并内建高精准度RC振荡器,LVR固定为2.55V,适合应用于含有LED面板之触控小家电产品,如电饭煲、电磁炉、电茶炉、抽油烟机、微波炉等。在产品开发阶段还提
[单片机]
51单片机案例实操 -- 倒车雷达
1. 倒车雷达 倒车雷达(PDC,Parking Distance Control)全称叫“倒车防撞雷达”,也叫“泊车辅助装置”,是汽车泊车或者倒车时的安全辅助装置,由超声波传感器(俗称探头)、控制器和显示器(或蜂鸣器)等部分组成。在倒车时,帮助司机“看见”后视镜里看不见的东西,以声音或者更为直观的显示告知驾驶员周围障碍物的情况,解除了驾驶员泊车、倒车和起动车辆时前后左右探视所引起的困扰,并帮助驾驶员扫除了视野死角和视线模糊的缺陷,提高驾驶的安全性。 案例采用STC89C52单片机做为主控,通过高精度超声波测量距离,STC89C52单片机接收超声波的测量距离信号并处理得到数据,可实时显示在OLED上; 当测量距离小于安全距离时
[单片机]
MSP430单片机I/O端口控制特点
MSP430的I/O端口可以实现双向的输入、输出;完成一些特殊功能如:驱动LCD、A/D转换、捕获比较等;实现I/O各种中断。MSP430采用了传统的8位端口方式保证其兼容性,即每个I/O端口控制8个I/O引脚。为了实现对I/O端口每一个引脚的复杂控制,MSP430中的每个I/O口都对应一组8位的控制寄存器(如图1)。寄存器中的每一位对应一个I/O引脚,实现对该引脚的独立控制。寄存器的功能和数目是由该I/O口所能完成的功能以及类型确定的。 图1为MSP430的一个I/O端口的控制结构示意图。对于最基本的只能完成输入、输出功能的I/O端口其控制寄存器只有3个。其中,输入寄存器保存输入状态;输出寄存器保存输出的状态,方向寄存器控制
[单片机]
在进行单片机设计时需要注意哪些事项
1.降低外时钟频率 外时钟是高频的噪声源,除能引起对本应用系统的干扰之外,还可能产生对外界的干扰,以8051单片机为例最短指令周期1μs时,外时钟是12MHz。而同样速度的Motorola单片机系统时钟只需4MHz微控制器产生的最有影响的高频噪声大约是时钟频率的3倍。 2.低噪声系列单片机 改进的技术将电源、地安排在两个相邻的引脚上,外部去耦电容在PCB设计上更容易安排。 3.时钟监测电路、看门狗技术与低电压复位 时钟监控有效与省电指令STOP是一对矛盾。只能使用其中之一。 看门狗技术是监测应用程序中的一段定时中断低电压复位技术是监测单片机电源电压,当电压低于某一值时产生复位信号。由于单片机技术的发展,单片机本身对电源电压
[单片机]