0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于看门狗时间选定问题

嵌入式应用开发 来源:嵌入式应用开发 作者:嵌入式应用开发 2022-12-26 17:14 次阅读

看门狗的主要作用就是防止程序跑飞,防止堆栈数据溢出,将单片机进行重启操作,不可屏蔽中断,优先级最高。

答题的过程是这样的,计数器有一个值,不停的做减法操作,当值为0时产生复位操作,因此在程序正常运行下需要不停的喂狗操作,但是这个时间需要把握,这个时间设置成为”喂狗时间“,在喂狗异常时发生中断复位操作,这个过程是自发进行的。

下面主要说明喂狗时间的操作。

需要控制的寄存器有:

键值寄存器IWDG_KR: 0~15位有效

预分频寄存器IWDG_PR:0~2位有效。具有写保护功能,要操作先取消写保护

重装载寄存器IWDG_RLR:0~11位有效。具有写保护功能,要操作先取消写保护。

状态寄存器IWDG_SR:0~1位有效

pYYBAGOpZNiAChl4AACpOEoYIWo235.png

我的另一篇文章专门讲解了如何使用看门狗,这里不做赘述,主要说一下,这个喂狗时间如何设置,设置多长合适。

这里我们还是从函数计数开始说。

设置看门狗的分频系数的函数是:
//设置 IWDG 预分频值
void IWDG_SetPrescaler(uint8_t IWDG_Prescaler);
设置看门狗的重装载值的函数是:
//设置 IWDG 重装载值
void IWDG_SetReload(uint16_t Reload);
设置好看门狗的分频系数 prer 和重装载值就可以知道看门狗的喂时间(也就是看门狗溢出时间) ,该时间的计算方式为(以时钟40KHZ计算):
Tout=((4×2^prer) ×rlr) /40
Tout 为看门狗溢出时间(单位为 ms);prer为看门狗时钟预分频(IWDG_PR 值),范围为 0~7;rlr 为看门狗的重装载值(IWDG_RLR 的值) ;我们设定 prer 值为 4, rlr 值为 625, 那么就可以得到 Tout=64×625/40=1000ms, 这样,看门狗的溢出时间就是 1s,只要你在一秒钟之内,有一次写入 0XAAAA 到 IWDG_KR,就不会导致看门狗复位。
注意:看门狗的时钟频率并不是确定不变的40KHZ(而是在 15~47Khz 之间的一个可变化的时钟),必须控制好大概复位时间。

综上所述只需要根据自己的需要进行设置相应的参数即可,这里提供相关的经验给大家参考,一般情况下我们都设置喂狗时间为1s当有特别的任务需要进行检测时需要根据特定的任务进行设置喂狗时间,假设有一个非常重要的进程,需要及时的进行检测,这里就要设置特定的时间,比如100ms一次喂狗等操作。

审核编辑黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 看门狗
    +关注

    关注

    10

    文章

    559

    浏览量

    70724
