本博文展示了看门狗管理器与其他BSW模块以及受监督实体之间的交互与配置解析
1 Initialization
该图显示了Watchdog Manager模块的初始化。初始化应该在操作系统初始化之后的ECU初始化后期进行。

2 配置
配置只包含了两个大的模块


| WdgMDefensiveBehavior |
Description | 启用/禁用Watchdog Manager模块防御行为的预处理器开关 |
| WdgMImmediateReset |
Description | 该参数用于在实时监控失败的情况下启用/禁用立即重置功能。 true:启用立即复位 false:禁用立即复位 |
Container Name | WdgMSupervisedEntity |
Description | 该容器收集监视实体的所有公共(独立于模式的)参数,由看门狗管理器监视。 |

以上参数,我们有几个监控实体,就应该配置几个
| WdgMEcucPartitionRef |
Description | 表示被监视实体在其中执行的“EcucPartition”。当分区停止时,被监控实体应在WdgM中去激活,以避免ECU复位。 |
| WdgMInternalCheckpointInitialRef |
Description | 这是对这个受监督实体的初始检查点的引用。 |
| WdgMInternallCheckpointFinalRef |
Description | 这是对该监督实体的最终检查点的参考 |
| WdgMOSCounter |
Description | 由看门狗管理器使用的操作系统计数器,用于对被监管实体执行deadline supervision。 |
| WdgMOsApplicationRef |
Description | 对操作系统应用程序的可选引用。注意,当相应的受监督实体达到WDGM_LOCAL_STATUS_FAILED时,Watchdog Manager模块将触发此操作系统应用程序的分区重新启动。 |

WdgMCheckpoint | 1..65535 | 此容器收集此受监督实体的所有检查点。每个监督实体至少有一个检查点。 |
WdgMInternalTransition | 0..65535 | 这个容器定义了这个监督实体中的内部转换图。 |
到目前为止我依旧有一个很大的疑问点,下面的配置是默认生成的吗?因为看了下ETAS的工具是不存在一下配置项的。
事后补充-带这个参数的都是配置默认产生的


内部图的配置包含了以下关系

诊断配置项:这点关联到DEM,DEM的DTC需要有这个配置才行
WdgMDemEventParameterRef s | 0..1 | 用于DemEventParameter元素的引用,在发生相应错误的情况下,应该使用API Dem_ReportErrorStatus调用该元素。EventId取自引用的DemEventParameter的DemEventId值。标准化错误在容器中提供,可以通过特定于供应商的错误引用进行扩展。 |

| WDGM_E_IMPROPER_CALLER |
Description | 引用DemEventParameter,当防御行为检查检测到不适当的调用者时,应发出DemEventParameter。 |
| WDGM_E_SET_MODE |
Description | 参考DemEventParameter,当“看门狗驱动程序的模式切换失败”错误发生时,该参数将被发出。 |
| WDGM_E_SUPERVISION |
Description | 引用DemEventParameter,当“监控失败(全局监控状态已达到WDGM_GLOBAL_STATUS_STOPPED),看门狗重置将发生”错误发生时,该参数将被发出。 |
| WdgMExpiredSupervisionCycleTol |
Description | 通过参数应使用定义一个值,该值固定了在全局监视状态达到状态expired后,监视周期过期的次数,以及触发看门狗的阻塞应该延迟多长时间。 |
WDGM_GLOBAL_STATUS_EXPIRED | 2 | 监视失败,已超过允许的失败限制,但还没有指示看门狗驱动程序停止触发。 |
WdgMAliveSupervision | 0..65535 | 该容器收集一个检查点的Alive-Supervision的所有配置参数。注意,每个检查点可能有不同的参数。例如,它可能有不同的最小和最大空白。 |
WdgMDeadlineSupervision | 0..65535 | 此容器收集受监督实体的Deadline Supervision的所有配置参数。 |
WdgMExternalLogicalSupervisio n | 0..65535 | 此容器为一个外部图收集Logical Supervision的所有配置参数。 |
WdgMLocalStatusParams | 0..65535 | 此容器收集受监督实体的本地状态的所有配置参数。 |
WdgMTrigger | 0..255 | 此容器为触发硬件监视程序收集所有配置参数。 |
注意一个概念SE是指监控实体。
| WdgMExpectedAliveIndications |
Description | 该参数包含根据相应 SE 在定义的监督周期的参考数量内检查点的预期存活指示的数量。 |
| WdgMMaxMargin |
Description | 此参数包含检查点的活动指示的数量,这些数量可接受作为相应监督参考周期内预期活动指示的补充。 超出预期值 假如预期值为10 这个值为2 那么就可以达到12 |
| WdgMMinMargin |
Description | 该参数包含在相应的监督参考周期内,可以从预期的存活指示中遗漏的检查点的存活指示的数量 少于预期值 假如预期值为10 这个值为2 那么就可以达到8 |
| WdgMSupervisionReferenceCycle 注意以下和WdgMExpectedAliveIndications的差别 |
Description | 该参数应包含监督周期的数量,该数量将被存活监督机制用作参考,以根据相应的 SE 使用计数的存活指示执行检查 |


WdgMDeadlineSupervision


WdgMExternalLogicalSupervisi

WdgMLocalStatusParams
| WdgMFailedAliveSupervisionRefCycleTol |
Description | 此参数应包含此被监控实体的可接受的活动监控不正确/失败的引用周期数量。 |

WdgMExternalTransition
这个WdgMExternalLogicalSupervision下面的

WdgMTrigger
| WdgMTriggerConditionValue |
Description | 这个参数应该包含传递给WdgIf_SetTriggerCondition的值。 |
