历史上的今天
返回首页

历史上的今天

今天是:2025年05月22日(星期四)

正在发生

2019年05月22日 | STM32 看门狗学习笔记

2019-05-22 来源:eefocus

STM32 有两个看门,一个是独立看门狗,一个是窗口看门狗.这里先说独立看门狗.


以单片机为核心的微型计算机系统中,单片机经常会受到来自外界电磁场的干扰。


造成程序跑飞,只是程序的正常运行状态被打断而进入死循环,从而使单片机控制的系统无法正常工作。看门狗就是一种专门用于检测单片机程序运行状态的硬件结构。

独立看门狗的特性是,要利用片内的40k RC振荡器作为时钟据(说这个RC是相当的不准),优点就是,即使CPU主晶振

停了,即使CPU进入了休眠模式,狗也可以生效.当CPU进入休眠模式,并且是深度休眠的时候,这个看门狗可以作为一个CPU 的定时唤醒闹钟,以达到超低功耗的同时还会定时醒来.看门狗由于最大可以分频到256,看门狗定时器最大可以设置到0xfff,所以最最长的喂狗时间是26秒.....用于CPU的唤醒恰到好处。


利用公式Tout=((4×2^prer) ×rlr) /40


其中Tout 为看门狗溢出时间(单位为ms);prer 为看门狗时钟预分频值(IWDG_PR 值),

范围为0~7;rlr 为看门狗的重装载值(IWDG_RLR 的值);


利用公式可以计算出看门狗的溢出时间,只要在溢出时间内喂狗的话,就可以保证程序不跑飞掉。其中看门狗的重装载值rlr可以自己设置(范围0——0xfff),看门狗时钟预分频值(范围0——7).


首先  可以查阅stm32的使用手册有这样一幅图


当你设置为32分频时,则时钟就变为1.25KHz  此时也就是说计数器加1或者减1所花费的最短时间是(1/1.25)=0.8ms,因此如果设置加载值为349,则喂狗的最长时间应该是350*(1/1.25)=280ms

注意此处都是最长  最短  并不是确切的值  这些时间是按照40kHz 时钟给出。实际上,MCU内部的RC频率会在30kHz 到60kHz 之间变化。此外,即使RC振荡器的频率是精确的,确切的时序仍然依赖于APB接口时钟与RC振荡器时钟之间的相位差,因此总会有一个完整的RC周期是不确定的。  

通过对LSI进行校准可获得相对精确的看门狗超时时间。


void IWDG_Configuration(void)

{

 /* 写入0x5555,用于允许狗狗寄存器写入功能 */

 IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);

 

 /* 狗狗时钟分频,40K/256=156HZ(6.4ms)*/

 IWDG_SetPrescaler(IWDG_Prescaler_256);

 

 /* 喂狗时间 5s/6.4MS=781 .注意不能大于0xfff*/

 IWDG_SetReload(781);

 

 /* 喂狗*/

 IWDG_ReloadCounter();

 

 /* 使能狗狗*/

 IWDG_Enable();

}


推荐阅读

史海拾趣

台湾奇力(Chip)公司的发展小趣事

奇力公司自创立之初,就致力于LED芯片的研发与生产。在技术积累方面,奇力公司不断引进先进的生产设备和技术人才,通过自主研发和合作创新,不断提升产品性能和质量。随着技术的突破,奇力公司逐渐在LED芯片市场上崭露头角,以其亮度高、性能稳定的产品赢得了客户的信赖。

Gazelle Microcircuits Inc公司的发展小趣事
负电压的生成需要额外的电路和功耗,取消这些电压输出可以降低主板的整体功耗和发热量,提高能效。
Delus Corp公司的发展小趣事

随着产品技术的成熟和市场需求的增长,Delus Corp公司开始积极拓展市场。公司不仅在国内市场取得了显著成绩,还通过参加国际展览、建立海外销售网络等方式,成功打入国际市场。此外,公司还与国际知名企业开展合作,共同研发新产品,进一步提升了公司的国际竞争力。

HEC Inc公司的发展小趣事

