本帖最后由 RunningX 于 2019-7-24 16:02 编辑
简介
看门狗定时器(WDG)是一个可供系统使用的独立定时器。可确保软件按计划执行,且CPU不会陷入死循环中或执行错误的代码。若WDG模块在规定时间内未得到刷新,它会复位MCU。
特性
1. 独立于总线时钟的可配置时钟源输入(内部32kHz RC振荡器、内部8MHz RC振荡器、外部XOSC时钟源); 2. 可编程超时周期(可编程的32位超时值;若需要更长超时周期,可选固定的256倍时钟预分频器); 3. 可实现计数器刷新的鲁棒性写入序列(先写0x02A602A6,后写入0x80B480B4); 4. 可选的窗口模式刷新机制(可编程32位窗口值;可通过鲁棒性检查判断执行刷新序列的时间是否早于预期;试图提前刷新会触发中断); 5. 允许后期诊断处理的可选超时中断(CPU中断请求,产生相应的中断向量,并可执行相应的中断服务例程;在中断向量产生128个总线时钟后,强制复位); 6. 看门狗配置只允许在复位后写入一次,确保无法误更改看门狗的配置; 7. 用于解锁只能写入一次的配置位的鲁棒性写入序列(先写入0x20C520C5后写入0x28D928D9的解锁序列,允许更新只能写入一次的配置位;软件必须在解锁后以及WDG关闭解锁窗口前的128个总线时钟内执行更新操作)
寄存器地址及功能
WDG基地址: 0x4000b000
详细的学习笔记代码,可参考附件,查阅《AC781X WDG模块应用笔记》,通过配置WDG_SAMPLE_SELECT来实现不同的WDG功能:
功能1:配置独立看门狗,超时周期为5S
功能2:配置窗口看门狗,超时周期为2S--5S;太早喂狗或者太晚喂狗都会重启
wdg_sample.rar
(160.59 KB)
|