STM32
登录
直播中
吴湛
9年用户
863经验值
擅长:417804
私信
关注
[问答]
有关独立看门狗(IWDG)的基本知识汇总
开启该帖子的消息推送
IWDG
独立看门狗(IWDG)得主要性能是什么?
独立看门狗(IWDG)的功能有哪些?
独立看门狗(IWDG)有哪些相关的寄存器?
怎样去计算独立看门狗(IWDG)的超时时间?
回帖
(1)
汤敏树
2021-8-2 09:16:56
简介,看门狗通俗的讲,用来监视程序是否异常,如果程序异常则重启程序。STM32F10xxx内置两个看门狗,提供了更高的安全性、时间的精确性和使用的灵活性。两个看门狗设备(独立看门狗和窗口看门狗)可用来检测和解决由软件错误引起的故障;当计数器达到给定的超时值时触发一个中断(窗口看门狗)或者产生复位。
1、独立看门狗(IWDG)由专用的低速时钟(LSI)驱动,即使主时钟发生故障它依然有效。IWDG适合应用于那些需要看门狗作为一个在主程序之外,能够完全独立工作,并且对时间的精确度要求较低的场合。
2、IWDG主要性能
1.自由运行的递减计数器。
2.时钟由独立的RC振荡器提供(可在停止和待机模式下工作)
3.看门狗被激活后,则在计数器计数至0x000时产生复位。
3、功能描述
描述:在键值寄存器IWDG_KR中写入0xCCCC,开始启用独立看门狗;此时计数器开始从其复位值0xFFF递减计数。当计数器计数到末尾0x000时,会产生一个复位信号IWDG_RESET。无论何时,只要在键值寄存器中写入0xAAAA,IWDG_RLR中的值就会被重新加载到计数器,从而避免产生看门狗复位。硬件看门狗,如果用户在选择字节中启用了“硬件看门狗”功能,在系统复位上电后,看门狗会自动开始运行;如果在计数器计数结束前,若软件没有向键值寄存器中写入相应的值,则系统复位。
寄存器访问保护:IWDG_PR和IWDG_RLR寄存器具有写保护功能。要修改两个寄存器的值,必须先向IWDG_KR寄存器写入0x5555.以不同的值写入这个寄存器将会打乱操作顺序,寄存器将重新被保护。重装载操作(即写入0xAAAA)也会启动写保护功能。状态寄存器指示预分频值和递减计数器是否正在被更新。
4、寄存器描述
1.键寄存器IWDG_KR
2.预分频寄存器IWDG_PR
3.重装载寄存器IWDG_RLR
4.状态寄存器IWDG_SR
5.独立看门狗超时时间计算
Tout = (4 * 2^prer) * rlr / 40 = (4 * 2^prer) / 40 * rlr
prer即为IWDG_PR的值由寄存器描述可知分频系数为4乘上2的prer次方。那么频率为40 /(4 * 2^prer),它的倒数(4 * 2^prer) / 40是独立看门狗时钟周期。
rlr为重装载值,用时钟周期(4 * 2^prer) / 40乘以rlr即为超时时间。
简介,看门狗通俗的讲,用来监视程序是否异常,如果程序异常则重启程序。STM32F10xxx内置两个看门狗,提供了更高的安全性、时间的精确性和使用的灵活性。两个看门狗设备(独立看门狗和窗口看门狗)可用来检测和解决由软件错误引起的故障;当计数器达到给定的超时值时触发一个中断(窗口看门狗)或者产生复位。
1、独立看门狗(IWDG)由专用的低速时钟(LSI)驱动,即使主时钟发生故障它依然有效。IWDG适合应用于那些需要看门狗作为一个在主程序之外,能够完全独立工作,并且对时间的精确度要求较低的场合。
2、IWDG主要性能
1.自由运行的递减计数器。
2.时钟由独立的RC振荡器提供(可在停止和待机模式下工作)
3.看门狗被激活后,则在计数器计数至0x000时产生复位。
3、功能描述
描述:在键值寄存器IWDG_KR中写入0xCCCC,开始启用独立看门狗;此时计数器开始从其复位值0xFFF递减计数。当计数器计数到末尾0x000时,会产生一个复位信号IWDG_RESET。无论何时,只要在键值寄存器中写入0xAAAA,IWDG_RLR中的值就会被重新加载到计数器,从而避免产生看门狗复位。硬件看门狗,如果用户在选择字节中启用了“硬件看门狗”功能,在系统复位上电后,看门狗会自动开始运行;如果在计数器计数结束前,若软件没有向键值寄存器中写入相应的值,则系统复位。
寄存器访问保护:IWDG_PR和IWDG_RLR寄存器具有写保护功能。要修改两个寄存器的值,必须先向IWDG_KR寄存器写入0x5555.以不同的值写入这个寄存器将会打乱操作顺序,寄存器将重新被保护。重装载操作(即写入0xAAAA)也会启动写保护功能。状态寄存器指示预分频值和递减计数器是否正在被更新。
4、寄存器描述
1.键寄存器IWDG_KR
2.预分频寄存器IWDG_PR
3.重装载寄存器IWDG_RLR
4.状态寄存器IWDG_SR
5.独立看门狗超时时间计算
Tout = (4 * 2^prer) * rlr / 40 = (4 * 2^prer) / 40 * rlr
prer即为IWDG_PR的值由寄存器描述可知分频系数为4乘上2的prer次方。那么频率为40 /(4 * 2^prer),它的倒数(4 * 2^prer) / 40是独立看门狗时钟周期。
rlr为重装载值,用时钟周期(4 * 2^prer) / 40乘以rlr即为超时时间。
举报
更多回帖
rotate(-90deg);
回复
相关问答
IWDG
IWDG
独立
看门狗
与WWDG窗口
看门狗
开发指南
2021-09-23
1191
有关
独立
看门狗
(
IWDG
)的
基本知识
都总结在这里
2021-07-27
1509
怎么用
独立
看门狗
IWDG
2021-09-23
801
如何对
独立
看门狗
(
IWDG
)进行配置
2021-08-11
1227
怎么去使用
独立
看门狗
(
IWDG
)
2021-08-13
1133
怎样去编写
独立
看门狗
(
IWDG
)的代码
2021-08-11
1636
如何去使用
独立
看门狗
IWDG
2021-09-24
1202
浅析
IWDG
独立
看门狗
2021-09-23
721
独立
看门狗
IWDG
的结构是如何构成的
2021-09-22
1061
独立
看门狗
IWDG
与窗口
看门狗
WWDG的区别在哪
2021-09-26
1118
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分