<!-- 本文件由脚本自动转换生成，请勿手动编辑 -->

> **《LKS32MC45x User Manual》IWDG 独立看门狗** . 完整目录见 [README.md](README.md)
>
> **声明**：本文档由芯片用户手册自动转换生成，仅供检索与查阅参考。Markdown 格式可被自由编译、修改，本文档不构成正式技术文件，相关内容以凌鸥创芯官方网站正式发布的手册为准。
>
> 南京凌鸥创芯电子有限公司 . (C) 2020, 版权归凌鸥创芯所有 . 机密文件，未经许可不得扩散

# IWDG 独立看门狗

## 概述

独立看门狗使用32kHz
低速RC(LRC)时钟进行工作，在系统主时钟故障的情况下仍可保证正常工作。由于LRC时钟精度不如系统高速时钟，独立看门狗可用于对超时时间精确性要求不高的应用场景。

独立看门狗内部包含一个21bit递减计数器。独立看门狗可以配置产生系统深度休眠（时钟关闭或电源关闭）唤醒源，在超时情况下也可以产生全芯片复位信号。当MCU进入深度休眠状态时，包括PLL/HRC在内的系统时钟关闭，而LRC是一直存在的，所以独立看门狗可以继续正常工作；甚至在系统进入Standby模式大部分电路进入掉电状态，LRC和IWDG仍是正常工作的。

通常看门狗的定时唤醒门限值小于超时复位门限值，但大于0x8，即独立看门狗重新装载后从IWDG_RTH开始递减计数，当计数到IWDG_WTH时产生唤醒信号。通常如果要使用IWDG进行深度休眠定时唤醒，在进入休眠前将IWDG刷新重置，IWDG从IWDG_RTH开始递减计数，在经过相对准确的休眠时间后被IWDG唤醒。如果不使能IWDG深度休眠定时唤醒，当IWDG产生全芯片复位时也可以将芯片从深度休眠中解除，但同时会复位MCU所有寄存器配置。

独立看门狗超时复位时间由如下公式计算

Timeout<sub>IWDG</sub>=t<sub>LRC</sub>×(IWDG_RTH-7)

独立看门狗唤醒时间由如下公式计算

Wakeup<sub>IWDG</sub>=t<sub>LRC</sub>×(IWDG_RTH-IWDG_WTH)

其中Timeout<sub>IWDG</sub>为独立看门狗超时复位时间，Wakeup<sub>IWDG</sub>为独立看门狗唤醒时间，t<sub>LRC</sub>为LRC时钟周期，1/32kHz=31.25uS，IWDG_RTH为独立看门狗超时复位门限值，IWDG_WTH为独立看门狗唤醒门限值。

IWDG_RTH=0x001000对应独立看门狗最小复位时间间隔为4096/32kHz = 0.128s。

IWDG_RTH=0x1FF000对应独立看门狗最大复位时间间隔为511×4096/32kHz =
65.408s。

关于IWDG喂狗跨时钟同步问题：

由于IWDG的计数器工作于LRC时钟域，而软件运行于系统主时钟域，通常为PLL时钟。当软件通过写入IWDG_RTH或写入IWDG_CLR进行喂狗时，从软件进行写入到看门狗计数器被重置，需要最多3个LRC时钟周期。

因此如果软件需要在喂狗后读取IWDG_CNT，至少需要延时3个LRC时钟周期，读取IWDG_CNT才会发现计数器被重置。

软件写入修改IWDG_RTH/IWDG_WTH/IWDG_CFG/IWDG_PSW
等寄存器，写入立即生效，无须等待。只有IWDG_CNT的重置会延时生效。

【图片已删除】为控制知识库体积，本文档不携带图片，相关图示请查阅凌鸥创芯官网发布的正式手册。

图24-2常规休眠模式进入与唤醒流程图

## Standby Mode 停机模式

停机模式可使芯片功耗降至最低。停机模式在深度休眠模式的基础上，进一步将大部分数字电路断电。但LSI时钟、功耗管理模块PMU、复位管理模块RMU、独立看门狗模块IWDG仍正常工作，后备存储器BRAM在进入停机模式后不断电，可以提供128Bytes大小的存储空间用于保持停机模式前的系统关键数据。

此外，IO唤醒使能极性选择，系统复位、休眠、唤醒事件记录寄存器不断电。

停机模式下所有IO处于高阻态，IO唤醒信号从PAD直接送入芯片内部唤醒逻辑。

### 模式进入

设置PWR_CFG.PG为1，设置CPU内核System Control Register
SLEEPDEEP为1，通过执行WFI/WFE指令进入停机模式。

如果只配置了PWR_CFG.PG为1，而SLEEPDEEP为0，则执行WFI/WFE指令后芯片进入休眠模式而不是停机模式。

### 模式退出

IO唤醒或IWDG定时唤醒信号可将芯片从深度休眠中唤醒。

外部复位或IWDG复位可复位全芯片，也可以解除深度休眠状态。

注意：此时Debug操作无法将芯片从停机模式中唤醒。

在应用程序编写中请尽量避免上电即进入休眠状态，且进入休眠模式前应设置合理的唤醒源。

