历史上的今天
返回首页

历史上的今天

今天是:2025年05月14日(星期三)

正在发生

2018年05月14日 | stm32 独立看门狗和窗口看门狗区别

2018-05-14 来源:eefocus

1)独立看门狗没有中断,窗口看门狗有中断

 

2)独立看门狗有硬件软件之分,窗口看门狗只能软件控制

 

3)独立看门狗只有下限,窗口看门狗又下限和上限

 

4)独立看门狗是12位递减的。窗口看门狗是7位递减的

 

5)独立看门狗是用的内部的大约40KHZ RC振荡器,窗口看门狗是用的系统时钟APB1ENR


1.看门狗介绍

看门狗这东西虽然简单,但我相信绝大多程序员没有足够重视它。使用看门狗保证系统正常地运行是非常有必要的。我们在设计产品时,代码以及硬件设计缺陷或是外界电磁干扰都有可能使系统死机,如果不能正常对其进行复位,系统的可靠性将大打折扣。看门狗分为软件看门狗和硬件看门狗两类,其原理都是使用一个独立定时器来计时,超出时间就会产生复位信号,主要区别看是否具有独立的硬件结构,如果有,就是硬件看门狗,如果是一个普通定时器实现的那么就是软件看门狗。STM32F407片内有两个看门狗:独立看门狗IWDG以及窗口看门狗WWDG,下面来讨论各自的特点和用法。

 

2  IWDG的特点以及使用


IWDG是一个独立看门狗,具有独立于系统的时钟,与片外看门狗更为相似,使用片内独立的阻容时钟发生电路计时,记录时间为=(时钟频率(40KHz)/ 分频数)*IWDG_SetReload(t),t<0xFFF.也就是说记录的最大设定的复位时间为 (1/40K)*256*0xFFF  = 26.2 S。由于IWDG使用的时钟本身不准确,会因为漂移产生一定变化,喂狗时应该给出一定的裕量。另外,这个时钟与系统时钟并无关联,所有也不能与系统进行同步产生中断,一旦定时时间到后就会产生复位信号,系统来不及存储当前运行状态就会重启,可以在要求不高的场合使用。

3. WWDG的特点以及使用

         

时间为(1/PCLK1)* 4096) * 分频系数(最大为8)*(0x7F – 0x3F)= 58ms.其复位的条件是:


(1)当计数器的数值从0x40减到0x3F

(2)当刷新看门狗时计数器的数值大于窗口上限值时


满足任何一条都可以产生复位信号。通常情况下设置窗口上限值为0x7F,下限值默认为0x40,计数器向下数到0x40就会产生中断,下个910us后变为0x3F就会复位系统。


仔细想想可以发现三个问题。


第一、我们可以发现即使设定了最大值,WWDG最大计时仅仅有58ms,我们在比较大的程序中也没必要运行一小段就添加一个喂狗程序,想使其定时5S或10S的时间再复位系统应该怎样处理呢?


通过实验我找到一种方法,就是在中断函数中再做一个额外计数器,如果计数器没有达到设定值,就重新加载喂狗定时器初值,同时使设定值加1,当计数器达到设定值时,就不加载喂狗定时器初值,这时看门狗定时器就会从从0x40减到0x3F产生系统复位。使用这个方法可以将定时时间拓展到 58ms*额外计数器设定值,定个几十秒都不是问题。


第二,当额外计数器达到设定值时,此时说明程序没有及时复位这个额外计数器,软件或硬件发生了错误,将时系统复位,我们需要存储一些运行过程中的变量,仅仅有不到1ms的时间(从0x40减到0x3F最长大概为910us)怎么够用呢?

这样就先写Wwdg_Feed(0x7F)重新加定时器初值,再对我们的存储函数进行改造,多添加一些Wwdg_Feed(0x7F)函数,使其不至于再减到0x40,存储工作都做好之后,不再喂狗,那么再次发生中断后不再喂狗就会复位系统了。


第三,如果发生复位,如何区分是上电复位还是看门狗复位呢?


在初始化WWDG时候,有一个RCC_GetFlagStatus(RCC_FLAG_WWDGRST)可以用于判断是否发生看门狗复位,如果是重新上电引起的复位这个值当然是系统默认值,如果是看门狗复位的话这个值就会发生变化,这样就可以针对这两种不同状态进行状态恢复。


推荐阅读

史海拾趣

ELEKTRO-PLAST NASIELSK公司的发展小趣事

随着环保意识的提高和可持续发展理念的普及,电子行业对环保要求也越来越高。ELEKTRO-PLAST NASIELSK公司积极响应这一趋势,将绿色环保理念贯穿于产品研发和生产过程中。公司采用环保材料和工艺生产产品,并推动供应链中的合作伙伴共同践行环保理念。此外,公司还积极推广可回收利用和循环再生的理念,为保护环境做出了积极贡献。

