英飞凌Wdg模块介绍

1 概述

 TC3xx包含以下看门狗计时器:
     .一个安全的看门狗计时器
     .每个CPU独立的看门狗计时器
有以下基本功能:
    .可编程的时间基础和重新加载值
    .可编程的密码保护与可配置的自动密码排序
    .可编程的时间戳检查与可编程窗口
    .无效或丢失定时器刷新序列导致安全警报


2 安全看门狗

      安全监视计时器提供了一个独立于CPU监视计时器的整体CPU监视器,并提供了另一种保护,防止意外写入安全关键系统寄存器。当Safety WDT被启用时,如果它没有在用户可编程的时间段内得到服务,它可能会引起SMU报警请求。
      CPU必须在此时间间隔内服务于Safety WDT,以防止其发生。对Safety WDT超时的响应可以在SMU中进行配置。
 

3 CPU看门狗

     单独的CPU监视器计时器提供了监视单独的CPU执行线程的能力,而不需要软件来协调一个共同的监视器的共享使用。
     当CPU WDT被启用时,如果在用户可编程的时间段内没有正确地服务,它可能会导致SMU报警请求。CPU必须在此时间间隔内服务其CPU WDT,以防止这种情况发生。
     对每个CPUy监视器超时的响应是可以在SMU内配置的。因此,定期维护CPU WDT可以确认相应的CPU正在按预期执行软件序列。

     重置后,CPU0运行,CPU0监视器计时器自动启动。其他cpu最初处于HALT状态,因此它们相应的看门狗计时器被禁用。其他CPU监视器没有配置为生成超时重置,但可以启用。CPU监视器只能由其相应的CPU进行配置、启用或禁用。

4 寄存器写保护机制

EndInit的保护有三种:

1)“CE”保护,只有把每一个CPU的ENDINIT设为0后,这个CPU的critical registers保护才被解除(可写)。

2)“E”保护,任意一个CPU的ENDINIT设为0后,所有CPU的system critical registers保护就解除了。

3)“SE”保护,Safety Watchdog的ENDINIT设为0后,Safety EndInit的保护就解除了。

ENDINIT设置为0的操作,需要一套较为复杂的操作序列。

ENDINIT置为0需要一段时间,只有等到ENDINIT真的为0后才能执行往下的操作,不然可能会产生异常。


5 看门狗模式

每个看门狗计时器可以在三种不同的操作模式下操作:

 . Time-Out Mode

  .Normal Mode

  .Disable Mode

     

        复位以后CPU的Watchdog默认是处在Time-Out Mode下的,WDT在Time-Out Mode下就会从0xFFFC开始往上计数,如果计数到0xFFFF就会溢出,如果在计数到0xFFFF之前对WDT_CON0进行了password access后对WDT_CON0进行了Modify access,重新对WDT进了reload value到REL值,这样WDT从Time-Out模式切换到了Normal Mode,这个时候WDT开始从REL值往上计数。

     在Noraml Mode下计数到0xFFFF后WDT就溢出了,触发SMU的Timeout的Alarm,这个Alarm会触发SMU里面的一个Recovery time进行计数,Recovery time也timeout后就会产生一个SMU的reset。因此如果开启了watchdog功能,必须在超时之前重新加载REL值。

6  看门狗使用

     看门狗模块主要有三类寄存器,保护寄存器WDTCPUyCON0(y=0-5),系统寄存器WDTCPUyCON1 (y=0-5) ,状态寄存器WDTCPUySR(y=0-5)。

6.1  解锁寄存器

    在对看门狗寄存器进行操作时,需要输入正确的password才能进行操作,默认password为60.

又有PW位 bit2-bit8进行的翻转,调试器读取出来PW实际为3.

    当写入正确的password值后,LCK会自动解锁,再次写入password值,LCK会自动锁住。

6.2  加载超时计数值

      当写入正确的password后,可重新加载REL值,定时器会从加载值向上计数,加到FFFF值,后溢出。因此需要在计数值溢出之前, 在中断函数或周期任务里面重新加载REL值。

6.3  使能看门狗功能

     通过控制 系统寄存器WDTCPUyCON1中DS位,可以使能看门狗功能。

6.4 观测看门狗状态

    通过状态寄存器WDTCPUySR的可以观测看门狗状态。

     如DS反映看门狗是否使能,OE反映当前超时状态,TIM位反映计数值。

Autosar中的WDG(Watchdog)模块是一种用于监控系统状态并确保系统可靠性的重要功能模块WDG模块的配置对于系统的正常运行和故障处理非常关键。 首先,配置WDG模块的工作模式是很重要的。WDG模块通常可以配置为内部喂狗模式和外部喂狗模式。内部喂狗模式是指系统自身定时喂狗来防止WDG超时复位系统。外部喂狗模式是指外部设备定期喂狗来确保系统正常工作。根据系统的要求选择适当的工作模式。 其次,配置WDG模块的喂狗定时器是很重要的。喂狗定时器的时间设置需要根据系统的实际情况来确定。如果时间设置太长,可能会导致系统延迟响应或功能失效;如果时间设置太短,可能会导致系统频繁复位或误判。因此,需要根据系统的要求和性能来选择适当的喂狗定时器时间。 此外,还需要配置WDG模块的超时操作。超时操作可以包括系统复位、发出警告信号或执行特定的故障处理程序等。根据系统的需求和安全性等级,选择适当的超时操作是必要的。 最后,对于WDG模块的配置还需要考虑触发条件和异常处理。触发条件可以是系统故障、资源耗尽等,需要根据系统的特点和需求来确定。在异常处理方面,可以配置WDG模块执行特定的故障处理程序或记录错误信息等。 综上所述,对于Autosar的WDG模块配置,需要考虑工作模式、喂狗定时器设置、超时操作、触发条件和异常处理等因素。合理配置WDG模块可以提高系统的可靠性和稳定性,保证系统的正常运行。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值