历史上的今天
今天是:2025年07月07日(星期一)
2020年07月07日 | STM8 独立看门狗(IWDG)
2020-07-07 来源:eefocus
STM8独立看门狗介绍
独立看门狗模块可以用于解决处理器因为硬件或软件的故障所发生的错误。它由一个内部的128kHz的LSI阻容振荡器作为时钟源驱动,因此即使是主时钟失效时它仍然照常工作。
独立看门狗功能说明
图24是STM8独立看门狗模块的功能框图。
当在键寄存器(IWDG_KR)中写入数值0xCC后,独立看门狗就被启动了,计数器开始从它的复位值0xFF开始递减计数,当计数减到0x00时就会产生一个复位信号(WDG RESET)。
使用IWDG_PR和IWDG_RLR寄存器配置独立看门狗。IWDG_PR寄存器是用于选择驱动计数器时钟的预分频系数。每当KEY_REFRESH的数值(0xAA)写入到IWDG_KR寄存器时,独立看门狗将用IWDG_RLR的数值刷新计数器的内容,从而避免了产生看门狗的复位。
IWDG_PR和IWDG_RLR寄存器具有写保护功能,要修改它们前,需首先在IWDG_KR寄存器写入KEY_ACCESS代码(0x55);在IWDG_KR写入0xAA将恢复写保护状态。

(图24:STM8独立看门狗框图)
硬件看门狗功能
如果在IWDG_HW选择字节中使能了硬件看门狗的功能,在芯片上电时看门狗的功能被自动开启,如果软件不能及时操作键寄存器,则在计数器达到0x00时产生复位。关于选择字节的内容请参考数据手册中的说明。超时周期
超时周期由计数器数值和时钟预分频器决定,下表列出了它们的数值。

(表26:STM8看门狗超时周期(假定计数器时钟为64kHz) )
键寄存器(IWDG_KR)
地址偏移值:0x00
复位值:未定义

| 位7:0 | KEY[7:0]:键值 软件必须在规定的时间内写入KEY_REFRESH数值,否则当计数器数值达到0时,看门狗会产生一个复位。 KEY_ENABLE数值=0xCC 写入KEY_ENABLE数值将启动IWDG。 KEY_REFRESH数值=0xAA 写入KEY_REFRESH数值将刷新IDDG。 KEY_ACCESS数值=0x55 写入KEY_ACCESS数值将允许对受保护的IWDG_PR和IWDG_RLR寄存器的操作 |
|---|
预分频寄存器(IWDG_PR)
地址偏移值:0x01
复位值:0x00

| 位7:3 | 保留,必须保持为0。 |
|---|---|
| 位2:0 | PR[2:0]:预分频系数 这些位是写保护的。它们用于指定对计数器时钟分频的分频系数。 000:分频系数=4 001:分频系数=8 010:分频系数=16 011:分频系数=32 100:分频系数=64 101:分频系数=128 110:分频系数=256 111:保留 |
重装载寄存器(IWDG_RLR)
地址偏移值:0x02
复位值:0xFF

| 位7:0 | RL[7:0]:看门狗计数器重装载数值 这些位是写保护的(见14.2)。每次在IWDG_KR寄存器中写入0x 被传送到看门狗的计数器中,看门狗的计数器将重新从这个值开和时钟的预分频系数决定,见表26。 |
|---|
IWDG寄存器映像和复位数值

(表27:STM8 IWDG寄存器映像 )
上一篇:STM8 窗口看门狗(WWDG)
下一篇:STM8 AWU寄存器
史海拾趣
|
翻开报纸随处可见的是IT职业培训广告,这些广告声称:IT职业,无需高学历,只需短期培训,就可以拿高薪。似乎只要花一个月的时间,学会一门语言,就可以在IT行业里纵横驰骋。事实果真如此吗? 在正规的高校教育中,我们也时常听到这样的声音:重 ...… 查看全部问答> |
|
做一个数据采集的项目,ARM开发板的串口是五线制异步串口,即只用到了(TX、RX、CTS、RTS、GND)这五根线,而下游数据通过RS232上传的设备要求是9针串口,其说明书上要求DTR设为有效,RTS设为无效,现在ARM板子上DTR引脚没用到怎么办,我现在正在考 ...… 查看全部问答> |
|
大家聊聊,软件人员在微电子企业的发展前途?我刚刚进入一个IC公司,一直搞不懂它们为何要软件人员? 大家聊聊,软件人员在微电子企业的发展前途?我刚刚进入一个IC公司,一直搞不懂它们为何要软件人员?… 查看全部问答> |
|
我想在PPC的Dialpad添加一个菜单项 修改的注册表是否为:[HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Shell\\Extensions\\ContextMenus\\Phone\\MSCdial? 但是这样无法添加菜单项. 如果我将注册表改为:[HKEY_LOCAL_MACHINE\\Software\\Microsoft\ ...… 查看全部问答> |
|
我安装ddk之后,编译开发板自带的上位机程序,发现总是提示 LINK : fatal error LNK1104: cannot open file \"..\\..\\..\\Workarea\\NTDDK\\lib\\i386 \\free\\setupapi.lib\" 这是怎么回事?… 查看全部问答> |
|
wake_up_interruptible和wait_event_interruptible问题 小弟写了实现一个read阻塞程序,但是在唤醒过程中报错,第一次唤醒成功,第二次就不行了。望大虾们帮忙。 error如下: irq7: nobody cared & ...… 查看全部问答> |
|
有关MSP430f2618 TIMER B发PWM波的问题,小白真情求助 我用MSP430f2618发PWM脉冲,timer-B时钟选择ACLK 可以产生波形,为什么把时钟该为SMCLK就没波形了???smclk选择的是高速晶体振荡器。 程序如下 #include void InitSys() void main(void) { WDTCTL = WDTPW + WDTHO ...… 查看全部问答> |




