关于软件硬件看门狗

发布者:纯真年代最新更新时间:2013-04-10 来源: 21ic关键字:软件硬件  看门狗  mpc860 手机看文章 扫描二维码
随时随地手机看文章

看门狗Watch Dog 是一个很重要的资源他能够有效的防止系统进入死循环或者程序跑飞。

工作原理:在系统运行以后也就启动了看门狗的计数器,看门狗就开始自动计数,如果到了一定的时间还不去清看门狗,那么看门狗计数器就会溢出从而引起看门狗中断,造成系统复位。

看门狗是类似与硬件保护卡之类.保护硬盘数据的.

是单片机一个复位芯片,在单片机遇到异常情况之下自动复位!~~

看门狗电路是用来看着你的CPU的,作用是不让你的程序丢失。

看门狗实际上是一个计数器,一般给看门狗一个大数,程序开始运行后看门狗开始倒计数。如果程序运行正常,过一段时间CPU应发出指令让看门狗复位,重新开始倒计数。如果看门狗减到0就认为程序没有正常工作,强制整个系统复位。

一般是为了程序进入死循环或死机!有的单片机不需外加看门狗电路(PIC)。

看门狗定时器对微控制器提供了独立的保护系统.当系统出现故障时,在可选的超时周期之后,看门狗将以RESET信号作出响应.像x25045就可选超时周期为1.4秒,600毫秒,200毫秒三种.当你的程序死机时,x25045就会使单片机复位.

硬件看门狗WatchDog

是一个自我保护装置.他时刻监视系统的运行.一旦系统运行不正常.看门狗会复位系统.实际上看门狗是一个计时器.你要让这个计时器置零前给她一个信号.让他重新计时.这样起到一个监视系统运行的作用.

一般很多MCU带有这个电路。但是你可以不使用它。这样在上电的时候禁止他。如果你要使用watchdog,那么你的系统就必须每隔一段时间给这个电路一个信号。

如果你说的是软件看门狗,那么它的意思是:你可以创建一个看门狗,创建后开始计时,如果中间不被取消什么的,一段时间之后--这个时间通常都可以有你自己指定--它就会触发,而且你可以指定看门狗触发时执行一个你自己提供的看门狗函数。

那么它的使用就可以是这样的:为了确认程序会不会走到某个地方,你可以先创建一个看门狗,然后在要确认的地方调用一个取消看门狗计时的函数,如果程序确实走到了那个地方,看门狗被取消,那么看门狗函数就不会被执行;如果看门狗函数被执行了,说明程序没有走到该处,表明出现了什么错误。这就是看门狗的使用。

motorola[page]

mpc860这个芯片有个软件看门狗,当定时到时,芯片会复位。我看到别人的代码如下:

void

test(void)

{

启动看门狗

while(true)

{

...

}

}

照程序看来,如果看门狗不能停止的话,那肯定得重启了,但在这个程序中,它又如何的停止呢?看门狗用来在一定时间之后重启CPU,正常情况下不要它重启CPU,所以定期要“喂狗”,其实就是通知看门狗重新开始计时。这样一来,如果一切正常,看门狗每次在重启之前被触发重新计时,所以就永远不会重启。如果程序由于干扰等原因“跑飞”,不知道执行到什么地方去了,看门狗就没人喂了,时间一长,它就自动重启,程序恢复正常。

看门狗这东西是加强可靠性用的。

看门狗是不随主芯片时钟的停止而停止的,它是一个独立的计时单元,假如你在程序中使用并设置了看门狗寄存器,在系统加电后它就会启动,若在指定周期内没有重置看门狗寄存器(也就是大家常说的喂狗),系统将会重新启动。

这种设计为系统提供了极高的可靠性,即使系统死锁,也可以及时的自动恢复系统。

现在地绝大多数mcu都有这个

看门狗的主要操作一般有三种:启动,触发和停用.启动是指设置初始参数并调用中断以使看门狗开始工作;触发是指在看门狗的记数器的数值减为零以前对其恢复初始值;停用是指调用中断停止使用看门狗.在程序中应选择适当的地方对其进行触发选择时有许多讲究,程序比较大时会比较难确定,但使用它确实有很多优点不能说不容易用所以就不用