Delus Corp公司非常重视人才培养和团队建设。公司积极引进高素质人才,并为员工提供良好的培训和发展机会。公司建立了完善的激励机制和绩效考核体系,激发员工的工作积极性和创造力。同时,公司还注重团队建设和文化建设,营造了一个积极向上、团结协作的工作氛围。这些措施的实施,使得公司拥有一支高素质、专业化的团队,为公司的发展提供了有力的人才保障。

Benchmarq Microelectronics Inc公司的发展小趣事

随着半导体技术的不断进步,Benchmarq Microelectronics Inc始终保持着对技术创新的追求。公司加大研发投入,引进先进的生产设备和技术人才,不断推出具有创新性的半导体产品。其中,一款具有高性能、低功耗特点的芯片是公司技术创新的代表作。这款芯片采用了先进的工艺和材料,实现了更高的集成度和更低的功耗,满足了客户对高性能、长续航的需求。同时,公司还不断优化产品设计和生产流程,提高产品质量和生产效率,为客户提供了更加优质、可靠的产品。

Electech Electronics公司的发展小趣事

随着科技的不断发展,Electech Electronics意识到仅仅依赖电子元器件的代理和销售已经无法满足市场的需求。于是,公司开始投入研发,专注于电子产品的设计和制造。经过数年的努力,Electech Electronics成功开发出一系列具有竞争力的电子产品,如智能控制模块、高精度传感器等。这些产品的推出不仅拓宽了公司的产品线,也提升了公司的市场竞争力。

问答坊 | AI 解惑

模拟厂商如何应对手机产品提出的挑战?

整个手机产业目前的状况似乎已经陷入一种以价格竞争的阶段,有点像电视机市场。手机好像已经不属于我们印象中的高科技产品,几百块钱的手机就已经具备很丰富的功能,如音乐、拍照、摄像、手写输入、超大的触摸屏,真令人不可思议。用Intersil公司中 ...…

查看全部问答>

rf2401资料

本帖最后由 paulhyde 于 2014-9-15 08:59 编辑 rf2401资料  …

查看全部问答>

会PID指点下我吧

这用的SIMULINK里S-function模板,目的是想看一下自己写的PID和搭建出来的PID差别,结果差别还真挺大的,求指点 function sys=mdlOutputs(t,x,u,kp,ki,kd,lastu,lasterror,sumerror) error=u-lastu; %u是出入,lastu是上次输入 sumerror=sumerro ...…

查看全部问答>

EVC4.0里怎么进行内存泄露检查?

EVC4.0里怎么进行内存泄露检查?基于PPC2003。   快崩溃了,请高手指教!在线等………

查看全部问答>

祝贺传感器子论坛成立!

非常感谢管理员SOSO,传感器子论坛终于成立了。 以后大家 有关传感器的问题、话题可以集中在此讨论了。…

查看全部问答>

向香水请教关于stm32vc的fsmc的问题

使用stm32vc的fsmc时不明白的问题请教版主主 “如果使用地址和数据总线非复用模式,则在AD0~AD15上得不到地址信号(A0~A15)。”这是在本坛上看见版主主说的,那么想请教一下版主主: (1)在使用非复用模式时当地址建立时数据就同时建立了吗 ...…

查看全部问答>

multisim的问题

请大家介绍一些multisim元件库里的大功率管,multisim可以测电流波形吗? [ 本帖最后由 maimaikaka1989 于 2011-4-9 22:50 编辑 ]…

查看全部问答>

解答FPGA工程师面试第5 6 题(每日一题)

最近忙了点,一直没有时间上后面的题,今天终于空下来了。学校不放行了,我也没有办法了。哈哈,不过坛子还是要顶起的嘛。 对吧。 好了废话少说了。现在我上出FPGA工程师面试题的第五题、第六题、第七题。。。 希望大家共同学习。。。。。 5、 ...…

查看全部问答>

求助!关于烧写stc89c52无法烧写!

各位前辈,帮帮忙,我用下面这个电路为什么不能向stc89c52里面烧写程序!这个电路图是我一个学习板上的部分电路,我把PL2303HX的TXD接stc89c52的RXD,把PL2303HX的RXD接stc89c52的TXD,在stc-isp软件里面点击下载后接上电源,但是无法烧写程序,请问 ...…

查看全部问答>