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.xmlodx包目录由一个catalog实例表示,它提供了存储在相应pdx包中的所有文件的列表。
元素“file”的内容代表pdx中包含的文件,
元素“category”内容如下:
odx-data:适用于所有odx文件odx-job:适用于java-files,class-files,jar-files,dll-fileslib:所有被job使用或导入的文件programming-data:用于控制器编程的bin/hex文件
2.3.车辆信息odx-vodx-v文件主要作为诊断仪访问ecu的入口,包含两个重要元素:
info-component(该元素包含oem、vehicle-model、model-year、vehicle-type等)。vehicle-information(该元素包含vehicle-connector、physical-vehicle-link、logical-link等),诊断仪可以使用logic-link信息在pdx包中寻找包含目标ecu的base-variant文件,然后诊断仪就可以与ecu通讯了,当然也要确认ecu的变体信息ecu-variant。
2.4.通信参数odx-c/odx-csodx-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-dodx-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请求报文示例
引用“dlc.uds.esd.generic_uds_services.rq.req_tester_present”。
2.5.4.uds肯定应答报文示例
引用“dlc.uds.esd.generic_uds_services.pr.pos_resp_tester_present”。
2.5.5.uds否定应答示例
引用“dlc.uds.esd.generic_uds_services.dop.iso_nrc_definition”。
引用“dlc.uds.esd.generic_uds_services.dop.nrc_10”。
3.总结iso-22901是标准的odx规范,各个oem会按照自己的需求编写企业级的agl(authoring guide line)文件,用于定义odx文件结构,便于诊断数据工程师开发、维护odx文件,所以agl文件对odx数据解析起着指导性作用。
北汇信息专注于汽车电子测试、与众多oem合作,在总线网络诊断测试开发相关领域积累了丰富的经验。本篇文章简单介绍了odx数据结构,odx协议规则还有很多,限于篇幅,不做一一介绍了,下篇系列文章将分享为了实现诊断相关的测试,odx数据解析的过程和方法,敬请持续关注。
参考文献[1]iso 22901-1
制造业补短板已迫在眉睫
吸波材料知识介绍之三 结构型吸波机制
星火夜话,论道国产数据库
基于MIPS32架构的Linux操作系统移植
企业组织如何成功抵御DDoS的七大关键因素
基于ODX诊断测试开发(1):ODX数据库剖析
工业无人机固定翼激光雷达 傲势纯电动无人机才是未来
阿里云最新研究报告《人工智能:未来制胜之道》介绍
基于TMS320C6455系列DSP的中断系统的使用
2020排名前15位的半导体供应商是哪些?
追赶SK海力士,三星、美光抢进HBM3E
传闻三星2017年将推出2款可卷曲屏幕手机 或命名为Galaxy X
智能制造是电池企业降低成本、碾压竞争对手的必由之路
大疆农业植保无人飞机T16向全球展示中国现代农业科技
关于三种磷酸铁锂电池型号的简单介绍
教你如何保养LED车灯
一种基于MVC架构的智能储物柜交互系统设计
IBM工程师Scott Grizzle浅谈流媒体协议和Codec
智能家居远程监控系统设计与实现
苹果 A12 仿生芯片每平方毫米晶体管比 A11 仿生芯片多 70%