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

    文章

    608

    浏览量

    72602
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    什么是ADC模拟看门狗

    模拟看门狗功能,支持将 ADC 转换结果与用户设定的阈值进行比较,支持上阈值、下阈值、区间值比较,通过阈值寄存器 ADC_VTH 和 ADC_VTL 设置比较阈值。 模拟看门狗功能只在单通道模式
    发表于 12-12 06:15

    中科芯CKS32F107XX系列MCU的独立看门狗介绍

    安全性、时间精确性和使用灵活性方面变现得非常优秀。两个看门狗定时器单元都可用来检测由软件错误引起的故障,具体表现为当计数器达到给定的超时值或未能在指定时间窗口内刷新计数器的值,会触发系统复位。
    的头像 发表于 11-28 14:51 3595次阅读
    中科芯CKS32F107XX系列MCU的独立<b class='flag-5'>看门狗</b>介绍

    中科芯CKS32F107XX系列MCU的窗口看门狗介绍

    中科芯CKS32F107xx系列产品内部提供两个看门狗定时器单元,独立型看门狗IWDG(Independent Watchdog)和窗口型看门狗WWDG(Window Watchdog),本文主要介绍WWDG的应用,
    的头像 发表于 11-28 14:48 3782次阅读
    中科芯CKS32F107XX系列MCU的窗口<b class='flag-5'>看门狗</b>介绍

    “喂狗”的艺术:看门狗不叫,才是系统好

    看门狗选哪只好呢? 中间那只看起来不错。 咳咳搞错了,自动化项目中说的看门狗是PLC的看门狗,那这个有什么用呢?难道真的是看大门的
    的头像 发表于 11-25 10:50 97次阅读
    “喂狗”的艺术:<b class='flag-5'>看门狗</b>不叫,才是系统好

    既然有独立看门狗了,为啥还要窗口看门狗(WWDT),窗口看门狗的特色是什么?

    既然有独立看门狗了,为啥还要窗口看门狗(WWDT),窗口看门狗的特色是什么?
    发表于 11-21 06:42

    看门狗定时器、复位源、异常处理机制科普

    的作用、原理与应用。一、看门狗定时器(WatchdogTimer)1.原理看门狗定时器本质上是一个独立定时器,持续倒计时:软件在规定时间内“喂狗”(重置看门狗计数器
    的头像 发表于 11-17 10:53 760次阅读
    <b class='flag-5'>看门狗</b>定时器、复位源、异常处理机制科普

    小安派BW21-CBV-Kit入门教程之看门狗简介

    这是一个简单的看门狗定时器(WDT)示例,演示了看门狗 API 的用法。 有关看门狗的定义和工作原理,请参阅以下信息。
    的头像 发表于 11-13 17:22 4972次阅读
    小安派BW21-CBV-Kit入门教程之<b class='flag-5'>看门狗</b>简介

    TPS3431 带启用功能的标准可编程看门狗定时器数据手册

    TPS3431 是一款标准的可编程看门狗定时器,具有使能功能,适用于各种应用。看门狗超时具有 15% 的精度、高精度定时 (–40°C 至 +125°C) 和 25°C 时 2.5% 的典型值
    的头像 发表于 04-10 14:28 656次阅读
    TPS3431 带启用功能的标准可编程<b class='flag-5'>看门狗</b>定时器数据手册

    TPS3430 具有可编程复位延迟的窗口看门狗定时器数据手册

    TPS3430 是一款独立的窗口看门狗定时器,具有可编程看门狗窗口和可编程看门狗复位延迟,适用于各种应用。TPS3430窗口看门狗可实现 2.5% 的定时精度(25°C 时的典型值),
    的头像 发表于 04-10 14:23 608次阅读
    TPS3430 具有可编程复位延迟的窗口<b class='flag-5'>看门狗</b>定时器数据手册

    TPS3435 纳米静态电流精密超时看门狗定时器数据手册

    TPS3435 是一款超低功耗 (典型值为 250nA) 器件,提供可编程超时看门狗定时器。 TPS3435 提供高精度超时看门狗定时器,具有适用于各种应用的一系列功能。超时看门狗定时器可由
    的头像 发表于 04-09 15:49 730次阅读
    TPS3435 纳米静态电流精密超时<b class='flag-5'>看门狗</b>定时器数据手册

    看门狗,你真的会用吗?

    嵌入式系统开发中,看门狗是一种重要的机制,用于在程序异常时自动重启系统,保障其稳定性。本文将深入探讨看门狗及其在程序稳定性中的作用,帮助您更好地理解和应用看门狗技术。看门狗首先需要明确
    的头像 发表于 03-12 11:37 4608次阅读
    <b class='flag-5'>看门狗</b>,你真的会用吗?

    安利给工程师!看门狗相关知识

    看门狗能够及时检测并采取相应措施,从而避免系统长时间处于故障状态。本文将详细介绍看门狗的工作原理及其正确使用方法。 同时通过具体示例解析,教你如何在一个简单的LuatOS项目中集成看门狗
    的头像 发表于 12-31 14:29 943次阅读
    安利给工程师!<b class='flag-5'>看门狗</b>相关知识

    抄作业!看门狗定时器必备知识

    Air201在模组内部集成了硬件看门狗,今天就一起来聊聊~ 本文将带你了解看门狗的工作原理、应用架构、定时时间设置、软硬件看门狗的区别,以及看门狗
    的头像 发表于 12-30 14:44 1107次阅读
    抄作业!<b class='flag-5'>看门狗</b>定时器必备知识

    一文详解看门狗/电压监控芯片规格书

    一、关于一些看门狗、电压监控的疑问?1.什么是看门狗看门狗,又叫Watchdog,本质上来说就是一个定时器电路,一般有一个输入和一个输出,其中输入叫做喂狗,输出一般连接到另外一个部分
    的头像 发表于 12-26 17:18 2239次阅读
    一文详解<b class='flag-5'>看门狗</b>/电压监控芯片规格书