USER GUIDE / DATA MOVEMENT & TIMERS / WDT / REGISTER DESCRIPTION
寄存器描述
WDT 时钟使能寄存器
WCLKST 包含 WDT 的定时器停止控制位,任何重置都会将其初始化为 0x00000000,它只能通过寄存器 WCLKEN 和 WCLKDIS 设置
WDT_CLK_STATUSBASE + 0x01C
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:17 | Reserved | 写入无影响,读取为零。 | R |
| 16 | WDTS | 0:使能 WDT 的时钟提供 1:停止 WDT 的时钟提供 | R |
| 15:0 | Reserved | 写入无影响,读取为零。 | R |
WDT 中断标志寄存器
WIR 包含所有通道的比较匹配标志位。它只能通过寄存器 WIRCLR 设置。任何重置都会将其初始化为 0x00000000。
WDT_IRBASE + 0x020
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:26 | Reserved | 写入无影响,读取为零。 | R |
| 25 | FFLAGW | WDT FULL 比较标志(WDTTCNT == TDR) 0:比较不匹配 1:比较匹配 | R |
| 24:0 | Reserved | 写入无影响,读取为零。 | R |
WDT 中断标志清除寄存器
WIRCLR 是只写寄存器,用于清除 WIR。
需要注意,此寄存器只有在 WDT 中断触发后,才可以配置为 1 进行清除中断的操作。
WDT_IR_CLRBASE + 0x028
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:26 | Reserved | 写入无影响,读取为零。 | R |
| 25 | FFCLW | 清除 WDT 的 FFLAG。 0:忽略 1:将 WDT 的 FFLAG 位清零 | W |
| 24:0 | Reserved | 写入无影响,读取为零。 | R |
WDT 时钟清除寄存器
WCLKDIS 是只写寄存器。用于设置 WCLKST。
WDT_CLK_DISABLEBASE + 0x02C
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:17 | Reserved | 写入无影响,读取为零。 | R |
| 16 | WDTSS | 设置 TSR 的 WDTS 位。 0:忽略 1:将 WDTS 位设置为 1 | W |
| 15:0 | Reserved | 写入无影响,读取为零。 | R |
WDT 中断屏蔽寄存器
WIE 是一个只读寄存器。用于 WDT 产生中断信号。任何复位都会将其初始化为 0x07FFFFFF。只能通过寄存器 WIESET 和 WIECLR 设置
WDT_IEBASE + 0x30
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:26 | Reserved | 写入无影响,读取为零。 | R |
| 25 | FMASKW | WDT 的 FULL 屏蔽。 0:不屏蔽比较匹配中断 1:比较匹配中断屏蔽 | R |
| 24:0 | Reserved | 写入无影响,读取为零。 | R |
WDT 中断屏蔽设置寄存器
WIESET 是一个 32 位只写寄存器,它包含所有通道的比较匹配标志屏蔽设置位。
WDT_IE_SETBASE + 0x034
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:26 | Reserved | 写入无影响,读取为零。 | R |
| 25 | FMSKW | 设置 WDT 的 FMASK。 0:忽略 1:将 FMASKW 设置为 1 | W |
| 24:0 | Reserved | 写入无影响,读取为零。 | R |
WDT 中断屏蔽清除寄存器
WIECLR 是只写寄存器,用于清除 WIE。
WDT_IE_CLRBASE + 0x38
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:26 | Reserved | 写入无影响,读取为零。 | R |
| 25 | FMCLW | 设置 WDT 的 FMASK。 0:忽略 1:将 FMASKW 设置为 0 | W |
| 24:0 | Reserved | 写入无影响,读取为零。 | R |
WDT 时钟使能设置寄存器
WCLKEN 是只写寄存器。用于清除 WCLKST
WDT_CLK_ENABLEBASE + 0x03C
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:17 | Reserved | 写入无影响,读取为零。 | R |
| 16 | WDTSC | 清除 TSR 的 WDTS 位。 0:忽略 1:将 WDTS 位清零 | W |
| 15:0 | Reserved | 写入无影响,读取为零。 | R |
WDT FULL 寄存器
寄存器 TDR 用于存储要与 WDT 计数器 TCNT 内容进行比较的数据。该寄存器可直接读写。
WDT_FULLBASE + 0x00
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:16 | Reserved | 写入无影响,读取为零。 | R |
| 15:0 | TDR | 寄存器 TDR 用于存储要与 WDT 计数器 TCNT 内容进行比较的数据。 | RW |
WDT 计数使能寄存器
WDT_CNT_ENABLEBASE + 0x04
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:1 | Reserved | 写入无影响,读取为零。 | R |
| 0 | TCEN | 计数器使能 1:使能 0:关闭 | RW |
WDT 计数器寄存器
WDT_COUNTBASE + 0x08
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:16 | Reserved | 写入无影响,读取为零。 | R |
| 15:0 | TCNT | WDT 计数器 | R |
WDT 控制寄存器
WDT_CONTROLBASE + 0x0C
| 位 | 名称 | 说明 | RW | ||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 31:11 | Reserved | 写入无影响,读取为零。 | R | ||||||||||||||||||||||||||||||||
| 10 | CLRZ | 写 1 时会将计数器清 0 | RW | ||||||||||||||||||||||||||||||||
| 9:6 | Reserved | 写入无影响,读取为零。 | R | ||||||||||||||||||||||||||||||||
| 5:3 | PRESCALE | 这些位选择 TCNT 计数时钟频率,通道运行时,请勿更改该字段。
| RW | ||||||||||||||||||||||||||||||||
| 2 | Reserved | 写入无影响,读取为零。 | R | ||||||||||||||||||||||||||||||||
| 1 | RTC_EN | 选择 RTC_clk 作为定时器时钟输入。 0:禁用 1:启用 | RW | ||||||||||||||||||||||||||||||||
| 0 | RST_MODE | WDT 复位模式选择: 在 WDT 使能关闭时才能改变配置(仅 HP 域 WDT 支持) 0:计数到 FULL 后即复位 与中断信号无关 1:计数到 FULL 后产生中断,清除中断后复位 | RW | ||||||||||||||||||||||||||||||||
软复位配置寄存器
WDT_SOFT_RSTBASE + 0x260
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:1 | Reserved | 写入无影响,读取为零。 | R |
| 0 | Soft_rst | 写 0 触发软复位,硬件自动恢复为 1 | W |
软复位状态寄存器
WDT_SOFT_RST_STBASE + 0x270
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:1 | Reserved | 写入无影响,读取为零。 | R |
| 0 | Soft_rst_st | 软复位结束后硬件自动置此位为 1;写 1 清 0 | WR |
看门狗计数器功能
复位模式选择 0(寄存器 0x0c bit0 = 0)
- 使用 CLEARZ 清除计数器(寄存器 0x0c)
- 设置计数器初始值(寄存器 0x08)
- 选择时钟,选择分频系数(0x0c)
- 使能 WDT 计数器(寄存器 0x04)
- 计数到达设定值后立刻产生复位
复位模式选择 1(寄存器 0x0c bit0 = 1)
- 使用 CLEARZ 清除计数器(寄存器 0x0c)
- 设置计数器初始值(寄存器 0x08)
- 选择时钟,选择分频系数(0x0c)
- 使能 WDT 计数器(寄存器 0x04)
- 计数到达设定值后产生中断,清除中断后,进行复位