历史上的今天
返回首页

历史上的今天

今天是:2025年01月20日(星期一)

正在发生

2021年01月20日 | 快速学Arm(13)--看门狗(WatchDog)

2021-01-20 来源:eefocus

WatchDog,中文为"看门狗",老外起的名字有时很有趣也很贴切,这些从事技术的老外对生活总是充满了乐观的态度,把工作当成乐趣而不要认为他是痛苦的事情,这样才能把工作做好.否则就不要去做,不仅仅是为了不至于让你变得忧郁,关键是天天做自己认为痛苦的事情,其最终的结果往往也是痛苦的.


一样,我总是喜欢用自己的理解而不是无聊的术语来讲解我所理解的东西.WatchDog是为了能够防止程序跑飞而使用的一种东西.如果你的程序没有跑飞,那么你的程序会定时的去喂的看门狗,如果你的程序跑飞了,那么就不会再去喂狗了,如果超过了喂狗的时间,那么狗就会自己生成一个信号来重新reset你的CPU,重新开始.这是一种在很重要的情况下防止系统跑飞的一种方法.一般的程序也许不需要,但在特殊的情况下可能会需要这种机制.

 

我们在上一篇的图中,第一个地址段就是为看门狗设置的.

    快速学Arm(13)--看门狗(WatchDog)

可以看一下实际的电路.SP706的(-RST)输出低电平时会使LPC2478的CPU复位.对于PFI,-PFO两个管脚来讲,当PFI得电压监控输入地于1.25V时,-PF0会置为LOW.但因为PFI在这里接地,-PFO置空,因此没有使用这一功能.


因为-MR,-WDO相连接,因此当Vcc低于复位值,-RST将输出200ms的LOW脉冲.并且如果WDI输出保持高电平1.6s时,看门狗超时,-WDO将置为LOW,也就将-MR置低,一旦-MR置低,-RST便置低,也就将CPU复位.


当WDI超过1.6s没有来脉冲,也会导致-WDO输出低电平,同理也会是-RST产生复位信号.


在文档中介绍超时时间是1.6s,电路中标识为1.2s.我也有点不理解,没有细研究其原因.而控制看门狗的APB寄存器大概是这样的:

Name      Description                                    Access  ResetValue[1]  Address
WDMOD     Watchdog mode register. This register contains 

         the basic mode and status of the Watchdog Timer. R/W    0              0xE000 0000
WDTC     Watchdog timer constant register. This register

          determines the time-out value.                  R/W    0xFF           0xE000 0004
WDFEED    Watchdog feed sequence register. Writing 0xAA
         followed by 0x55 to this register reloads the
         Watchdog timer with the value contained in
         WDTC.                                           WO     NA             0xE000 0008
WDTV     Watchdog timer value register. This register

          reads out the current value of the Watchdog
         timer.                                          RO     0xFF            0xE000 000C
WDCLKSEL  Watchdog clock source selection register.       R/W    0              0xE000 0010   

读书的时候,老师总是要求学生学好英语,学理工科的孩子总是不喜欢,没办法,自己看吧.


看门狗我们也没有必要把他研究得那么明白,讲这东西只是讲个道理,我也懒得把他解释得完全正确,如果中间讲的有问题,大家包涵,以便大家能够理解硬件电路,寄存器以及程序之间的关系.实际上,我们按照参考设计去做就可以了,在应用中,改动看门狗的情况应该不多.


推荐阅读

史海拾趣

GE Industrial Solutions公司的发展小趣事
使用噪声测试仪测量输出信号的噪声水平,确保满足应用需求。
Anpec(茂达)公司的发展小趣事

Anpec(茂达电子)自1997年创立之初,就肩负着提升国内电源模拟设计环境、建立自主模拟及电源相关产业的使命。初期,公司规模虽小,但志向远大。面对国内外市场的激烈竞争,茂达电子凭借对技术的执着追求和对市场的敏锐洞察,逐步在模拟集成电路设计领域站稳脚跟。

ANOVA公司的发展小趣事

面对日益复杂多变的电子市场环境,ANOVA公司始终保持着清醒的头脑和敏锐的洞察力。无论是疫情带来的供应链挑战,还是技术更新换代带来的竞争压力,ANOVA都能迅速应对,不断调整策略,确保公司的稳健发展。同时,ANOVA也积极展望未来,不断探索新的业务领域和技术方向,以期在电子行业中继续保持领先地位。

这五个故事只是ANOVA公司发展过程中的冰山一角,但它们足以展现出ANOVA公司如何在电子行业中逐步崛起,成为一支不可忽视的力量。ANOVA以其卓越的技术实力、全球化的布局和紧密的合作伙伴关系,不断推动着电子行业的发展和进步。

