STM32
登录
直播中
ningkui
12年用户
831经验值
擅长:电源/新能源
私信
关注
[问答]
STM32的IWDG与WWDG主要特性有哪些
开启该帖子的消息推送
STM32
IWDG
WWDG
STM32
的独立看门狗IWDG有哪些主要性能?
STM32的窗口看门狗WWDG的主要特性是什么?
回帖
(1)
李悠冉
2021-9-13 16:39:11
简介
STM32F10x内置两个看门狗,提供了更高的安全性、时间的精确性和使用的灵活性。两个看 门狗设备(独立看门狗和窗口看门狗)可用来检测和解决由软件错误引起的故障;当计数器达到给 定的超时值时,触发一个中断(仅适用于窗口型看门狗)或产生系统复位。
看门狗其实就是一个定时器,从功能上说它可以让微控制器在程序发生意外(程序进入死循环或跑飞)的时候,能重新回复到系统刚上电状态,以保障系统出问题的时候可以重启一次。说的复杂一点,看门狗就是能让程序出问题是能重新启动系统
独立看门狗(IWDG)
1. 简介
STM32的独立看门狗(IWDG)由内部专门的40KHz低速时钟驱动,即使主时钟发生故障,它也仍然有效。注意IWDG的时钟是一个内部RC时钟,是一个在30~60KHz之间的一个可变化的时钟,只是我们在估算的时候以40KHz的频率来计算,看门狗对时间的要求不是很精确
IWDG最适合应用于那些需要看门狗作为一个在主程序之外,能够完全独立工作,并且对时间精 度要求较低的场合。WWDG最适合那些要求看门狗在精确计时窗口起作用的应用程序。
IWDG主要性能
● 自由运行的递减计数器
● 时钟由独立的RC振荡器提供(可在停止和待机模式下工作)
● 看门狗被激活后,则在计数器计数至0x000时产生复位
独立看门口功能框图如下。实际上独立看门口狗是一个递减计数器,当计时器的值减到0时,IWDG会产生一个复位信号,系统复位重新启动。为避免产生看门狗复位,则需在计数器减到0之前重载计数器,即“喂狗”。当程序出错时没有刷新计数器,计数器递减到0,系统复位重新启动,避免程序继续错误运行
独立看门狗超时时间(40KHz的输入时钟LSI)
大白话:根据内部看门狗时钟频率,装载寄存器定一个时间值,比如是1000,那么独立看门狗就会按照时钟频率,从1000开始向下每隔一个时钟周期减1,如果在减到0之前,你用程序代码重新向向下计数器里面写1000(喂狗),那么定时器会重新从1000开始向下递减。如果在减到0的时候,你还没有喂狗(用新的数值覆盖计数器),就会产生复位信号。
窗口看门狗(WWDG)
窗口看门狗通常被用来监测,由外部干扰或不可预见的逻辑条件造成的应用程序背离正常的运 行序列而产生的软件故障。除非递减计数器的值在T6位变成0前被刷新,看门狗威廉希尔官方网站 在达到预置 的时间周期时,会产生一个MCU复位。在递减计数器达到窗口寄存器数值之前,如果7位的递减 计数器数值(在控制寄存器中)被刷新, 那么也将产生一个MCU复位。这表明递减计数器需要在 一个有限的时间窗口中被刷新。
窗口看门 狗由从APB1时钟分频后得到的时钟驱动,通过可配置的时间窗口来检测应用程序非正常的过迟 或过早的操作。
WWDG主要特性
● 可编程的自由运行递减计数器
● 条件复位 ─ 当递减计数器的值小于0x40,(若看门狗被启动)则产生复位。 ─ 当递减计数器在窗口外被重新装载,(若看门狗被启动)则产生复位。见0。
● 如果启动了看门狗并且允许中断,当递减计数器等于0x40时产生早期唤醒中断(EWI),它可 以被用于重装载计数器以避免WWDG复位。
看门狗时序图
上图中,T[6:0]就是窗口看门狗的计数器,W[6:0]是窗口看门狗的上窗口、下窗口是固定值(0x40)
WWDG计数器的频率为:PCLK1/(4096 * 计数器预分频值),由于PCLK1时钟频率过高因此除以4096
WWDG超时时间:(4096 * 计数器预分频值)*(T[5:0]+1)/PCLK1,此处T[5:0]+1即为T[6:0]-0x3F
WWDG时钟是挂接到APB1上,系统时钟为72MHz时,PCLK1时钟为36MHz。
则WWDG计数器的频率为:(PCLK1 (36MHz)/4096)/8) = 1099 Hz (~910us)
WWDG计数器刷新值为127,则超时时间为:~910 us * (127-63) =58.24ms
大白话:根据系统时钟频率,装载一个初始值到向下计数器(假设还是1000),并且设置一个窗口值(小于装载到计数器的初始值,假设是500),窗口看门狗一般会定死窗口下线值是64。计数器从1000开始向下减,在减到500之前(1000到500间),是不允许你去喂狗的,一旦喂狗,就会产生复位信号。只有计数器值减到上限值之后(500到64),才允许你去喂狗。当计数器减到下限值(64到0之间),如果喂狗,也会产生复位信号,当减到0之后,自动产生复位信号。所以窗口看门狗实际上就是设置一个窗口(上下限),在这个范围内,你才允许你去喂狗,只要不在这个范围之内,都会复位。
两者间的区别
(1)窗口看门狗计时时间比独立看门狗精准; 窗口看门狗使用的是系统时钟源。
(2)窗口看门狗严格限定喂狗时间段,独立看门狗则是只要没有到时间,都能喂狗。
简介
STM32F10x内置两个看门狗,提供了更高的安全性、时间的精确性和使用的灵活性。两个看 门狗设备(独立看门狗和窗口看门狗)可用来检测和解决由软件错误引起的故障;当计数器达到给 定的超时值时,触发一个中断(仅适用于窗口型看门狗)或产生系统复位。
看门狗其实就是一个定时器,从功能上说它可以让微控制器在程序发生意外(程序进入死循环或跑飞)的时候,能重新回复到系统刚上电状态,以保障系统出问题的时候可以重启一次。说的复杂一点,看门狗就是能让程序出问题是能重新启动系统
独立看门狗(IWDG)
1. 简介
STM32的独立看门狗(IWDG)由内部专门的40KHz低速时钟驱动,即使主时钟发生故障,它也仍然有效。注意IWDG的时钟是一个内部RC时钟,是一个在30~60KHz之间的一个可变化的时钟,只是我们在估算的时候以40KHz的频率来计算,看门狗对时间的要求不是很精确
IWDG最适合应用于那些需要看门狗作为一个在主程序之外,能够完全独立工作,并且对时间精 度要求较低的场合。WWDG最适合那些要求看门狗在精确计时窗口起作用的应用程序。
IWDG主要性能
● 自由运行的递减计数器
● 时钟由独立的RC振荡器提供(可在停止和待机模式下工作)
● 看门狗被激活后,则在计数器计数至0x000时产生复位
独立看门口功能框图如下。实际上独立看门口狗是一个递减计数器,当计时器的值减到0时,IWDG会产生一个复位信号,系统复位重新启动。为避免产生看门狗复位,则需在计数器减到0之前重载计数器,即“喂狗”。当程序出错时没有刷新计数器,计数器递减到0,系统复位重新启动,避免程序继续错误运行
独立看门狗超时时间(40KHz的输入时钟LSI)
大白话:根据内部看门狗时钟频率,装载寄存器定一个时间值,比如是1000,那么独立看门狗就会按照时钟频率,从1000开始向下每隔一个时钟周期减1,如果在减到0之前,你用程序代码重新向向下计数器里面写1000(喂狗),那么定时器会重新从1000开始向下递减。如果在减到0的时候,你还没有喂狗(用新的数值覆盖计数器),就会产生复位信号。
窗口看门狗(WWDG)
窗口看门狗通常被用来监测,由外部干扰或不可预见的逻辑条件造成的应用程序背离正常的运 行序列而产生的软件故障。除非递减计数器的值在T6位变成0前被刷新,看门狗威廉希尔官方网站 在达到预置 的时间周期时,会产生一个MCU复位。在递减计数器达到窗口寄存器数值之前,如果7位的递减 计数器数值(在控制寄存器中)被刷新, 那么也将产生一个MCU复位。这表明递减计数器需要在 一个有限的时间窗口中被刷新。
窗口看门 狗由从APB1时钟分频后得到的时钟驱动,通过可配置的时间窗口来检测应用程序非正常的过迟 或过早的操作。
WWDG主要特性
● 可编程的自由运行递减计数器
● 条件复位 ─ 当递减计数器的值小于0x40,(若看门狗被启动)则产生复位。 ─ 当递减计数器在窗口外被重新装载,(若看门狗被启动)则产生复位。见0。
● 如果启动了看门狗并且允许中断,当递减计数器等于0x40时产生早期唤醒中断(EWI),它可 以被用于重装载计数器以避免WWDG复位。
看门狗时序图
上图中,T[6:0]就是窗口看门狗的计数器,W[6:0]是窗口看门狗的上窗口、下窗口是固定值(0x40)
WWDG计数器的频率为:PCLK1/(4096 * 计数器预分频值),由于PCLK1时钟频率过高因此除以4096
WWDG超时时间:(4096 * 计数器预分频值)*(T[5:0]+1)/PCLK1,此处T[5:0]+1即为T[6:0]-0x3F
WWDG时钟是挂接到APB1上,系统时钟为72MHz时,PCLK1时钟为36MHz。
则WWDG计数器的频率为:(PCLK1 (36MHz)/4096)/8) = 1099 Hz (~910us)
WWDG计数器刷新值为127,则超时时间为:~910 us * (127-63) =58.24ms
大白话:根据系统时钟频率,装载一个初始值到向下计数器(假设还是1000),并且设置一个窗口值(小于装载到计数器的初始值,假设是500),窗口看门狗一般会定死窗口下线值是64。计数器从1000开始向下减,在减到500之前(1000到500间),是不允许你去喂狗的,一旦喂狗,就会产生复位信号。只有计数器值减到上限值之后(500到64),才允许你去喂狗。当计数器减到下限值(64到0之间),如果喂狗,也会产生复位信号,当减到0之后,自动产生复位信号。所以窗口看门狗实际上就是设置一个窗口(上下限),在这个范围内,你才允许你去喂狗,只要不在这个范围之内,都会复位。
两者间的区别
(1)窗口看门狗计时时间比独立看门狗精准; 窗口看门狗使用的是系统时钟源。
(2)窗口看门狗严格限定喂狗时间段,独立看门狗则是只要没有到时间,都能喂狗。
举报
更多回帖
rotate(-90deg);
回复
相关问答
STM32
IWDG
WWDG
独立看门狗
IWDG
与窗口看门狗
WWDG
的
主要
特性
有
哪些
2021-08-02
1438
独立看门狗(
IWDG
)的
主要
特性
是什么?怎样去编写
IWDG
的程序?
2021-07-22
1359
IWDG
主要
性能和功能是什么?
2021-11-08
1120
如何去使用
Stm32
F103的窗口看门狗
WWDG
2021-08-19
952
IWDG
的
主要
特性
有
哪些
2021-08-06
681
IWDG
与
WWDG
的异同点分别有哪些呢
2022-01-17
1291
IWDG
和
WWDG
怎么使用?
2022-01-18
427
IWDG
和
WWDG
的配置要点是什么?
2021-09-23
706
窗口看门狗
WWDG
比独立看门狗
IWDG
多了哪些优势
2021-09-23
1102
IWDG
与
WWDG
的相关寄存器
有
哪些呢
2022-01-17
730
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
英国威廉希尔公司网站
william hill官网 版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分