独立看门狗Iwdg——有独立时钟(内部低速时钟LSI---40KHz),所以不受系统硬件影响的系统故障探测器。主要用于监视硬件错误。
窗口看门狗wwdg——时钟与系统相同。如果系统时钟不走了,这个狗也就失去作用了,主要用于监视软件错误。
一,独立看门狗
看门狗定时时限= IWDG_SetReload()的值 / 看门狗时钟频率
看门狗时钟频率=LSI(内部低速时钟)的频率(40KHz)/ 分频数
1.STM32
独立看门狗IWDG的时限定为280微秒。这个时限可能会随着LSI(内部低速时钟)的频率漂移而产生微小的变化。
/* IWDG timeout equal to 280 ms (the timeout may varies due to LSI frequency dispersion) -------------------------------------------------------------
*/
/* Enable write access to IWDG_PR and IWDG_RLR registers */
IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
/* IWDG counter clock: 40KHz(LSI) / 32 = 1.25 KHz */
IWDG_SetPrescaler(IWDG_Prescaler_32);
/* Set counter reload value to 349 */
IWDG_SetReload(349);
/*该参数允许取值范围为0 – 0x0FFF *
/* Reload IWDG counter */
IWDG_ReloadCounter();
/* Enable IWDG (the LSI oscillator will be enabled by hardware) */
IWDG_Enable();
2.独立看门狗(IWDG)由专用的40kHz 的低速时钟为驱动;因此,即使主时钟发生故障它也仍然有效。窗口看门狗由从APB1 时钟分频后得到的时钟驱动,通过可配置的时间窗口来检测应用程序非正常的过迟或过早的行为。可通过
IWDG_SetPrescaler(IWDG_Prescaler_32); 对其时钟进行分频,4-256,
通过以下方式喂狗 :
/* Reload IWDG counter */
IWDG_ReloadCounter();
3. 1.25KHz 即每周期 为0.8ms
共计时 350 个周期,即350*0.8ms=280ms
看门狗定时时限= IWDG_SetReload()的值 / 看门狗时钟频率
看门狗时钟频率=LSI(内部低速时钟)的频率(40KHz)/ 分频数
二,窗口看门狗
STM32F的窗口看门狗中有一个7位的递减计数器,它会在出现下述2种情况之一时产生看门狗复位:
1)当计数器的数值从0x40减到0x3F时
2)当刷新看门狗时计数器的数值大于某一设定数值时,此设定数值在WWDG_CFR寄存器定义
对于一般的看门狗,程序可以在它产生复位前的任意时刻刷新看门狗,但这有一个隐患,有可能程序跑乱了又跑回到正常的地方,或跑乱的程序正好执行了刷新看门狗操作,这样的情况下一般的看门狗就检测不出来了;如果使用窗口看门狗,程序员可以根据程序正常执行的时间设置刷新看门狗的一个时间窗口,保证不会提前刷新看门狗也不会滞后刷新看门狗,这样可以检测出程序没有按照正常的路径运行非正常地跳过了某些程序段的情况。
上一篇:STM32多机通信
下一篇:STM32-----NVIC
设计资源 培训 开发板 精华推荐
- ADM8614 超低电压监控器的典型应用电路
- LTC3822,从一个次级 5V 电源获得栅极驱动电压的高效率应用
- L7809A 远程关断稳压器的典型应用
- MICRF002YM 300-440 MHz Qwik-Radio ASK 接收器的典型应用
- MIC26903-ZA 的典型应用:28V、9A 超速控制同步 DC 至 DC 降压稳压器 Super Switcher II
- MB39C022J降压DC/DC转换器+低噪声LDO的典型应用
- 使用 Microchip Technology 的 T8538BTLDB 的参考设计
- AD8130,用于放大器的差分接收器评估板,采用 8 引脚 SOIC 封装
- esp8266开发板+墨水屏阅读器加入LED背光
- 树莓派UPS
- 高性能手机设计如何实现?手机高校评估研讨会为您揭晓答案!
- 【1月14日 技术直播】工程师请就位,Keysight计量专家开讲啦 ~电子仪器计量校准基础知识与校准周期探讨
- 骏龙科技&ADI有奖直播:适用于视频、转换器、通信的千兆数字隔离器
- 趣味电子技术史话栏目开播啦!第一集:白炽灯到底是谁发明的?
- 参与“开关电源组件选择”课程培训,三重好礼精彩送不停!
- HDMI/ DP2.0 线上实测研讨会|是德科技
- 趣味电子技术史话之通信技术史——科技与人文的结合,传奇故事在这里!
- #micropython大作战#多种参与姿势,大家一起来玩micropython!
- 以科技先行,传感新未来 下载艾迈斯半导体 《高精度短距离测量方案 》答题赢好礼!