打印
[AURIX™]

Infineon-AURIX_TC3xx学习篇 - WDT

[复制链接]
1289|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tfqi|  楼主 | 2023-11-9 16:41 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
Watchdog Timers (WDT)
1. Feature List
TC3XX 包含以下Watchdog Timers:

一个 安全看门狗定时器Safety Watchdog Timer, 防止意外写入关键系统寄存器和存储器, 一定时间内未响应其计时器, 将引发SMU警报请求.
每个CPU有一个Watchdog Timer,为CPU寄存器以及特定的系统寄存器提供保护, 监视单独的CPU, 一定时间内未刷新, 将触发设备复位.
每个Watchdog Timer都有如下的基本功能:

Programmable timebase and reload value
Programmable密码保护与Programmable自动密码排序
Programmable timestamp checking with programmable window
无效或丢失的计时器刷新序列会导致安全警报
Debug过程中可以暂停watchdog
关键寄存器写保护,只能在短时间内解锁
2. AURIX TC2xx SCU WDT和AURIX TM TC3xx SCU WDT之间最重要的变化是:
寄存器地址更改
增加的CPU响应增加相应的看门狗定时器
可以通过新的ENDINIT(End-of-Initialization, 初始化终止)超时计数器(EICON寄存器)进行ENDINIT解锁,而不会影响任何CPU看门狗定时器
可以通过新的安全ENDINIT超时计数器(SEICON寄存器)解锁安全ENDINIT,而不会影响安全看门狗定时器
安全看门狗定时器的单独ACCEN保护范围
外部WDT“活动心跳”指示功能已删除
3. Watchdog Timers Overview
WDT提供了一种高度可靠和安全的方法来检测软件或硬件故障并从中恢复。 WDT有助于在用户指定的时间段内中止CPU或系统的意外故障.
WDT框图:

除此标准的“看门狗”功能外,每个WDT都具有初始化终止(ENDINIT, End-of-Initialization)功能,可以保护关键寄存器免于意外写入.

维护看门狗和修改ENDINIT位是至关重要的功能,如果系统出现故障,则不允许这样做。 为了保护这些功能,实施了一种复杂的方案,该方案在访问WDT控制寄存器期间需要密码和保护位。 任何未提供正确密码或保护位正确值的写访问均被视为系统故障,并导致看门狗警报。 另外,即使在执行了有效的访问并且将ENDINIT位清零以提供对关键寄存器的访问之后,看门狗也对该访问窗口施加了时间限制。 如果在该限制到期之前未再次正确设置ENDINIT位,则认为系统发生了故障。 这些严格的要求尽管不能得到保证,但是仍然为系统操作的鲁棒性提供了高度的保证.
可用的配置选项使看门狗服务能够额外检查代码执行顺序和中间代码执行时间。 如果启用了这些检查,则任何不正确的顺序或超限的执行时间也将导致SMU警报请求.

任何WDT到期都会引发SMU警报。 可以对SMU进行编程以提供中断或陷阱,以便在采取进一步措施(例如重置设备或CPU)之前为恢复或状态记录提供一些时间.

Safety Watchdog Timer, 安全看门狗定时器:
提供了独立于CPU看门狗定时器的整体系统级看门狗,并且还提供了另一种保护措施,以防止意外写入安全关键系统寄存器。 启用安全WDT时,如果在用户可编程的时间段内未对SMU发出警报,则可能引发SMU警报请求. CPU必须在此时间间隔内为安全WDT服务,以防止发生这种情况。 在SMU中可以配置对安全WDT超时的响应。 因此,定期对Safety WDT进行维护可确认系统正在按预期运行.
通常,将配置SCU写保护(ACCEN),以便只有受限制的“安全” CPU(s)才能配置安全关键功能, 这包括服务安全看门狗的能力. 此外,安全监视程序计时器的禁用/启用/配置功能需要安全ENDINIT密码

CPU Watchdogs Timer, CPU看门狗定时器:
单独的CPU看门狗定时器提供了监视单独的CPU执行线程的能力,而无需软件来协调通用看门狗的共享使用.
启用CPU WDT时,如果在用户可编程的时间段内未正确服务,则可能导致SMU警报请求。 CPU必须在此时间间隔内为其CPU WDT服务,以防止出现这种情况。 在SMU内可配置对每个CPUy看门狗超时的响应. 因此,对CPU WDT的定期服务确认相应的CPU正在按预期执行软件序列.
复位后,CPU0运行,并且CPU0看门狗定时器自动启动. 其他CPU最初处于HALT状态,因此禁用了它们对应的看门狗定时器。 默认情况下,其他CPU看门狗定时器未配置为生成超时复位,但是可以启用它. CPU看门狗只能由其相应的CPU进行配置,启用或禁用.
WDT的主要功能总结如下:
16位看门狗定时器
可选输入频率:fSPB / 64,fSPB / 256或fSPB / 16384
正常看门狗定时器操作的16位用户可定义重载值,超时模式为固定重载值
合并相应的ENDINIT位并监视其修改
具有用户可定义的密码字段的复杂密码访问机制
访问错误检测:无效的密码(第一次访问期间)或无效的保护位(第二次访问期间)触发对SMU的警报请求
时间和逻辑监视功能:可选的代码序列检查. 错误的代码序列签名标识将触发对SMU的警报请求; 可选的代码执行时间检查, 代码执行时间超出预期的限制将触发向SMU发出警报的请求
溢出错误检测:WDT计数器的溢出触发向SMU发出警报请求
看门狗功能可以禁用; 访问保护和ENDINIT位监视功能保持启用状态
可配置的机制,以防止在未使用安全警告警报后重新加载看门狗,以确保未使用警告会导致SMU硬件响应
————————————————
版权声明:本文为CSDN博主「HappyAdelle」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/HappyAdelle/article/details/134125591

使用特权

评论回复
沙发
tpgf| | 2024-3-5 14:54 | 只看该作者
还有米有其他的功能模块能取代看门狗的部分功能呢

使用特权

评论回复
板凳
xiaoqizi| | 2024-3-5 15:30 | 只看该作者
安全看门狗定时器和普通的看门狗定时器的区别是什么呢

使用特权

评论回复
地板
木木guainv| | 2024-3-5 16:17 | 只看该作者
相同的时钟 32位的看门狗能比16位的看门狗的定时时间更长?

使用特权

评论回复
5
wowu| | 2024-3-5 16:50 | 只看该作者
在配置看门狗寄存器的时候 是否可以配置成到时间不喂狗 先不复位而是给出警告的操作呢

使用特权

评论回复
6
wakayi| | 2024-3-5 17:23 | 只看该作者
看门狗计时器可以当成普通的定时器来使用吗

使用特权

评论回复
7
renzheshengui| | 2024-3-5 17:56 | 只看该作者
在使用看门狗的时候一定要注意喂狗时间 否则会造成不必要的复位

使用特权

评论回复
8
LOVEEVER| | 2024-3-27 18:24 | 只看该作者
wowu 发表于 2024-3-5 16:50
在配置看门狗寄存器的时候 是否可以配置成到时间不喂狗 先不复位而是给出警告的操作呢
...

楼上这个逻辑顺序有点问题,时间到了肯定是复位的,在没到之前可以输出报警,时间到了复位时间非常快,报警瞬间就没了,根本无法发现

使用特权

评论回复
9
jf101| | 2024-3-29 08:25 | 只看该作者
每个WDT都具有初始化终止(ENDINIT, End-of-Initialization)功能,可以保护关键寄存器免于意外写入

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

56

主题

3316

帖子

4

粉丝