STM32窗口看门狗实验-课件.ppt

上传人(卖家):晟晟文业 文档编号:3761565 上传时间:2022-10-10 格式:PPT 页数:15 大小:524.44KB
下载 相关 举报
STM32窗口看门狗实验-课件.ppt_第1页
第1页 / 共15页
STM32窗口看门狗实验-课件.ppt_第2页
第2页 / 共15页
STM32窗口看门狗实验-课件.ppt_第3页
第3页 / 共15页
STM32窗口看门狗实验-课件.ppt_第4页
第4页 / 共15页
STM32窗口看门狗实验-课件.ppt_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、ALIENTEK例说例说STM32STM32 例说例说STM32STM322022-10-10广州市星翼电子科技有限公司广州市星翼电子科技有限公司1ALIENTEKALIENTEK开发板购买店铺开发板购买店铺 店铺:店铺:eboard.taobaoeboard.taobaoALIENTEK第第8 8讲讲 窗口看门狗窗口看门狗 8.1 窗口看门狗原理 8.2 窗口看门狗寄存器 8.3 窗口看门狗配置步骤 8.4 实验讲解例说例说STM32STM3222022-10-10广州市星翼电子科技有限公司广州市星翼电子科技有限公司ALIENTEK8.1 窗口看门狗原理例说例说STM32STM3232022

2、-10-10广州市星翼电子科技有限公司广州市星翼电子科技有限公司 窗口看门狗(WWDG)通常被用来监测由外部干扰或不可预见的逻辑条件造成的应用程序背离正常的运行序列而产生的软件故障。除非递减计数器的值在T6位(WWDG-CR的第六位)变成0前被刷新,看门狗电路在达到预置的时间周期时,会产生一个MCU复位。在递减计数器达到窗口配置寄存器(WWDG-CFR)数值之前,如果7位的递减计数器数值(在控制寄存器中)被刷新,那么也将产生一个MCU复位。这表明递减计数器需要在一个有限的时间窗口中被刷新。他们的关系可以用下图来说明:ALIENTEK例说例说STM32STM3242022-10-10广州市星翼电

3、子科技有限公司广州市星翼电子科技有限公司上图中,T6:0就是WWDG_CR的低七位,W6:0即是WWDG-CFR的低七位T6:0就是窗口看门狗的计数器,而W6:0则是窗口看门狗的上窗口,下窗口值是固定的(0X40)。当窗口看门狗的计数器在上窗口值之外被刷新,或者低于下窗口值都会产生复位。上窗口值(W6:0)是由用户自己设定的,根据实际要求来设计窗口值,但是一定要确保窗口值大于0X40,否则窗口就不存在了。窗口看门狗的超时公式如下:Twwdg=(40962WDGTB(T5:0+1)/Fpclk1;其中:Twwdg:WWDG超时时间(单位为ms)Fpclk1:APB1的时钟频率(单位为Khz)WD

4、GTB:WWDG的预分频系数T5:0:窗口看门狗的计数器低6位ALIENTEK例说例说STM32STM3252022-10-10广州市星翼电子科技有限公司广州市星翼电子科技有限公司根据上面的公式,假设Fpclk1=36Mhz,那么可以得到最小-最大超时时间表如下表所示:总结:STM32F的窗口看门狗中有一个7位的递减计数器,它会在出现下述2种情况之一时产生看门狗复位:1)当计数器的数值从0 x40减到0 x3F时2)当喂狗的时候如果计数器的值大于某一设定数值时,此设定数值在WWDG_CFR寄存器定义对于一般的看门狗,程序可以在它产生复位前的任意时刻刷新看门狗,但这有一个隐患,有可能程序跑乱了又

