打印
[文档下载]

N76E003 看门狗定时器 WDCON

[复制链接]
1642|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
alvpeg|  楼主 | 2024-6-20 21:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一、复位功能配置

N76E003 提供一个看门狗定时器(WDT),它可以配置成一个超时复位定时器用于复位整个设备。一旦由于外界干扰设备进入非正常状态或挂起,看门狗可以复位恢复系统。

二、通用定时器配置

WDT带一个独立的分频器用于分频10K LIRC时钟。分频器的时钟分频可选,来决定超时间间隔。当达到超时间隔,系统会被从空闲或掉电模式唤醒,且如果WDT中断使能会产生一个中断事件。如果WDT初始化为一个超时复位定时器,在经过一个延时周期而软件没有任何动作后会产生系统复位。


超时复位定时器
当配置 CONFIG 位 WDTEN[3:0] (CONFIG4[7:4]) 不是 FH时,WDT将初始化为一个超时复位定时器。如果WDTEN[3:0] 不是 5H, WDT在系统进入空闲或掉电模式后允许继续运行。注意当WDT初始化为超时复位定时器时,WDTR 和 WIDPD 没有作用。

1.设备上电 --> 执行软件代码,同时WDT开始计数。超时间隔时间通过WDPS[2:0] (WDCON[2:0])配置。
2.配置的超时事件发生–> WDT会置位中断标志WDTF (WDCON.5)。
3.如果WDT中断使能位EWDT (EIE.4)和全局中断使能EA都置位,WDT中断程序被执行。
4.如果系统在正常运行中,在512个LIRC时钟延时期间,系统可通过置位WDCLR来清零计数器来避免系统被WDT复位。
5.如果在这512个LIRC时钟内没有写1到WDCLR,WDT复位将会发生。
6.置位WDCLR位用来清零WDT计数器。
7.如系统正常运行,该位是自我清零。
8.一旦WDT复位发生,WDT复位标志WDTRF (WDCON.3)将会被置位,除上电复位之外的其他任何复位后,该位都保持不变。
9.用户可以通过软件清零WDTRF。注意WDCON的所有位有写入时序要求。

注意:WDT计数器需特别注意。硬件会自动清除WDT计数器和预分频数值在下面事件发生后:
(1)进入空闲或掉电模式,或被唤醒从空闲或掉电模式
(2)重启。它能阻止不可预测的系统重启。
2.1 看门狗定时器复位的主要应用是系统监测,这对于实时控制系统来说这很重要。在一些电源干扰,电磁干扰,CPU可能执行错误代码,或进入不可控制的状态。如果发生这些情况不加以控制,系统有可能崩溃。
2.2 使用看门狗定时器用户可选择理想的“喂狗”时间来清除WDT计数器。
2.3 通过指令置位 WDCLR, 可使程序继续运行而不看门狗定时器复位。如果干扰引起代码运行在错误的状态下,导致无法及时清除看门狗定时器,将引起芯片复位,使系统从错误的状态恢复过来。
2.4 如下条件会造成WDT复位失效,请避免。当CKDIV有设定值(不等于00H),说明系统频率除频生效,此时如果进入掉电模式,WDT复位会失效。建议对于掉电模式唤醒的应用,采用WKT唤醒。

通用定时器
看门狗定时器的另一个应用是用作简单的,长周期定时器。当CONFIG 位 WDTEN[3:0] (CONFIG4[7:4]) 是
FH,WDT初始化为通用定时器。在这种模式下,WDTR 和 WIDPD 是可以通过软件进行访问操作。

  • 看门狗定时器通过设置WDTR为1开始运行,通过清零WDTR停止。
  • 当WDT配置的时间间隔到后,WDTF标志会置位。可通过软件查询WDTF标志来侦测是否超时。
  • 如果EWDT (EIE.4)和EA置位,WDT会产生中断,接着WDT会继续计数。
  • 用户必须清零WDTF并等待下一次溢出,通过查询WDTF标志或等待中断发生。
  • 在一些低功耗的应用中,为节省功耗,CPU在没有处理事件时常处于空闲模式。
  • 通过运行定时器0~3,周期性的的唤醒察看是否有需求响应,然后这种空闲模式下耗电量将达到毫安(mA)级,为了减少耗电量达到微安(μA)级的要求,当没有需求需要相应的时候,CPU应该停留在掉电模式,并且可以通过编程的时候间隔来唤醒。
  • N76E003配备了很有用的WDT唤醒功能,由于基于内部10kHz的RC时钟源,看门狗定时器功耗非常低,它能够在掉电模式下计数并唤醒CPU。

使用特权

评论回复
沙发
643757107| | 2024-6-20 21:57 | 只看该作者
这个型号看门钩比较特殊,需要用配置字配置使用。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

31

主题

1439

帖子

0

粉丝