IWDG ####### .. toctree:: :maxdepth: 3 :caption: 目录: 简介 ---- Nuclei IWDG(独立看门狗)最适用于要求看门狗作为主应用程序之外的完全独立进程运行,但具有较低定时精度约束的应用。它用于检测和解决软件故障引起的故障,并触发系统复位。 主要特性 -------- IWDG的主要特性如下: • 自由运行递减计数器 • 当32位递减计数器值达到0x0000_0000时复位(如果看门狗激活) • 在JTAG调试模式下计数器冻结 功能描述 ---------- .. figur/assets/images/ip/nuclei_iwdg_doc/images/IWDG_block_diagram.jpg :alt: 独立看门狗框图 :width: 100% 图 6.1: 独立看门狗框图 当通过向密钥寄存器(IWDG_KR)写入值0xCCCC启动独立看门狗时,计数器开始从复位值0xFFFF_FFFF递减计数。当它达到计数结束值(0x0000_0000)时,会产生复位信号(IWDG复位)。 每当在IWDG_KR寄存器中写入密钥值0xAAAA时,IWDG_RLR值就会重新加载到计数器中,并防止看门狗复位。 硬件看门狗 ---------- 如果通过设备选项位启用了"硬件看门狗"功能,看门狗会在上电时自动启用,除非在计数器达到计数结束之前由软件写入密钥寄存器,否则会产生复位。 寄存器访问保护 -------------- 对IWDG_PR和IWDG_RLR寄存器的写访问受到保护。要修改它们,必须首先向IWDG_KR寄存器写入代码0x5555。使用不同值对该寄存器的写访问将中断序列,寄存器访问将再次受到保护。这意味着它是重新加载操作的情况(写入0xAAAA)。 调试模式 -------- 当子系统进入调试模式时,IWDG计数器要么继续正常工作,要么停止,取决于接口状态(dbg_iwdg_stop)。 中断 ----- 此IP没有中断信号。 寄存器 -------- 寄存器描述 ~~~~~~~~~~~~ IWDG寄存器 ^^^^^^^^^^^^^^^^^^^ IWDG中的寄存器及其相应的偏移量如表8.1:IWDG中寄存器的偏移地址所示。 .. list-table:: 表 8.1: IWDG中寄存器的偏移地址 :header-rows: 1 :widths: auto * - 偏移量 - 寄存器名称 - 功能描述 * - 0x0 - IWDG_KR - 密钥寄存器 * - 0x4 - IWDG_PR - 预分频器寄存器 * - 0x8 - IWDG_RLR - 重装载寄存器 * - 0x20 - IWDG_VER - IP版本 IWDG_KR ^^^^^^^^^^^^^^^^^^^ 地址偏移:0x0 .. list-table:: 表 8.2: IWDG_KR的格式 :header-rows: 1 :widths: 12 10 10 10 58 * - 字段 - 位 - 访问 - 复位值 - 描述 * - KEY - 31:0 - RW - 0x0 - - 这些位必须由软件定期写入密钥值 AAAAh,否则当计数器达到 0 时看门狗会产生复位 - 写入密钥值 5555h 启用对 IWDG_PR 和 IWDG_RLR 寄存器的访问 - 写入密钥值 CCCCh 启动看门狗(除非选择了硬件看门狗选项) IWDG_PR ^^^^^^^^^^^^^^^^^^^ 地址偏移:0x4 .. list-table:: 表 8.3: IWDG_PR的格式 :header-rows: 1 :widths: 12 10 10 10 58 * - 字段 - 位 - 访问 - 复位值 - 描述 * - PR - 2:0 - RW - 0x0 - - PR[2:0]: 预分频器分频 - 它们由软件写入,用于选择馈送计数器时钟的预分频器分频 - 3'b000: 分频/4 - 3'b001: 分频/8 - 3'b010: 分频/16 - 3'b011: 分频/32 - 3'b100: 分频/64 - 3'b101: 分频/128 - 3'b110: 分频/256 - 3'b111: 分频/512 * - 保留 - 31:3 - / - 0x0 - / IWDG_RLR ^^^^^^^^^^^^^^^^^^^ 地址偏移:0x8 .. list-table:: 表 8.4: IWDG_RLR的格式 :header-rows: 1 :widths: 12 10 10 10 58 * - 字段 - 位 - 访问 - 复位值 - 描述 * - RL - 31:0 - RW - 0xffffffff - - RL[31:0]: 看门狗计数器重装载值 - 它们由软件写入,用于定义每次在 IWDG_KR 寄存器中写入值 AAAAh 时要加载到看门狗计数器中的值 - 看门狗计数器从该值开始递减计数,超时周期是该值和时钟预分频器的函数 - 读取该寄存器返回计数器值 IWDG_VERSION ^^^^^^^^^^^^^^^^^^^ 地址偏移:0x20 .. list-table:: 表 8.5: IWDG_VER的格式 :header-rows: 1 :widths: 12 10 10 10 58 * - 字段 - 位 - 访问 - 复位值 - 描述 * - VERSION_NUM - 31:0 - RO - 0x00_01_01_02 - IWDG 的 IP 版本 注意:IWDG_VERSION寄存器仅在IWDG设计的完整配置中可用,否则为保留。