首页 STM32窗口看门狗实验

STM32窗口看门狗实验

举报
开通vip

STM32窗口看门狗实验ALIENTEK《例说STM32》例说STM32*广州市星翼电子科技有限公司*ALIENTEK开发板购买店铺店铺:http://eboard.taobao.comALIENTEK第8讲窗口看门狗8.1窗口看门狗原理8.2窗口看门狗寄存器8.3窗口看门狗配置步骤8.4实验讲解《例说STM32》**广州市星翼电子科技有限公司ALIENTEK8.1窗口看门狗原理《例说STM32》**广州市星翼电子科技有限公司窗口看门狗(WWDG)通常被用来监测由外部干扰或不可预见的逻辑条件造成的应用程序背离正常的运行序列而产生的软件故障...

STM32窗口看门狗实验
ALIENTEK《例说STM32》例说STM32*广州市星翼电子科技有限公司*ALIENTEK开发板购买店铺店铺:http://eboard.taobao.comALIENTEK第8讲窗口看门狗8.1窗口看门狗原理8.2窗口看门狗寄存器8.3窗口看门狗配置步骤8.4实验讲解《例说STM32》**广州市星翼电子科技有限公司ALIENTEK8.1窗口看门狗原理《例说STM32》**广州市星翼电子科技有限公司窗口看门狗(WWDG)通常被用来监测由外部干扰或不可预见的逻辑条件造成的应用程序背离正常的运行序列而产生的软件故障。除非递减计数器的值在T6位(WWDG->CR的第六位)变成0前被刷新,看门狗电路在达到预置的时间周期时,会产生一个MCU复位。在递减计数器达到窗口配置寄存器(WWDG->CFR)数值之前,如果7位的递减计数器数值(在控制寄存器中)被刷新,那么也将产生一个MCU复位。这表明递减计数器需要在一个有限的时间窗口中被刷新。他们的关系可以用下图来说明:ALIENTEK《例说STM32》**广州市星翼电子科技有限公司上图中,T[6:0]就是WWDG_CR的低七位,W[6:0]即是WWDG->CFR的低七位T[6:0]就是窗口看门狗的计数器,而W[6:0]则是窗口看门狗的上窗口,下窗口值是固定的(0X40)。当窗口看门狗的计数器在上窗口值之外被刷新,或者低于下窗口值都会产生复位。上窗口值(W[6:0])是由用户自己设定的,根据实际要求来 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 窗口值,但是一定要确保窗口值大于0X40,否则窗口就不存在了。窗口看门狗的超时公式如下:Twwdg=(4096×2^WDGTB×(T[5:0]+1))/Fpclk1;其中:Twwdg:WWDG超时时间(单位为ms)Fpclk1:APB1的时钟频率(单位为Khz)WDGTB:WWDG的预分频系数T[5:0]:窗口看门狗的计数器低6位ALIENTEK《例说STM32》**广州市星翼电子科技有限公司根据上面的公式,假设Fpclk1=36Mhz,那么可以得到最小-最大超时时间表如下表所示: 总结 初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf :STM32F的窗口看门狗中有一个7位的递减计数器,它会在出现下述2种情况之一时产生看门狗复位:  1)当计数器的数值从0x40减到0x3F时  2)当喂狗的时候如果计数器的值大于某一设定数值时,此设定数值在WWDG_CFR寄存器定义    对于一般的看门狗,程序可以在它产生复位前的任意时刻刷新看门狗,但这有一个隐患,有可能程序跑乱了又跑回到正常的地方,或跑乱的程序正好执行了刷新看门狗操作,这样的情况下一般的看门狗就检测不出来了。ALIENTEK8.2窗口看门狗相关寄存器《例说STM32》**广州市星翼电子科技有限公司控制寄存器(WWDG_CR)ALIENTEK《例说STM32》**广州市星翼电子科技有限公司可以看出,这里我们的WWDG_CR只有低八位有效,T[6:0]用来存储看门狗的计数器值,随时更新的,每个看窗口看门狗计数周期(4096×2^WDGTB)减1。当该计数器的值从0X40变为0X3F的时候,将产生看门狗复位。WDGA位则是看门狗的激活位,该位由软件置1,以启动看门狗,并且一定要注意的是该位一旦设置,就只能在硬件复位后才能清零了。ALIENTEK《例说STM32》**广州市星翼电子科技有限公司配置寄存器(WWDG_CFR)ALIENTEK《例说STM32》**广州市星翼电子科技有限公司该位中的EWI是提前唤醒中断,也就是在快要产生复位的前一段时间(T[6:0]=0X40)来提醒我们,需要进行喂狗了,否则将复位!因此,我们一般用该位来设置中断,当窗口看门狗的计数器值减到0X40的时候,如果该位设置,并开启了中断,则会产生中断,我们可以在中断里面向WWDG_CR重新写入计数器的值,来达到喂狗的目的。注意这里在进入中断后,必须在不大于113us的时间(PCLK1频率为36M且WDGTB为0的条件下)内重新写WWDG_CR,否则,看门狗将产生复位!ALIENTEK《例说STM32》**广州市星翼电子科技有限公司状态寄存器(WWDG_SR)该寄存器用来记录当前是否有提前唤醒的标志。该寄存器仅有位0有效,其他都是保留位。当计数器值达到40h时,此位由硬件置1。它必须通过软件写0来清除。对此位写1无效。即使中断未被使能,在计数器的值达到0X40的时候,此位也会被置1。ALIENTEK8.3窗口看门狗配置步骤《例说STM32》**广州市星翼电子科技有限公司1)使能WWDG时钟。WWDG不同于IWDG,IWDG有自己独立的40Khz时钟,不存在使能问题。而WWDG使用的是PCLK1的时钟,需要先使能时钟。2)设置WWDG_CFR和WWDG_CR两个寄存器在时钟使能完后,我们设置WWDG的CFR和CR两个寄存器,对WWDG进行配置。包括使能窗口看门狗、开启中断、设置计数器的初始值、设置窗口值并设置分频数WDGTB等。ALIENTEK《例说STM32》**广州市星翼电子科技有限公司3)开启WWDG中断并分组在设置完了WWDG后,需要配置该中断的分组及使能。这点通过我们之前所编写的MY_NVIC_Init函数实现就可以了。4)编写中断服务函数在最后,还是要编写窗口看门狗的中断服务函数,通过该函数来喂狗,喂狗要快,否则当窗口看门狗计数器值减到0X3F的时候,就会引起软复位了。在中断服务函数里面也要将状态寄存器的EWIF位清空。ALIENTEK8.4实验讲解《例说STM32》**广州市星翼电子科技有限公司硬件设计:窗口看门狗与独立看门狗一样,与外部电路基本没什么关系,全部在内部实现,但是考虑到指示STM32的状态,使用了2个外部的LED,DS0和DS1。其他的没有什么电路。实验现象:将代码下载到MiniSTM32后,可以看到DS0亮一下之后熄灭,紧接着DS1开始不停的闪烁。每秒钟闪烁5次左右。ALIENTEK《例说STM32》**广州市星翼电子科技有限公司软件设计:wdg.cALIENTEK《例说STM32》**广州市星翼电子科技有限公司main函数
本文档为【STM32窗口看门狗实验】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
机构认证用户
希望图文
公司秉着用户至上的原则服务好每一位客户,专注课件、范文、教案设计制作
格式:ppt
大小:1MB
软件:PowerPoint
页数:15
分类:医学
上传时间:2022-05-11
浏览量:0