当前位置: 首页 > news >正文

自动驾驶介绍系列 ———— 看门狗

文章目录

  • 硬件看门狗
  • 软件看门狗
  • 差异分析
  • 延申
    • 窗口看门狗

硬件看门狗

 硬件看门狗的本质上是一个定时器电路。通常存在一个输入,输入到MCU的RST端。在正常工作状态下,MCU每隔固定时间间隔会输出一个信号给RST端,实现对看门狗端清零。如果在指定的时间内未收到清零请求,那么看门狗电路会输出一个复位信号给到MCU,实现复位操作,防止MCU死机。
 通常来讲,系统运行后就已经开启了看门狗的计数器。看门狗就开始了自动计数,如果看门狗计数溢出后,就会引起看门狗中断从而造成系统复位。因此,在使用看门狗芯片时需要注意看门狗的电路设计和软件实施。

软件看门狗

 软件看门狗技术的原理和硬件开门狗的技术原理相通,只是通过软件的方法实现。一般来说,一个定时器/计数器就可以实现软件开门狗的设计。设计思路大体如下:
   1. 在初始化过程中设置定时器/计数器的方式设定定时时间的处置,并且打开中断;
   2. 根据定时时间,在主程序中按照一定时间间隔(小于定时时间周期)执行复位定时器的指令;
   3. 另外,在定时器的中断服务程序中,应设置一条无条件转移指令——将定时器的命令转移至程序初始化的入口。

差异分析

硬件看门狗与软件看门狗的差异分析
相同点 都是通过定时器实现;定时时间到没有喂狗就进行复位
都是需要在规定的时间内喂狗
都是靠软件进行喂狗
差异点 硬件看门狗芯片一般还附带了延迟复位和电源检 测的功能,软件则没有
软件看门狗很容易屏蔽关闭,只需修改其中的寄存器,而硬件看门狗一旦启动不断电就停不下来
软件看门狗很容易启动,只需修改其中的寄存器。硬件一般是收到第一个喂狗信号后就启动
硬件看门狗上电后收到第一个喂狗脉冲就完成了初始化,软件看门狗则需要配置相关的寄存器(或者调用相关的看门狗子程序)

延申

窗口看门狗

 窗口看门狗由从 APB1 时钟分频后得到时钟驱动。通过可配置的时间窗口来检测应用程序非正常的过迟或过早操作。 窗口看门狗最适合那些要求看门狗在精确计时窗口起作用的程序。
 工作流程如下:
   1.首先需要设置两个窗口值。假设总计数为1024,窗口值1为512,窗口值2为256。
   2.当计数处于1024~512区间内,系统出现喂狗行为,则会产生复位信号;
   3.当计数处于512~256区间内,系统出现喂狗行为,则重新开始计数;
   4.当计数处于256~0区间内,系统出现喂狗行为,则会产生复位信号。
在这里插入图片描述

http://www.lryc.cn/news/39065.html

相关文章:

  • 今天打开个税APP,我直接人麻了!
  • javascript进阶学习笔记(含AJAX)
  • 今年没有金三银四
  • NFS - Network FileSystem网络文件系统的实现原理
  • C#【汇总篇】语法糖汇总
  • 高完整性系统工程(一): Safety Engineering, HAZOP Fault Tree Analysis
  • VGG16分类模型的网页界面(Flask,keras)
  • 互联网摸鱼日报(2023-03-12)
  • SpringBoot异常处理?用这两个就够啦!
  • mysql-查询重复数据的条数-count
  • 【Java枚举类】使用enum关键词定义枚举类
  • 第十四届蓝桥杯三月真题刷题训练——第 8 天
  • 鼎阳SDS2074X Plus免费“升级”(破解)备忘录
  • 【C++】C++标准模板库STL (一) string类的使用详解
  • 如何用SpringBoot+Thymeleaf+Echart生成好看的柱状图,折线图,饼状图
  • LeetCode819. 最常见的单词(python)
  • 【深入理解C指针】经典笔试题——指针和数组
  • 雷达散射截面
  • 希腊棺材之谜——复盘
  • CentOS的下载和安装
  • new bing的chatGPT如何解析英文论文pdf
  • 学会这12个Python装饰器,让你的代码更上一层楼
  • 企业使用ERP的好处
  • 【QT】如何获取屏幕(桌面)的大小或分辨率
  • ETL工具的选择
  • SpringBoot仿天猫商城java web购物网站的设计与实现
  • C#基础教程22 文件的输入与输出
  • Ubuntu18.04 python 开发usb通信
  • RabbitMq 消息确认机制详解 SpringCloud
  • 后台导航布局