点击上方蓝字谈思实验室
获取更多汽车网络安全资讯
1 介绍
现代 ECU 包含高度模块化的嵌入式软件,该软件可以由非可信和可信软件组件组成,这些组件执行不同 ASIL 级别的功能。在这种情况下,我们有两种不同的方法
-
整个软件必须按照最高的ASIL进行开发。 -
保持具有不同 ASIL 级别的软件组件,并确保具有较高 ASIL 级别的组件不受具有较低 ASIL 级别的元件的干扰 FFI。(常用方法) 一个系统往往需要同时实现多条ASIL等级不同的功能安全需求,当这些需求分配到软件模块上,不同的模块需要满足不同的ASIL等级,如下图所示。
2 时间监控
时序是嵌入式系统的一个重要属性。安全行为要求系统的动作和反应在正确的时间内执行。正确的时间可以用一组必须满足的时序约束来描述。然而,AUTOSAR 软件组件本身无法确保正确的计时。应该以某种方式确保它,但另一个独立组件是AUTOSAR WdgM。看门狗管理器 (WDGM) 位于 AUTOSAR 堆栈的服务层,如图所示,看门狗服务分布在 AUTOSAR 层中。它基本上包括:
看门狗管理器(服务层) 看门狗接口(ECU抽象层) 看门狗驱动程序(MCAL层)
看门狗管理器的任务是监督软件的执行,如果发现软件执行中的错误或缺陷,WDGM 将采取行动。SWC 使用 WDGM 提供的服务,使用客户端服务器接口。SWC 是客户端,WDGM 是服务器
定时保护和监控可以描述为监控以下属性:
-
监控任务在指定时间调度。 -
消耗他们的执行时间预算。 -
不要独占操作系统资源。(例如CPU负载重、中断请求多) 以下与时序和执行相关的故障可被视为软件组件之间干扰的原因:
-
执行的阻塞 -
死锁 -
活锁 -
执行时间分配不正确 -
软件元素之间的同步不正确。 -
执行流程不正确。ISO 26262 引入了一些用于错误检测的软件安全机制。它将活跃度和期限监督确定为临时保护的安全机制。并且还控制流监控作为错误执行流的机制。AUTOSAR 提供了一个方便的解决方案来实现这些机制/服务,它就是看门狗管理器 WdgM。
WdgM 的主要目的是提供一种机制来验证 SWC 的执行和时序约束。它的目的是考虑周期性和周期性的最大时序约束来监督应用程序执行的可靠性。
为了构建可以提供所有这些服务的通用且可扩展的模块,AUTOSAR 引入了一种新模式来概括 WdgM 的功能。它将您想要监控的任何指定的感兴趣的软件实体声明为“受监管实体 SE”。SE 的监控是通过在 SE 内部放置一些点“API / RTE 调用”来验证目标事件(调度、完成等)是否已经发生,这些点称为检查点。
WdgM 提供三种类型的监督来涵盖上述服务,如图所示。每个SE都有自己独特的标识符和本地状态。整个WdgM有一个整体状态,称为全局状态,根据监管类型、SE的配置,那些局部状态会影响全局状态,这将在后面描述。
WdgM 将获取包含所有 SE 及其配置的结构数组,并根据这些配置执行所需的监控,并且 WdgM 将相应地更新其本地状态。
在 WdgM 决定更新其全局状态以停止之前,本地状态不会导致重置,这将根据监督类型建立单独的状态机。下图包含监控和评估实时监督 SE 的流程图。
原文始发于微信公众号(谈思实验室):AutoSAR之 WdgM
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论