5、跑回到正常的地方,或跑乱的程序正好执行了刷新看门狗操作,这样的情况下一般的看门狗就检测不出来了。ALIENTEK8 8.2 2 窗口看门狗相关寄存器窗口看门狗相关寄存器例说例说STM32STM3262022-10-10广州市星翼电子科技有限公司广州市星翼电子科技有限公司控制寄存器(控制寄存器(WWDG_CR)ALIENTEK例说例说STM32STM3272022-10-10广州市星翼电子科技有限公司广州市星翼电子科技有限公司可以看出,这里我们的WWDG_CR只有低八位有效,T6:0用来存储看门狗的计数器值,随时更新的,每个看窗口看门狗计数周期(40962 WDGTB)减1。当该计数器的值从0X

6、40变为0X3F的时候,将产生看门狗复位。WDGA位则是看门狗的激活位,该位由软件置1,以启动看门狗,并且一定要注意的是该位一旦设置,就只能在硬件复位后才能清零了。ALIENTEK例说例说STM32STM3282022-10-10广州市星翼电子科技有限公司广州市星翼电子科技有限公司配置寄存器(配置寄存器(WWDG_CFR)ALIENTEK例说例说STM32STM3292022-10-10广州市星翼电子科技有限公司广州市星翼电子科技有限公司该位中的EWI是提前唤醒中断,也就是在快要产生复位的前一段时间(T6:0=0X40)来提醒我们,需要进行喂狗了,否则将复位!因此,我们一般用该位来设置中断,当

7、窗口看门狗的计数器值减到0X40的时候,如果该位设置,并开启了中断,则会产生中断,我们可以在中断里面向WWDG_CR重新写入计数器的值,来达到喂狗的目的。注意这里在进入中断后,必须在不大于113us的时间(PCLK1频率为36M且WDGTB为0的条件下)内重新写WWDG_CR,否则,看门狗将产生复位!ALIENTEK例说例说STM32STM32102022-10-10广州市星翼电子科技有限公司广州市星翼电子科技有限公司状态状态寄存器(寄存器(WWDG_SR)该寄存器用来记录当前是否有提前唤醒的标志。该寄存器仅有位0有效,其他都是保留位。当计数器值达到40h时,此位由硬件置1。它必须通过软件写0

8、来清除。对此位写1无效。即使中断未被使能,在计数器的值达到0X40的时候,此位也会被置1。ALIENTEK8 8.3 3 窗口看门狗配置步骤窗口看门狗配置步骤例说例说STM32STM32112022-10-10广州市星翼电子科技有限公司广州市星翼电子科技有限公司1 1)使能使能WWDG时钟时钟。WWDG不同于IWDG,IWDG有自己独立的40Khz时钟,不存在使能问题。而WWDG使用的是PCLK1的时钟,需要先使能时钟。2 2)设置)设置WWDG_CFRWWDG_CFR和和WWDG_CRWWDG_CR两个寄存器两个寄存器在时钟使能完后,我们设置WWDG的CFR和CR两个寄存器,对WWDG进行配

9、置。包括使能窗口看门狗、开启中断、设置计数器的初始值、设置窗口值并设置分频数WDGTB等。ALIENTEK例说例说STM32STM32122022-10-10广州市星翼电子科技有限公司广州市星翼电子科技有限公司3 3)开启)开启WWDG中断并分组中断并分组在设置完了WWDG后,需要配置该中断的分组及使能。这点通过我们之前所编写的MY_NVIC_Init函数实现就可以了。4 4)编写中断服务函数)编写中断服务函数在最后,还是要编写窗口看门狗的中断服务函数,通过该函数来喂狗,喂狗要快,否则当窗口看门狗计数器值减到0X3F的时候,就会引起软复位了。在中断服务函数里面也要将状态寄存器的EWIF位清空。

10、ALIENTEK8.4 实验讲解例说例说STM32STM32132022-10-10广州市星翼电子科技有限公司广州市星翼电子科技有限公司硬件设计:硬件设计:窗口看门狗与独立看门狗一样,与外部电路基本没什么关系,全部在内部实现,但是考虑到指示STM32的状态,使用了2个外部的LED,DS0和DS1。其他的没有什么电路。实验现象:实验现象:将代码下载到MiniSTM32后,可以看到DS0亮一下之后熄灭,紧接着DS1开始不停的闪烁。每秒钟闪烁5次左右。ALIENTEK例说例说STM32STM32142022-10-10广州市星翼电子科技有限公司广州市星翼电子科技有限公司软件设计:软件设计:wdg.cALIENTEK例说例说STM32STM32152022-10-10广州市星翼电子科技有限公司广州市星翼电子科技有限公司 main函数函数

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 医疗、心理类
版权提示 | 免责声明

1,本文(STM32窗口看门狗实验-课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|