Diagnostic in Adaptive AutoSAR
扫描二维码
随时随地手机看文章
如有侵权,联系删除;编辑整理:糖果Autosar
Part1Diagnostic in Adaptive AutoSAR概述
Adaptive AutoSAR将逐渐成为车辆高性能计算机 (HPC) 的基础,因为它集成了以下功能:- 对多处理器系统的支持
- 并行处理
- 资源和更新的动态配置管理
- 面向服务的通信 (SOC)
- 首先根据车辆识别号 (VIN) 选择要诊断的车辆
- 然后通过其诊断地址与各个ECU单元建立通信
- 第一个是降低车辆以方便乘客上车(即ECAS.KNEELING)
- 第二个是倾斜功能,以防止巴士翻车
Part2诊断开发的流程
图3 诊断与控制单元软件联合开发流程如图所示,E/E 开发过程从车辆要满足的Product需求开始分析,及规划的Product变体(Product Variablity)。随着数据的复杂性及规模庞大性,现有的方案如下:- 将需求管理系统的规范数据(Spec)用Doors进行管理;
- 然后把需求数据导入到黄色所示的Vehicle Editor中,进行系统的架构设计,并定义通信矩阵关系(“CAN 矩阵”);
- 通过一个公共数据库,Vehicle Editor导出特定的格式的诊断文件DEXT或ODX(参见诊断描述文件的区别一章);如果后续需求有变化,只在公共数据库中进行更改(记住只在一个地方创建和管理定义很有必要),只需把原来的数据库重新导入后进行特定的修改后,导出回相应的其他格式,这确保了 ODX 和 DEXT 数据的一致性
- 然后通过导出的 ODX 和 DEXT 文件进行诊断开发(Arxml)和诊断的测试验证(Diagnostic Ecu-Validation tool可以基于自动生成测试序列以验证控制单元的诊断行为是否正确)
Part3诊断描述文件
1ODX与DEXT诊断描述文件的区别
ODX(Open Diagnostic Data Exchange)文件是一种开放式的标准化诊断数据格式,用于整车生命周期中诊断数据的交换。PDX为所有ODX文件压缩文件的格式。ODX是由ASAM制定的用来描述诊断规范的数据格式(MCD-2 D/ISO 22901-1),目前ODX诊断标准已在各大OEM全面施展开来。但是后来DEXT开始进入市场,已经被多家OEM和供应商使用并提供支持。DEXT(Diagnostic Extract Template)是AUTOSAR定义的诊断提取模板,用于DCM(Diagnostics Communication Manager)、DEM(Diagnostics Event Manager)以及FIM(Function Inhibition Manager)的需求及配置定义。DEXT最初发布在AUTOSAR 4.2.1中。AUTOSAR 4.3.0在标准UDS协议之外,增加了OBD-II、WWH-OBD、FIM和SAE J1939的相关扩展内容。DEXT不仅描述通过各自协议传输的数据,还包括ECU应用层软件中的初始数据(数据的来源)。当上述两种数据的描述完整正确时,即可通过DEXT配置AUTOSAR诊断相关BSW。AUTOSAR标准没有定义诊断协议、诊断服务和数据,而是直接使用了UDS和OBD-II的定义2用例分析
使用DEXT,不仅可以描述相应协议传输的数据,还可以描述ECU应用软件中数据的来源。当且仅当两种类型的信息均可用时,才可以完全配置基础诊断软件。AUTOSAR协议中定义了两种通用用例的诊断的配置过程。此过程涉及以下三方:- OEM或diagnostic requester;
- Application Developer或Application Developer;
- ECU-Supplier或integrator。
3DEXT的应用
DEXT可以满足AUTOSAR诊断模块的需求,主要应用于开发阶段的代码设计,支持AUTOSAR Classic以及Adaptive平台。目前市场上,为了减少AUTOSAR配置的复杂性,会选择使用ODX或者CDD文件导出DEXT做AUTOSAR实现,虽然CDD(.cdd)、ODX(.odx或*.pdx)以及DEXT(*.arxml)都是描述诊断相关信息的数据库,但是它们并不能互相替代,侧重覆盖的应用场景也不一样。如果使用ODX或者CDD做AUTOSAR实现,必然是需要补充ODX/CDD转DEXT所缺失的数据才能满足需求。4VisualODX 3.0版本
VisualODX 3.0版本通过EXCEL诊断问卷调查表扩展了DEXT定义所需支持的内容,新增了对服务及DID的Access Permission定义,和对事件(Event)数据的支持。图5 EXCEL诊断问卷调查表Service页定义该版本可以直接通过用户的诊断问卷调查表导出ODX/DEXT文件,不仅可以满足客户AUTOSAR架构中诊断模块软件实现的DEXT数据,而且能保证数据的同源,方便统一的维护。图6 VisualODX软件ODX数据导出界面Part4AutoSAR 诊断管理 DM
1概览
诊断管理 DM 实现了 ISO 14229-5(UDSonIP)。ISO 14229-5 基于 14229-1(UDS)和 ISO 13400-2(DoIP)。DM 是 AP Foundation 层上的 Functional Cluster(FC)。DM 的配置基于传统 CP 的 AUTOSAR Diagnostic Extract Template(DEXT)。DM 支持 DoIP 作为传输层协议。DoIP 是一个车辆发现协议,用于和诊断基础设施(诊断仪、工厂/售后测试仪)的 off-board 通信。车载或远程诊断一般会使用其他传输层协议,为此 AP 提供了扩展自定义传输层的 API。UDS 广泛用于车辆的生产和售后维修。2软件簇
The atomic updateable/extendable parts are managed by SoftwareClusters(SWCL)SoftwareClusters(SWCL)管理原子可升级/可扩展部分。SWCL 包含与部署/更新功能/应用相关的所有部分。DM 支持为每个安装的 SWCL 分配独立的诊断地址。SWCL 也和 UCM 的软件包耦合,所以 SWCL 可以被更新或者新安装的一台机器上。3诊断通信子簇(DCM)
诊断通信子簇实现了诊断服务(好比 CP 中的 DCM)。目前只支持有限的诊断服务,后续的 Release 将扩展支持更多的 UDS 服务。除了 ISO 14229-1 中的伪并行客户端支持,DM 还进行了扩展,可以在默认会话下支持客户端的全并行处理。满足了现代汽车架构的需求:- 多诊断客户端/测试仪的数据采集
- 后台访问
- 传统维修车间和产线使用场景
4自适应应用诊断
DM 作为诊断服务端,分发诊断请求(比如 Routine Control 和 DID 服务)到 AA 所映射的 Providing Port。AA 需要提供专门的 DiagnosticPortInterface。5专用/通用接口
DiagnosticPortInterface 有不同的抽象层级:- RoutineControl 消息
- 专用接口:API 声明包含所有请求和响应消息参数和原始数据类型。DM 负责序列化。每个 RoutineControl 消息有自己的 API。
- 通用接口:请求/响应消息的 API 声明只包含一个字节数组(Byte-Vector)参数,应用负责序列化。多个 RoutineControl 消息共用同一个 API。
- DataIdentifier 消息
- 专用接口:API 声明包含所有请求(用于写)和响应(用于读)的消息参数和原始数据类型。DM 负责序列化。
- 通用接口:请求/响应消息的 API 声明只包含一个字节数组(Byte-Vector)参数,应用负责序列化。
- 独立 DataElement:每个请求/响应消息参数有自己的接口。这是最高级别的抽象,任何请求/响应消息格式的改变都不会影响 API。不仅如此,一个诊断消息的参数可能来自/分发到不同的进程。
6诊断会话
DM 要求支持伪并行,诊断会话要能反应不同的诊断客户端和服务端的会话。诊断服务端是通过 UDS 请求中的 Target Address 来确定,且在 AP 中运行时动态分配。7事件存储子簇(DEM)
事件存储子簇负责 DTC(Diagnostics Trouble Code)的管理(好比 CP 中的 DEM)。Active DTC 表示一个检测到的问题(对产线和维修站很重要)。DM 管理 DTC 的存储、配置的 SnapshotRecords(当发生 DTC 时的一组环境数据)和/或 ExtendedDataRecords(属于 DTC 的统计数据,如重复发生次数)。检测逻辑叫做 Diagnostic Monitor。Monitor 向 DM 的 DiagnosticEvent 报告最近的测试结果。UDS DTC 状态源自一个或多个 DiagnosticEvent。DTC 可以存储在主存储(通过 19 17/18/19 访问)。DM 支持基于计数器或者基于时间的消抖。此外,DM 提供有关内部转换的通知:- DTC 状态更改
- 监视 DiagnosticEvent 重新初始化的需要
- Snapshot 或 ExtendedDataRecord 是否更改