目录
前言
几个高频面试题目
休眠模式下如何处理WDT?
算法原理
什么是Watchdog?
WdgM的基本功能
WdgM的分层架构
WatchDog功能
1)硬件支持看门狗
2)软件支持的看门狗
Watchdog Manager监控类别
Watchdog Driver模块
WatchDog检测目标
Watchdog Manager模块
Watchdog监控状态机
Watchdog应用逻辑
Autosar 三种机制
1 Alive Supervision
2 Deadline Supervision
3 Logic Supervision
前言
单片机程序运行过程中,可能会遇到各种意外情况,导致程序运行出现故障。对于这些由于意外随机导致的故障,开发者不可能进行针对性的解决,而且这些意外情况大概率可以通过单片机复位(reset)得到解决。看门狗(WatchDog)就是在程序发生意外故障时,对程序进行复位的一个部件。
其实看门狗的本质就是一个计数器\定时器(timer)。以STM32的看门狗为例:其中的看门狗定时器(WatchDog Timer)具有向下计数的特性,定时器开始递减,如果定时器的值递减到0,则定时器触发单片机复位(这个动作一般叫看门狗超时复位)。而在程序正常运行时,看门狗定时器肯定不能reset单片机,所以在看门狗定时器递减到0之前,需要把看门狗定时器的值重新置为初始值(65535),然后看门狗定时器(WDT)重新递减计数,这个重置WDT值的动作就叫喂狗。喂狗的动作也需要函数才能完成(这个函数可以叫喂狗函数,需要周期性执行)