Horn公司的发展小趣事

面对电子行业日益复杂的加工需求和激烈的市场竞争,Horn公司不断进行自我调整和转型。公司加大了对自动化生产线的投入,提高了生产效率和产品质量。同时,Horn公司还加强了与下游客户的沟通与合作,深入了解市场需求变化,为客户提供更加个性化的解决方案。这些举措帮助Horn公司在电子行业中保持了竞争优势。

BOCA公司的发展小趣事

为了进一步提升竞争力,BOCA公司开始尝试产业链整合。公司不仅加强了对上游原材料供应商的控制,还通过并购和合作的方式,将下游的组装、销售等环节也纳入自己的体系。这一举措使得BOCA能够更好地控制产品质量和交货期,同时也降低了成本,提高了整体运营效率。

EXCELSEMI [ EXCEL SEMICONDUCTOR INC. ]公司的发展小趣事

为了满足不同客户的需求,EXCELSEMI公司不断扩展产品线。除了传统的半导体芯片产品外,公司还涉足了功率半导体、传感器、智能模块等领域。通过多元化的产品线布局,EXCELSEMI能够为客户提供一站式解决方案,增强了市场竞争力。

Firadec公司的发展小趣事

背景:随着电子行业竞争的日益激烈,成本控制成为了企业生存发展的关键。Firadec公司意识到优化供应链的重要性。

发展:公司开始与上游供应商建立长期稳定的合作关系,通过集中采购、共享库存等方式降低采购成本。同时,Firadec还加强了对生产过程的精细化管理,提高了生产效率和产品质量。

影响:供应链的优化和成本的有效控制,使Firadec公司在激烈的市场竞争中保持了较强的盈利能力。这也为公司后续的研发和市场拓展提供了有力的支持。

APLUS Products公司的发展小趣事

在XXXX年,APLUS Products公司迎来了一次重要的技术突破。公司研发团队成功开发出了一款具有划时代意义的电子产品,该产品在性能、稳定性和用户体验等方面均达到了行业领先水平。这一技术突破不仅为公司赢得了大量订单,还进一步巩固了其在电子行业中的市场地位。

问答坊 | AI 解惑

MP3充电器原理与维修

MP3充电器是最易损坏的配件之一。笔者维修多款充电器后发现,它们基本上都是采用开关电源电路,电路结构大同小异。本文以市面上最常见的昕潮TJ-01型充电器为例,简述其工作原理与常见故障检修,电路见图1。工作原理 (1)开关振荡电路市电经D1~D4整 ...…

查看全部问答>

求一份关于串联和并联谐振的资料

最近在用线圈耦合做无线识别,用12M做载波,求谐振资料。 有功放或放大或滤波图的来几张,多谢。 芯片也行 xuchaoda@126.com…

查看全部问答>

标准数字电路 54-74HC全系列高速CMOS数据手册(中文

标准数字电路 54-74HC全系列高速CMOS数据手册(中文)…

查看全部问答>

写南桥的问题

我用这个函数写南桥地址后,就会造成系统重新启动,使用ICOP的DX处理器: void WriteSouthBridge(unsigned char idx, DWORD val) {   __asm   {       push edx          ...…

查看全部问答>

wm5.0问题

请问如何在Windows Mobile 5.0中实现绘制柱状统计图,饼状统计图功能?…

查看全部问答>

PG128128A资料

研究了N就,PG128128A资料到底怎么驱动,谁有能提供详细资料 12864及以下的我会,就是不会PG128128A的 邮箱 zoujun224@qq.com…

查看全部问答>

惭愧啊,st网站上想找点东西太难了

                                 也不知道是自己笨还是网站不太合理,反正在他官网上从来都没找到自己想要的东西,搜到的许多野都是指向其官网,可 ...…

查看全部问答>

[求助]急急急!!MSPF1232静态电流过大

工作到扫尾状态时,突发的想测下电流,吓了好大一跳!天啊!28mA 一直找不到原因.甚至将所有外围电路去掉,最后将片子悬空只保留电源,跑最简单的程序,也有8mA. 从程序配置到硬件连线,查了个遍,身边的人问了个遍,无解! 极度郁闷中! 附带:拿的5个样片 ...…

查看全部问答>

protues上仿真的频率计

有图有程序的简易频率计…

查看全部问答>

《GPSR+GPS开发板》之二GPS解码

对于GPS,想必大家都比较熟悉了。对于GPS的解码大家应该都知道,其解码难度并不大,原理非常简单。不管怎样,下面我们还是详细的介绍一下这个过程及相关知识。        GPS是英文Global Positioning System(全球定位系统)的 ...…

查看全部问答>