FM33LE026独立看门狗功能用于监视系统运行,如果 CPU 运行异常,无法定时清狗,则看门狗在溢出后产生全局复位信号,重启系统,以避免系统锁死。独立看门狗在芯片上电后由软件启动,启动后无法关闭,直到芯片发生复位。
为了便于调试,在以下情况下 IWDT 会停止运行:
当芯片处于调试模式时,软件可以通过配置 DBG_CR 寄存器在调试过程中暂停 IWDT
当 OPTBYTES 中 IWDTSLP 有效时,软件可以在休眠模式下暂停 IWDT 计数
IWDT 核心是一个 12bit 向上计数器,复位后从 0 开始递增,计数到溢出后触发 IWDT 复位。IWDT 复位是一个全局复位,效果等同于上下电复位。
IWDT 使用 LSCLK 工作,结合停振检测电路,确保在 XTLF 低频晶振停振时也不会停止运行。IWDT 带有除 128 预分频器,计数器长度为 12bit。
IWDT 支持可编程窗口功能,软件只能在允许的窗口内清狗,窗口外清狗将触发 IWDT 复位。
结构框图

IWDT 功能描述
CPU 正常运行时,看门狗应使用较短的溢出周期,而在 SLEEP/DEEPSLEEP 等低功耗模式下,为了使芯片尽可能长时间的停留在低功耗模式下,则看门狗应使用较长的溢出周期。
为了兼容两者的不同应用需求,软件可以实时修改 IWDT 的溢出周期配置。为避免不当操作引发不
可预计的后果,软件在更新溢出周期配置时应遵循以下操作步骤:
确保看门狗正在运行
首先进行一次清狗操作
随后改写 IWDT_CR 寄存器,选择合适的溢出周期
读 IWDT_CR,确保写入正确
溢出周期更新完毕,CPU 正常运行
IWDT 使用 LSCLK 工作,内部预分频 128,分频后的计数器溢出长度可配置为 1~4096(共 8 个可用档位),溢出时间长度计算公式如下:

IWDT 窗口功能
IWDT支持可编程清狗窗口功能。IWDT_WIN寄存器用于定义允许的清狗窗口,只有当计数器计数值大于等于IWDT_WIN的值时,清狗操作才是合法的,在窗口之外清狗将会直接出发IWDT复位。
芯片复位后IWDT_WIN为全0,即默认允许软件在任何位置清狗。
软件可以在IWDT运行过程中实时修改IWDT_WIN寄存器。软件清狗时必须读取并确认当前计数值是否在允许清狗的范围内。
当IWDT计数值进入清狗窗口时,IWDT会触发一个中断标志寄存器,通知软件当前计数值已经进入清狗窗口。

IWDT 冻结
用户可以通过OPTBYTES配置是否允许IWDT在休眠模式下冻结计数,OPTBYTES需要使用复旦微专用编程器配置。
当OPTBYTES中的IWDTSLP有效,并且软件将IWDT_CR.FREEZE寄存器置位时,当芯片进入Sleep/DeepSleep模式,IWDT计数值自动冻结(注意不是关闭IWDT,只是计数值保持当前值不再递增)。
寄存器

IWDT 清除寄存器(IWDT_SERV)

IWDT 配置寄存器(IWDT_CR)


IWDT 计数值寄存器(IWDT_CNT)

IWDT 窗口寄存器(IWDT_WIN)

IWDT 中断使能寄存器(IWDT_IER)

IWDT 中断标志寄存器(IWDT_ISR)


如有型号采购及选型需求,可直接联系兆亿微波电子元件商城。