WDGM认知过程(二)

一、前言

看门狗处理方式

        通常硬件看门狗有自己的时间约束,每个看门狗实例的触发必须在最大的时间跨度内或根据相应看门狗实例的时间约束在定义的时间窗口内循环执行。如果没有触发,对应的硬件看门狗实例将导致复位。

        看门狗触发的实际时间封装在看门狗驱动程序中。看门狗管理器只通过看门狗接口设置一个触发条件,指示看门狗驱动程序继续触发。

        多个看门狗实例是指:外部多个看门狗,内部多个看门狗可以同时存在。

        看门狗管理模块使用看门狗接口模块的WdgIf_SetTriggerCondition服务来设置(更新)看门狗的触发条件。该服务需要看门狗设备索引和超时/计数器作为参数(参见配置参数WdgMTrigger [ECUC_WdgM_00331])。

        非常重要的配置:Trigger Conditions

每次重新计算全局监控状态时,看门狗管理器模块应更新触发条件。以下规则应使用推导决策,如何设置触发条件。

        1、对于状态WDGM_GLOBAL_STATUS_OK、WDGM_GLOBAL_STATUS_FAILED和WDGM_GLOBAL_STATUS_EXPIRED,函数WdgM_MainFunction应该正确设置触发条件。

        2、对于状态WDGM_GLOBAL_STATUS_STOPPED,函数WdgM_MainFunction需要将触发条件设置为0,通过HW看门狗进行复位。

        3、对于状态WDGM_GLOBAL_STATUS_DEACTIVATED,函数WdgM_MainFunction不能执行触发条件的设置(因为这个状态意味着看门狗管理器模块没有正确初始化)。

        将触发条件设置为零将立即阻止看门狗驱动模块触发硬件看门狗。

        其实WDGM的监控数据均在全局变量里面可以监视到。

注意的一个点:

        当看门狗管理器模块处于WDGM_GLOBAL_STATUS_OK或WDGM_GLOBAL_STATUS_FAILED状态时,可以执行模式切换。在其他模式下,函数WdgM_SetMode不起作用(参见[SWS_WdgM_00145])。

二、WDGM Configuration

1、Mode indpendent suprevision setting

1.1 supervised Entity

        为了支持sw - c跨平台的可移植性,看门狗管理器模块需要适应位于各自ECU上的受监管实体的数量。

WDGM认知过程(二)_第1张图片

理解一下以上需求,Supervised Entity ID 可以用BSW模块的ID,但是不能用SWC的ID。

要使具有监管功能的监管实体以某种模式(简称:去激活的监管实体)去激活,必须满足以下条件:

WDGM认知过程(二)_第2张图片

         由于内部图的逻辑监视是受监视实体的属性,因此内部图的逻辑监视配置不会影响受监视实体的去激活/激活状态。

2、 OS Application 

        受监管实体可以驻留在受信任或不受信任的分区中。每个非可信分区的内存访问都是隔离的,这样它的故障就不会破坏MCU中其他分区的内存。分区可以独立终止和重新启动。每个分区对应于一个OS- application,由AUTOSAR OS管理。

        如果一个被监管实体配置了操作系统应用程序,看门狗管理模块在到达该被监管实体的本地监管状态WDGM_LOCAL_STATUS_FAILED时请求重新启动相应的分区。

        要使分区重新启动,受监督实体需要引用OS应用程序(参见WdgMOsApplicationRef)。操作系统应用程序必须是非受信任的。

        只有不受信任的OS-Application才能重新启动WdgMOsApplicationRef不能指向受信任的OS-Application(即OsTrusted the of OsApplication为TRUE)。

3、内部图的逻辑监督

        每个受监管实体都可以有一个配置好的控制流,由看门狗管理器监督。这个控制流通过检查点和转换抽象出来(参见[ECUC_WdgM_00303])。其中一个检查点被标记为初始检查点。

        监督实体中的内部转换(见WdgMInternalTransition)不应连接不属于同一监督实体的检查点。

        要根据模式开启或关闭内部图的逻辑监督,需要从每种模式引用(或分别不引用)被监督实体。

        每个监督实体可能只有零个、一个或多个内部图。此外,并非监管实体的所有检查点都需要监控。但是,没有检查点可以属于一个以上的Graph。也就是一个监测点只能属于一个图,这是因为假设每个图都可以并发执行,在重叠的情况下,没有办法区分给定的检查点属于哪个图。

        检查点不属于外部图,也不属于内部图;这适用于所有模式

        内部转换和内部图是监督实体的一个属性。这些内部转换仅依赖于受监督实体中的控制流。因此,包含监督实体的SW-C或BSW模块的开发人员可以独立于其他监督实体交付检查点和内部转换的这种配置。下图显示了两个独立的受监视实体的配置,它们具有独立配置的内部图。

        WDGM认知过程(二)_第3张图片

4、外部图的逻辑监督

        也有跨越监督实体边界的过渡。当看门狗管理器模块也应该监督多个受监督实体的执行顺序时,就会出现这些外部转换。外部转换形成外部图。

        因此,外部转换必须独立于内部转换进行配置转换,且仅在逻辑监督上下文中。

        当我们集成上图中的两个监督实体时,例如,我们可以决定监督实体SE1必须始终执行到检查点CP1-4,然后监督实体SE2必须在检查点CP2-1开始执行。然后需要配置一个从CP1-4到CP2-1的过渡。这个Transition既不属于SE1也不属于SE2。图6显示了外部转换。

        在配置内部和外部转换时有一个显著的区别。内部转换属于一个受监督实体,它不依赖于看门狗管理器模式。可以通过从模式中引用SE来配置在给定模式中激活/禁用SE。但是,根据模式的不同,在同一个SE中不可能有不同的转换或检查点。相反,外部转换包含在特定的看门狗管理器模式中。每个模式可以有多个外部转换图。如果两种不同的模式具有相同的全局跃迁图,则需要将它们复制。

      WDGM认知过程(二)_第4张图片

 敲黑板:在ECU生命周期的不同阶段需要不同的模式。例如,一种模式在启动和关闭时激活,另一种在正常运行时激活,还有一种在睡眠时激活。

内外部图的针对项是逻辑监控

 外部图不能重叠(重叠什么意思?疑问点)

5、DEM相关

     P72   WDGM认知过程(二)_第5张图片

         

你可能感兴趣的:(WDGM,c语言,单片机,mcu)