如何做网站关键词收录,浏阳商务局网站溪江农贸市场建设,免费网站开发合同范本,国外免费素材模板网站目录 一、Wdg原理以及作用1.看门狗类型2.看门狗功能特点3.看门狗工作模式4.看门狗超时响应5.看门狗寄存器 二、WDG模块EB配置#xff08;TC3X系列MCU#xff09;1.WDG通用配置#xff1a;2.WDG设置#xff1a;3.时钟资源分配4.配置STM IRQ中断5.配置触发执行动作#xff1… 目录 一、Wdg原理以及作用1.看门狗类型2.看门狗功能特点3.看门狗工作模式4.看门狗超时响应5.看门狗寄存器 二、WDG模块EB配置TC3X系列MCU1.WDG通用配置2.WDG设置3.时钟资源分配4.配置STM IRQ中断5.配置触发执行动作 三、Mcal接口应用1.软件接口定义2.应用步骤 四、总结 一、Wdg原理以及作用
WatchDog顾名思义看门狗每次代码运行使用者需要在特定的时间内完成喂狗否则将会发出警告进而提醒安全保护模块做出对应处理。TC3XX系列芯片的看门狗Watchdog功能是其硬件安全特性的重要组成部分。以下是对TC3XX看门狗功能的详细解释
1.看门狗类型
Safety Watchdog安全看门狗用于保护芯片系统层级的安全防止意外写入关键系统寄存器和存储器。如果在一定时间内未响应其计时器将引发SMU安全管理单元警报请求。CPU WatchdogCPU看门狗每个CPU核心都有一个独立的看门狗定时器用于监视单独的CPU执行线程并为CPU寄存器以及特定的系统寄存器提供保护。如果在用户可编程的时间段内没有正确地服务即刷新或“喂狗”它可能会导致SMU报警请求或触发设备复位。
2.看门狗功能特点
可编程性看门狗定时器具有可编程的时间基础和重新加载值。密码保护对看门狗寄存器的操作需要输入正确的密码才能进行。时间戳检查与窗口看门狗功能还提供了可编程的时间戳检查和可编程窗口。独立监视单独的CPU监视器计时器提供了监视单独的CPU执行线程的能力而不需要软件来协调一个共同的监视器的共享使用。
3.看门狗工作模式
Time-Out Mode超时模式复位以后CPU的Watchdog默认是处在Time-Out Mode下的WDT在Time-Out Mode下就会从0xFFFC开始往上计数如果计数到0xFFFF就会溢出。如果在计数到0xFFFF之前没有对WDT进行正确的重新加载操作WDT将保持在超时模式。Normal Mode正常模式在Time-Out Mode下如果在计数到0xFFFF之前对WDT进行了正确的重新加载操作即“喂狗”WDT将从Normal Mode开始从重新加载的值REL值往上计数。在Normal Mode下计数到0xFFFF后WDT就溢出了触发SMU的Timeout的Alarm。Disable Mode禁用模式在该模式下看门狗功能被禁用不会进行任何计时或监视操作。
4.看门狗超时响应
发送警报向SMU发送警报请求指示看门狗定时器已超时。触发中断配置为向CPU发送中断请求以便软件可以采取相应的恢复措施。复位设备在严重情况下可以配置为触发设备复位以确保系统的稳定性和安全性。
5.看门狗寄存器
看门狗模块主要有三类寄存器
保护寄存器WDTCPUyCON0y0-5系统寄存器WDTCPUyCON1y0-5状态寄存器WDTCPUySRy0-5
其中y代表CORE ID这些寄存器用于配置、监视和控制看门狗定时器的行为。
二、WDG模块EB配置TC3X系列MCU
1.WDG通用配置
在“General”选项卡下配置WDG模块的基本参数这里的Trigger即为喂狗动作当前配置为STM系统时钟触发配置为GTM触发将会启用GTMTimerConf选项卡
2.WDG设置 3.时钟资源分配 4.配置STM IRQ中断
配置STM中断以便及时喂狗
5.配置触发执行动作
在wdg识别异常并发出警告后需要传递至SMUSafety Management Unit安全管理单元模块进行故障处理因此需要在SMU中配置对应通道执行的异常处理动作。这里配置为NMINon-Maskable Interrupt非屏蔽中断意味着当该警报触发时SMU会向CPU发送一个NMI信号要求CPU中断当前任务并跳转到NMI中断处理函数进行处理这里也可以直接选择Cpu复位。 关于如何确定配置的Wdg连接至SMU 的哪个组哪个Behavior通道可以参考User Manual Tc39x附录中的SMU模块详细说明
三、Mcal接口应用
1.软件接口定义
Autosar标准文件中提及的API共有5个
接口名传入参数说明返回参数函数功能Wdg_17_Scu_Init()Wdg_17_Scu_ConfigType* ConfigPtrConfigPtrWdg配置指针参数来自于EB生成代码voidWdg初始化Wdg_17_Scu_InitCheck()Wdg_17_Scu_ConfigType* ConfigPtrConfigPtr:Wdg配置指针Std_ReturnType0OK 1NotOKWdg初始化检查Wdg_17_Scu_SetMode()WdgIf_ModeType ModeMode: 0 OFF 1SlowMode 2FastmodeStd_ReturnType0OK 1NotOKWdg切换模式需开启对应配置Wdg_17_Scu_SetTriggerCondition()uint16 timeouttimeout:设置定时触发器计数单位msvoid喂狗并重新设定计数值Wdg_17_Scu_GetVersionInfo---Wdg版本信息
2.应用步骤
WDG超时复位 1.Wdg_17_Scu_Init()//配置初始化 2.Wdg_17_Scu_SetTriggerCondition()//初始化设定超时时间 3.调用Wdg_17_Scu_SetTriggerCondition()//在Wdg溢出之前喂狗
四、总结
本文为博主个人学习总结记录如有不正欢迎指正