IWDG

简介

Nuclei IWDG(独立看门狗)最适用于要求看门狗作为主应用程序之外的完全独立进程运行,但具有较低定时精度约束的应用。它用于检测和解决软件故障引起的故障,并触发系统复位。

主要特性

IWDG的主要特性如下:

  • 自由运行递减计数器

  • 当32位递减计数器值达到0x0000_0000时复位(如果看门狗激活)

  • 在JTAG调试模式下计数器冻结

功能描述

当通过向密钥寄存器(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中寄存器的偏移地址所示。

表 8.1: IWDG中寄存器的偏移地址

偏移量

寄存器名称

功能描述

0x0

IWDG_KR

密钥寄存器

0x4

IWDG_PR

预分频器寄存器

0x8

IWDG_RLR

重装载寄存器

0x20

IWDG_VER

IP版本

IWDG_KR

地址偏移:0x0

表 8.2: IWDG_KR的格式

字段

位

访问

复位值

描述

KEY

31:0

RW

0x0

  • 这些位必须由软件定期写入密钥值 AAAAh,否则当计数器达到 0 时看门狗会产生复位

  • 写入密钥值 5555h 启用对 IWDG_PR 和 IWDG_RLR 寄存器的访问

  • 写入密钥值 CCCCh 启动看门狗(除非选择了硬件看门狗选项)

IWDG_PR

地址偏移:0x4

表 8.3: IWDG_PR的格式

字段

位

访问

复位值

描述

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

表 8.4: IWDG_RLR的格式

字段

位

访问

复位值

描述

RL

31:0

RW

0xffffffff

  • RL[31:0]: 看门狗计数器重装载值

  • 它们由软件写入,用于定义每次在 IWDG_KR 寄存器中写入值 AAAAh 时要加载到看门狗计数器中的值

  • 看门狗计数器从该值开始递减计数,超时周期是该值和时钟预分频器的函数

  • 读取该寄存器返回计数器值

IWDG_VERSION

地址偏移:0x20

表 8.5: IWDG_VER的格式

字段

位

访问

复位值

描述

VERSION_NUM

31:0

RO

0x00_01_01_02

IWDG 的 IP 版本

注意:IWDG_VERSION寄存器仅在IWDG设计的完整配置中可用,否则为保留。