stm32看门狗时间计算 独立看门狗和窗口看门狗的特性是什么

发布时间:2024-06-17  

  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

  综合以上,STM32看门狗时间(时限)与频率计算公式为:

  看门狗定时时限= IWDG_SetReload()的值 / 看门狗时钟频率

  看门狗时钟频率=LSI(内部低速时钟)的频率(40KHz)/ 分频数

  stm32独立看门狗和窗口看门狗特性、区别:

  总结起来,两者大概有以下几点特性和区别:

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

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

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

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

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

  下面我给你们详细介绍下:

  独立看门狗没有中断功能,只要在计数器减到0(下限)之前,重新装载计数器的值,就不会产生复位,独立看门够有硬件和软件之分,硬件是通过烧写器的“设定选项几节等”配置,一旦开启了硬件看门狗,那么就停不下来了,只能在重新配置“设定选项几节等”才能关掉硬件看门狗,软件看门狗只需要设置IWDG->KR=0XCCCC;就可以启动看门狗了,软件狗可以在系统复位时关掉,如果在在初始化里开启软件看门狗,那就开启了软件看门狗,独立看门狗是12位递减的寄存器,使用片子内部的RC振荡器,这个振荡器是关不掉的。

  窗口看门狗有中断,这个中断的作用是在计数器达到下限0x40的时候,产生中断,让你喂狗,如果你不喂狗,计数器的值变为0x3f的时候,将会产生系统复位,即使是喂狗,也应该在中断里快速喂狗,要不时间长了计数器减一也会变成0x3f产生复位,这个时间根据芯片手册的公式进行计算即可得到,窗口看门狗只有软件开启方式,还有一个上限值,这个值如果大于计数器的初始值,那么就没有任何作用了,这个值小于计数器的初始值得时候,当计数器的值大于上限值时你对计数器进行装载,将会产生复位,只有在计数器减到小于上限值时,你才能重新装载计数器,意思就是说只有计数器的值在上限值和下限值之间你才能装载计数器,否则就会产生系统复位,当上限值小于下限值,也没有意义。

  独立看门狗Iwdg——我的理解是独立于系统之外,因为有独立时钟,所以不受系统影响的系统故障探测器。主要用于监视硬件错误。

  窗口看门狗wwdg——我的理解是系统内部的故障探测器,时钟与系统相同。如果系统时钟不走了,这个狗也就失去作用了。主要用于监视软件错误。

  以下是经过测试发现的:

  //发现1:当窗口值大于等于计数器的值,无论怎么更改配置的顺序,都是正确的运行结果

  //发现2:当窗口值小于计数器的值,顺序一旦改变就运行错误

  经过测试发现,当初始化的顺序不是正常顺序的话,就会把WWDG->SR置一,为什么我也不知道,谁知道片子里面怎么搞的。

  你在开启中断就进入中断的,这时你又进行喂狗,就会复位的,因为这时计数器的值>上限窗口的值,所以会复位,所以就会一直出错下去。

  解决办法是,初始话的时候最后两句是先清除中断标志然后在开启中断,如果你不这么干,那么在初始化的时候很可能把WWDG->SR置位,那么你在开启中断,就会毫不犹豫的进入中断,你在中断重装计数器值得时候,就会产生复位。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>