WDG介绍
为检测程序正常运行和在软件跑飞时能有错误响应机制,引入WDG模块去监控程序运行。程序需要周期性喂狗来重置看门狗,以免触发内狗复位。
WDG实现方式
在autosar中整个看门狗模块包含WDGM、WDGIF、WDGDriver控制硬件实现的看门狗。
Wdg通常有两种,一种是芯片内部自带的看门狗;一种是在芯片外部通过SPI通信的片外看门狗。MCAL只负责片内看门狗,Wdg模块直接访问相关硬件寄存器。片外看门狗属于板级设备,通常需要使用MCAL提供的模块来访问/控制。
U2A WDTB模块原理
U2A 芯片提供不同数量的WDTB单元,每个WDTB单元单独的接口。通常情况下,每个核一个WDTBn,除此之外还有一个WDTBA
主要功能
看门狗定时器具有以下功能:
- 复位后的操作方式选择,通过选项字节配置
可选择WDTB的使能/去使能、复位后计数器的启动/停止、计数器溢出时间的设置、VAC功能的使能/去使能。WDTB启动选项由选项字节设置。 - WDTB触发函数
写入激活码到WDTB触发寄存器启动WDTB并重新启动计数器。激活码包括固定激活码和可变激活码(VAC功能)。在变量激活代码中,将与上次不同的值写入WDTB触发寄存器,这将导致计数器重新启动。 - 中断请求信号
当WDTB计数器达到特定数量或溢出间隔时间的75%时,可以产生中断请求信号该功能可通过设置WRTBM