Components Corporation公司的发展小趣事

ANOVA深知,成功的关键在于与合作伙伴的紧密合作。因此,公司始终与客户保持紧密的合作关系,共同开发特定的解决方案,协助制定部署策略。ANOVA的服务团队以客户的需求为导向,以十几种语言提供个性化的服务,确保每一位客户都能得到满意的解决方案。此外,ANOVA还积极与商业伙伴合作,共同开拓市场,实现共赢。

Anixter Inc公司的发展小趣事

ANOVA公司的故事始于2018年,当时四个在物联网领域颇具影响力的品牌——Dataonline、Wikon、Wesroc和Itank,看到了工业远程监控领域的巨大潜力和商机,于是决定联手共创未来。这四个品牌都拥有超过一个世纪的工业监控经验,它们的联合不仅仅是资源的整合,更是技术与智慧的融合。ANOVA的创立,标志着电子行业中一个新的力量正在崛起。

Carling Technologies公司的发展小趣事

面对日益激烈的市场竞争和技术变革,Carling Technologies始终保持着对技术创新的热情。公司投入大量资源进行产品研发和技术升级,推出了一系列具有创新性和高性能的产品。例如,在数据通信/电信领域,公司提供了全系列的创新型高性能、可靠的液压磁力断路器,满足了市场对高效、稳定产品的需求。这些技术创新和产品升级不仅提升了公司的竞争力,也为客户提供了更好的解决方案。

以上五个故事是基于Carling Technologies公司的发展历程和常识进行的概述,旨在描述其在电子行业中的发展和成就。请注意,这些故事是基于现有信息和常识的推测,并不代表公司实际发展的具体细节。如果您需要更详细的信息或故事,建议您查阅公司官方网站、新闻稿或相关行业报告。

问答坊 | AI 解惑

蓝牙技术在汽车中的应用

基于微控制器的系统发展日趋精密,给汽车应用带来了新功能,同时也给这些产品认证工程带来了新挑战。随着 RF 技术(如蓝牙和 Wi-Fi)应用越来越广泛,在解决管理条例遵守和法律责任问题方面带来更高的要求。这些问题包括新技术之间的兼容性、新技术 ...…

查看全部问答>

Everyday.Practical.Electronics.Magazine.37-02.-.Jan.2008

Everyday.Practical.Electronics.Magazine.37-02.-.Jan.2008 [ 本帖最后由 tecfighter 于 2009-3-4 07:57 编辑 ]…

查看全部问答>

求教个问题朋友们

我在做51单片机实验时,用的双龙下载软件,结果怎么总是提示:打印口没有下载线。。。怎么回事?不过可以确认的是绝对不是下载线和并口没有接触好。…

查看全部问答>

LPC1114 第一个程序

收到开发板 今天上午 做啦下串口的实验, 其实是很简单的程序 开发 人员已经给设计的差不多啦, 只要做少许的修改 添加上自己的动能就好啦 希望大家多多支持 !! 多提些宝贵的意见!!!共同交流, 共同学习!! [ 本帖最后由 lanyu345 于 2010-4 ...…

查看全部问答>

如何通过蓝牙obex下载手机电话本?

请问如何通过蓝牙obex协议下载手机电话本? 不要用PBAP,因为很多手机不支持。…

查看全部问答>

请教wince内存拷贝问题

请教一个问题,在WINCE下,我用HalAllocateCommonBuffer申请了一块内存用来DMA传输,然后通过memcpy将这块内存里面的内容拷贝到另一个区域,现在发现memcpy耗费的时间很长,跟普通用new alloc等申请的内存拷贝相比,慢了大概50倍,想请教这是什么原 ...…

查看全部问答>

我修改了WINCE500\PUBLIC\COMMON\OAK\DRIVERS\TOUCH\TCHMAIN\tchmain.c,但为什么对应生成的touch.dl

按理说对上述的工程进行\"build current project\",应产生对应的dll,但是没有,为什么?应怎样做才行?…

查看全部问答>

如何计算FPGA设计频率

我们的设计需要多大容量的芯片?我们的设计能跑多快?这是经常困扰工程师的两个问题.对于前一个问题,我们可能还能先以一个比较大的芯片实现原型,待原型完成再选用大小合适的芯片实现.对于后者,我们需要一个比较精确的预估,我们的设计能跑50M,100M 还 ...…

查看全部问答>

(紧急求助)STM32F101C8T6FLASHDownload失败

    我使用STM32F101C8T6J进行产品开发,在KEIL环境下可以使用ULINK1在SRAM内进行调试,但是发现不能对其FLASH进行调试或下载。也不能通过Boot loader下载。测试条件如下:    我使用的是自己焊 ...…

查看全部问答>