×
单片机 > 单片机程序设计 > 详情

ARM学习之---看门狗(WatchDog)

发布时间:2020-06-20 发布时间:
|
WatchDog,中文为"看门狗",老外起的名字有时很有趣也很贴切,这些从事技术的老外对生活总是充满了乐观的态度,把工作当成乐趣而不要认为他是痛苦的事情,这样才能把工作做好.否则就不要去做,天天做自己不喜欢的事情,其结果是很痛苦的.

一样,我总是喜欢用自己的理解而不是无聊的术语来讲解我所理解的东西.

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

 

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

    

    可以看一下实际的电路.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                                             0xE000 0010   

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

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

关键字:ARM学习  看门狗  WatchDog

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
单片机的抗干扰措施有哪些