收藏 人收藏

    评论

    相关推荐

    看门狗定时器的工作原理

    看门狗定时器是一种独立的计时器硬件模块,其核心功能是倒计时。如果系统软件在计时器超时前没有对其进行复位操作(即“喂狗”),看门狗将触发一个预定义的动作,通常是系统复位或中断。
    的头像 发表于 10-21 14:18 222次阅读
    <b class='flag-5'>看门狗</b>定时器的工作原理

    Sitara AM6442 RTI看门狗调试

    电子发烧友网站提供《Sitara AM6442 RTI看门狗调试.pdf》资料免费下载
    发表于 08-27 11:26 0次下载
    Sitara AM6442 RTI<b class='flag-5'>看门狗</b>调试

    【GD32F470紫藤派开发板使用手册】第七讲 FWDG-看门狗实验

    通过本实验主要学习以下内容: 独立看门狗的原理 独立看门狗功能介绍 实现独立看门狗功能
    的头像 发表于 05-11 10:13 884次阅读
    【GD32F470紫藤派开发板使用手册】第七讲 FWDG-<b class='flag-5'>看门狗</b>实验

    【GD32H757Z海棠派开发板使用手册】第七讲 FWDG-看门狗实验

    通过本实验主要学习以下内容: 独立看门狗的原理 独立看门狗功能介绍 实现独立看门狗功能
    的头像 发表于 05-10 09:37 623次阅读
    【GD32H757Z海棠派开发板使用手册】第七讲 FWDG-<b class='flag-5'>看门狗</b>实验

    软件看门狗和硬件看门狗的区别

    软件看门狗和硬件看门狗都是用于监控系统崩溃的工具,它们的作用是在系统出现故障或异常情况时自动恢复系统。  软件看门狗是一种程序,运行在操作系统中,通过定时检测系统是否正常运行来判断系统是否崩溃。如果
    的头像 发表于 04-16 15:10 918次阅读

    TLF35584中集成的看门狗工作应用案例

    看门狗输入引脚 WDI 具有集成的下拉电流 IWDI 。看门狗输入 WDI 可以在“Closed Window”内或随后的“Open Window”期间转换为高电平。
    发表于 03-18 11:27 3569次阅读
    TLF35584中集成的<b class='flag-5'>看门狗</b>工作应用案例

    调试模式下如何调试看门狗

    大家在调试GD32 MCU系统的时候,若开了看门狗外设,是否会碰到进入调试模式看门狗就会咬造成无法调试的问题?
    的头像 发表于 02-23 09:30 1199次阅读
    调试模式下如何调试<b class='flag-5'>看门狗</b>?

    求助,关于看门狗定时器的喂狗时间和多APP看门狗的问题求解

    参考例程,在看门狗定时器时间的配置上,我看到如下函数: /* Step 3- Write match value */ #if(WDT_DEMO == WDT_INTERRUPT_DEMO
    发表于 02-21 06:50

    什么是看门狗?如何实现对系统程序的监控?

    看门狗通过定时器计数器和相关的控制逻辑来实现功能。在系统正常运行时,定时器会以固定的时间间隔重复计数,如果系统一切正常,那么定时器会定期被重置。
    的头像 发表于 02-02 15:58 2321次阅读

    芯知识 | 语音芯片中的声音播放提示IC内置看门狗的作用介绍

    随着科技的不断发展,语音芯片在各个领域的应用越来越广泛。其中,声音播放提示IC作为语音芯片的重要组成部分,其功能和性能的提升对于产品的用户体验和稳定性至关重要。而在声音播放提示IC中,内置看门狗
    的头像 发表于 12-20 08:40 485次阅读
    芯知识 | 语音芯片中的声音播放提示IC内置<b class='flag-5'>看门狗</b>的作用介绍

    MCU看门狗应用注意事项

    我们使用的MCU是普冉的PY32F030,这颗芯片在低功耗应用场景下,使用看门狗会有很多的问题和缺陷,需要非常注意,稍有不慎,就会出问题。
    发表于 12-02 09:47 1107次阅读
    MCU<b class='flag-5'>看门狗</b>应用注意事项

    STM32的看门狗原理和示例代码

    ):IWDG是一个定时器,其计数器在启用后开始递增。在程序中,你需要定期喂狗(通过向IWDG的寄存器写入特定的值),以防止看门狗超时。否则,如果超过了预定的时间,系统
    的头像 发表于 12-01 08:00 1866次阅读
    STM32的<b class='flag-5'>看门狗</b>原理和示例代码

    电源管理入门:Watchdog看门狗

    看门狗,又叫 watchdog timer,是一个定时器电路, 一般有一个输入,叫喂狗,一个输出到MCU的RST端,MCU正常工作的时候,每隔一段时间输出一个信号到喂狗端,给 WDT 清零,如果超过
    的头像 发表于 11-29 10:11 3438次阅读
    电源管理入门:Watchdog<b class='flag-5'>看门狗</b>

    RT-Thread Nano入门:独立看门狗(IWDT)

    本文主要介绍怎么用RT-Thread Nano实现独立看门狗IWDT驱动,创建一个喂狗线程,实现定时喂狗功能。
    的头像 发表于 11-22 11:04 2126次阅读
    RT-Thread Nano入门:独立<b class='flag-5'>看门狗</b>(IWDT)

    什么是模拟看门狗?模拟看门狗有什么用处?

    看门狗大家应该再熟悉不过了,一旦忘记喂狗就会导致单片机复位,而在大部分stm32中都存在两种类型的看门狗,Independent watchdog (IWDG)独立看门狗和Window watchdog (WWDG)窗口
    的头像 发表于 11-22 09:40 1652次阅读
    什么是模拟<b class='flag-5'>看门狗</b>?模拟<b class='flag-5'>看门狗</b>有什么用处?