几乎所有的嵌入式操作系统都有看门狗任务,它的主要功能是防止系统死掉或者陷入死循环。也就是每个一定的时间就会执行看门狗任务,以reset系统.

喂狗的方式举个例子:在os任务调度的时候顺便触发一下看门狗,这样一旦任务长时间停止调度系统就会复位,这个功能实现起来很简单,并不需要应用程序多操什么心。

照一般的看门狗定时的使用方法一般为:

1。设置看门狗控制器;//初始化狗的唤醒时间,使能看门狗

2。睡眠;

//等待,或作其它的事

3。唤醒后检测中断位是否是由狗中断导致的唤醒

4。延时完成,继续其它程序

看门狗在启动的时候一般都会设置超时时间,超时时间按照一定的频率递减,减到零就复位,所以得定时将一个计时器更新到最大,防止减小到零。超时时间初始化时一般都是固定好的。

关键字:软件硬件  看门狗  mpc860 引用地址:关于软件硬件看门狗

上一篇:我的独立看门狗总结
下一篇:为什么要加看门狗?

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

STM32F030C6看门(独立+窗口)狗详细配置
1、(IWDG独立看门狗) 独立看门狗由内部低速时钟LSI提供计数时钟,8 位分频,12位计数,需要定期喂狗(重载数值 ReloadCounter),如果计数值减为0了,还没有重载数值,则会响应复位事件。 独立看门狗的配置代码: 总结:在1.6s内喂狗正常运行,大于1.6s没有喂狗,看门狗复位重启。 2、(WWDG窗口看门狗) 窗口看门狗由APB1(RCC_APB1Periph_WWDG)提供计数时钟,2 位分频,7位计数,需要定期喂狗(更新计数值),如果计数值减为0x40了,还未更新计数值,则会响应复位事件。 下图描述了两种窗口看门狗启动的情况: 窗口看门狗的配置代码: 总
[单片机]
STM32F030C6看门(独立+窗口)狗详细配置
STM32窗口看门狗和独立看门狗的区别
一、介绍: STM32看门狗分为独立看门狗和窗口看门狗两种,其两者使用调条件如下所示, IWDG和WWDG两者特点如下图所示: 独立看门狗的手册资料: 窗口看门狗的手册资料: 应当注意:在窗口看门狗中,当递减计数器在窗口外被重新装载,(若看门狗被启动)则产生复位 【注】图中的WDGTB为3表示2^3=8,表示8分频,最小时间910us也等于每次计数器减一所需要经过的时间:T(LSB),每隔910us减1。最大值也等于,设置重载(喂狗)值127时(最大),一个复位周期的时间就是最大值58.25ms,也就是所能维持进入复位的最大时间。 由于窗口看门狗使用的APB1的PCLK1,
[单片机]
STM32窗口<font color='red'>看门狗</font>和独立<font color='red'>看门狗</font>的区别
MSP430单片机WDT看门狗定时
看门狗定时器用来防止程序因供电电源、空间电磁干扰或其它原因引起的强烈干扰噪声而跑飞的事故。程序中设置看TL=WDTPW+WDTCNTCL,当程序跑飞不能及时清零看门狗,导致看门狗溢出复位,这样程序可以恢复正常运行状态。 1.记数单元WDTCNT:WDTCNT是16位增记数器,由MSP430选定的时钟电路产生的固定周期脉冲信号对记数器进行加法记数。 2.控制寄存器WDTCTL:WDTCTL由两部分组成,高8位用作口令,即5AH(头文件中定义为WDTPW),低8位是对WDT操作的控制命令时先写入口令WDTPW,口令写错将导致系统复位。读WDTCTL时不需口令,低字节WDTCTL的值,高字节读出始终为69H。 3.通过
[单片机]
STM32的IWDG(独立看门狗)详细用法
章参考资料:《STM32F4XX 中文参考手册》IWDG 章节。 1、IWDG简介:   STM32 有两个看门狗,一个是独立看门狗另外一个是窗口看门狗,独立看门狗号称宠物狗,窗口看门狗号称警犬,本章我们主要分析独立看门狗的功能框图和它的应用。独立看门狗用通俗一点的话来解释就是一个 12 位的递减计数器,当计数器的值从某个值一直减到 0 的时候,系统就会产生一个复位信号,即 IWDG_RESET。如果在计数没减到 0 之前,刷新了计数器的值的话,那么就不会产生复位信号,这个动作就是我们经常说的喂狗。看门狗功能由 VDD 电压域供电,在停止模式和待机模式下仍能工作。   2 、IWDG功能框图剖析 ①独立看门狗时钟 
[单片机]
STM32的IWDG(独立<font color='red'>看门狗</font>)详细用法
CubeMX 看门狗喂狗后复位问题
在用CubeMx生成代码后,调试发现看门狗总是会复位,后来发现是删除了不该删除的中断导致的,如下图
[单片机]
CubeMX <font color='red'>看门狗</font>喂狗后复位问题
Keil的软件仿真和硬件仿真
一、软件仿真 Keil有很强大的软件仿真功能,通过软件仿真可以发现很多将要出现的问题,Keil的仿真可以查看很多硬件相关的寄存器,通过观察这些寄存器值的变化可以知道代码有没有正常运行。这样可以避免频繁下载程序,延长单片机Flash寿命。 开始仿真之前,先配置一些选项。 1.在工程设置里设置好芯片型号和晶振频率。 2.在“Debug”选项卡中选择“Use Simulator”,表示使用软件仿真;选择“Run to main()”则表示跳过汇编代码,直接跳转到main函数开始仿真。设置下面的“Dialog DLL”项为“DARMSTM.DLL”和“TARMSTM.DLL”;parameter项为“-p
[单片机]
Keil的<font color='red'>软件</font>仿真和<font color='red'>硬件</font>仿真
联盛德 HLK-W806 (四): 软件SPI和硬件SPI驱动ST7735液晶LCD
ST7735介绍 ST7735是用于驱动最大162x132像素的TFT驱动芯片, 396(128*3色)x162线输出, 可以直接以SPI协议, 或者8位/9位/16位并行连接外部控制器. 显示数据可以存储在片内的132 x 162 x 18 bits内存中, 显示内存的读写不需要外部时钟驱动. ST7735有几种不同的型号: ST7735, ST7735R, ST7735S, -R和-S型号和初始型号功能一致, 但是增加了垂直滚动, 另外容忍更高的电压(最高到4.8V). 使用ST7735S的128x160 TFT LCD模块 连接 ST7735的LCD模块有128x128, 128x160等不同分辨率, 对外的接
[单片机]
联盛德 HLK-W806 (四): <font color='red'>软件</font>SPI和<font color='red'>硬件</font>SPI驱动ST7735液晶LCD
STM32-Keil软件仿真和硬件仿真/在线仿真
软件仿真和硬件仿真什么区别?软件仿真就是没有硬件参与的仿真,完全是模拟实现的。硬件仿真是将程序下载到控制芯片的FLASH或RAM中,直接在硬件上实现仿真。【有什么问题欢迎联系讨论,一起解决问题】 仿真这种东西,因为涉及到信任问题,用的好觉得好用,用不好可能会徒增麻烦——“还不如直接在硬件上调试靠谱”。但是总体上,仿真还是比较有用的,比如在排查软件问题(寄存器配置等)的时候,使用软件仿真是非常靠谱的。而如果涉及到硬件的问题(比如你的板子代码需要读取外部信号,或者输出信号等),可能需要用到硬件仿真,或者说在线仿真。关于仿真,网上的资料说的还是挺全的,这里只做总结。 一、软件仿真 1.1 仿真配置 首先确定仿真的硬件环境。点击魔
[单片机]
STM32-Keil<font color='red'>软件</font>仿真和<font color='red'>硬件</font>仿真/在线仿真
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐

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

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

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