1.ODX简介
由ASAM组织提出的诊断数据交互格式,全称为Open Diagnostic Data Exchange,包含ODX2.0.1和ODX2.2.0规范,两个版本之间不兼容。ISO收录了其中ASAM ODX2.2.0规范,即ODX规范ISO-22901,主要用于描述整车以及ECU的诊断数据,方便供应商与OEM、产品开发与售后间的数据交互。ODX使用统一建模语言(UML)图描述,数据交互格式使用可扩展标记语言(XML)存储记录数据。便于承载从设计、开发、测试、生产及售后维护的全流程工作。
2.ODX文件类型
ODX2.2.0(ISO-22901)将ODX文件分为如下类型:
odx-c/-cs:通讯参数,如会话层、传输层时间参数以及逻辑地址等通讯相关信息
odx-d:ECU诊断层规范(包含ECU所有诊断服务以及诊断使用的数据)
odx-v:车辆信息(-v文件可以包含整车所有控制器拓扑结构,诊断仪可以通过logic link选择需要诊断的ECU)
odx-e:ECU配置(产线ECU配置信息)
odx-f:ECU编程数据(ECU刷写相关数据,如checksum和签名信息等)
odx-fd:功能字典(车辆功能信息库,如中控锁功能包含四个车门功能信息)
odx-m:多ECU功能规范(定义了同时和多个ECU进行通讯的方法)
2.1.PDX文件
PDX文件可作为各类型odx文件的容器,将相关odx文件打包为PDX文件(.pdx),并且作为输入物导入诊断工具。
2.2.ODX包目录文件index.xml
ODX包目录由一个CATALOG实例表示,它提供了存储在相应PDX包中的所有文件的列表
元素“FILE”的内容代表PDX中包含的文件,元素“CATEGORY”内容如下:
—— ODX-DATA:适用于所有ODX文件
—— ODX-JOB:适用于java-files,class-files,jar-files,dll-files
—— LIB:所有被JOB使用或导入的文件
—— PROGRAMMING-DATA:用于控制器编程的bin/hex文件
2.3.车辆信息odx-v
odx-v文件主要作为诊断仪访问ECU的入口,包含两个重要元素:
1.Info-Component(该元素包含OEM、Vehicle-Model、Model-year、Vehicle-Type等)
2.Vehicle-Information(该元素包含Vehicle-Connector、Physical-Vehicle-Link、Logical-Link等),诊断仪可以使用Logic-Link信息在PDX包中寻找包含目标ECU的Base-Variant文件,然后诊断仪就可以与ECU通讯了,当然也要确认ECU的变体信息ECU-Variant。
2.4.通信参数odx-c/odx-cs
odx-c 描述应用层、传输层、物理层适用的是哪版规范(如CAN总线对应的规范分别是14229、15765、11898),其中应用层(如P2、P2*等)、传输层(As、Bs、Br、Cs、Cr、STMin等)、物理层(ID等)分别对应一个odx-cs文件。
2.4.1.通信参数规范引用:
2.4.2.通信参数规范定义应用层、传输层、物理层适用的规范
2.4.3.传输层参数定义
为了减少数据冗余,odx-c/cs参数为默认值,对于ECU差异性数据可以用元素SIMPLE-VALUE对应用的通信参数重新赋值
2.5.诊断层odx-d
odx-d文件包含控制器的所有诊断数据,如服务、DTC、DID、RID、数据类型等信息,odx-d元素分类如下:
PROTOCOL:定义了某种诊断层协议(如UDS/OBD)
FUNCTIONAL_GROUP:定义了多个ECU共同支持的服务或数据
BASE-VARIANT:代表一个具体ECU,每个ECU只有一个BASE-VARIANT,它继承PROTOCOL和FUNCTIONAL-GROUP,可以对上面两层的诊断服务与数据进行引用,也可以对继承的服务和数据进行修改
ECU_VARIANT:各个ECU的具体实现,如BCM有多种配置,不同配置的BCM数据也存在差异
ECU-SHARED-DATA:是一个数据库,由上述4层对其进行引用
2.5.1.层级继承关系
odx支持值继承,相较于其他数据库odx文件更加灵活,各层级间继承关系如下:
ECU-SHARED-DATA可被其它层继承,但不能继承其它层
PROTOCOL可继承ECU-SHARED-DATA
FUNCTIONAL-GROUP可继承PROTOCOL和ECU-SHARED-DATA
BASE-VARIANT可继承 FUNCTIONAL-GROUP、ECU-SHARED-DATA、PROTOCOL
ECU-VARIANT可继承ECU-SHARED-DATA、BASE-VARIANT
2.5.2.层级继承关系示例
2.5.3.UDS请求报文示例
2.5.4.UDS肯定应答报文示例
2.5.5.UDS否定应答示例
3.总结
ISO-22901是标准的ODX规范,各个OEM会按照自己的需求编写企业级的AGL(Authoring Guide Line)文件,用于定义ODX文件结构,所以解析ODX数据也要参考OEM的AGL文件。本篇文章简单介绍了ODX数据结构,ODX协议规则还有很多,限于篇幅,不做一一介绍了,下篇系列文章将分享为了实现诊断相关的测试,ODX数据解析的过程和方法,敬请持续关注。
参考文献
[1]ISO 22901-1
作者:北汇信息-孙大勇
|
更多相关资讯及业务介绍,欢迎访问上海北汇信息官方网站:上海北汇信息科技有限公司
北汇官方知乎账号:北汇信息-知乎
更多技术干货,行业前沿动态,请关注上海北汇信息官方公众号:
联系方式:
电话:021-34716271
邮箱:info@polelink.com
北汇信息成立于2010年,是一家技术驱动的创新型服务企业。北汇信息始终专注于汽车电子领域的新技术和新产品,为整车厂和零部件企业提供完整的研发、测试解决方案。从测试工具、专用测试设备、完整测试方案到实车测试服务,我们与我们的客户一起努力,让中国的汽车变得越来越安全、越来越舒适、越来越智能。
转载:https://blog.csdn.net/weixin_51954443/article/details/113646639