0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于ODX诊断测试开发(1):ODX数据库剖析

北汇信息POLELINK 2022-07-27 15:28 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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文件

pYYBAGLg3QuAGr8GAAJT-uLYGpM105.png

2.3.车辆信息odx-v

odx-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。

pYYBAGLg3SCAYV_3AAFx_hhldvE532.png

pYYBAGLg3S2AIlxnAADauKlPwaI199.png

2.4.通信参数odx-c/odx-cs

odx-c描述应用层、传输层、物理层适用的是哪版规范(如CAN总线对应的规范分别是14229、15765、11898),其中应用层(如P2、P2*等)、传输层(As、Bs、Br、Cs、Cr、STMin等)、物理层(ID等)分别对应一个odx-cs文件。

poYBAGLg3T-AQ16DAABoyxIl2CE514.png

2.4.1.通信参数规范引用

poYBAGLg3WSAH0OEAAEswHM2mu0401.png

2.4.2.通信参数规范定义应用层、传输层、物理层适用的规范

pYYBAGLg3XSALxHHAAFF7Ci_Too795.png

2.4.3.传输层参数定义

pYYBAGLg3YKAcgPUAAF2uueeUK0261.png

为了减少数据冗余,odx-c/cs参数为默认值,对于ECU差异性数据可以用元素SIMPLE-VALUE对应用的通信参数重新赋值。

poYBAGLg3Y-AEtUbAAEbYlPtbbc417.png

2.5.诊断层odx-d

odx-d文件包含控制器的所有诊断数据,如服务、DTC、DID、RID、数据类型等信息,odx-d元素分类如下:

poYBAGLg3Z-ADjclAACI7Sh7CGc970.png

  • 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文件更加灵活,各层级间继承关系如下:

pYYBAGLg3bKASz9AAAC4jnrxLfU620.png

  • 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.层级继承关系示例

pYYBAGLg3c6AGgFmAAEZ6MH_Q0w400.png

pYYBAGLg3diAX4TkAAEzhcY-fOI384.png

2.5.3.UDS请求报文示例

pYYBAGLg3emAH3UpAAETT22CixU363.png

引用“DLC.UDS.ESD.Generic_UDS_Services.RQ.Req_Tester_Present”。

pYYBAGLg3fmAKPHGAAE50DC99P4997.png

2.5.4.UDS肯定应答报文示例

pYYBAGLg3haAXwzfAAEGjVqtSSs330.png

引用“DLC.UDS.ESD.Generic_UDS_Services.PR.Pos_Resp_Tester_Present”。

pYYBAGLg3puAaEI6AAFIUuZbfVg073.png

2.5.5.UDS否定应答示例

poYBAGLg3q6AY5L9AAErcp5JRhs189.png

引用“DLC.UDS.ESD.Generic_UDS_Services.DOP.ISO_NRC_definition”。

poYBAGLg3ryAQExVAAEqDzwMDGk540.png

引用“DLC.UDS.ESD.Generic_UDS_Services.DOP.NRC_10”。

poYBAGLg3seAMvUwAADDK-FNApw023.png

3.总结

ISO-22901是标准的ODX规范,各个OEM会按照自己的需求编写企业级的AGL(Authoring Guide Line)文件,用于定义ODX文件结构,便于诊断数据工程师开发、维护ODX文件,所以AGL文件对ODX数据解析起着指导性作用。

北汇信息专注于汽车电子测试、与众多OEM合作,在总线网络诊断测试开发相关领域积累了丰富的经验。本篇文章简单介绍了ODX数据结构,ODX协议规则还有很多,限于篇幅,不做一一介绍了,下篇系列文章将分享为了实现诊断相关的测试,ODX数据解析的过程和方法,敬请持续关注。

参考文献

[1]ISO 22901-1

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    数据库数据恢复—服务器异常断电导致Oracle数据库故障的数据恢复案例

    备份,仅有一些断断续续的归档日志。 Oracle数据库恢复流程: 1、检测数据库故障情况; 2、尝试挂起并修复数据库; 3、解析数据库
    的头像 发表于 07-24 11:12 436次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—服务器异常断电导致Oracle<b class='flag-5'>数据库</b>故障的<b class='flag-5'>数据</b>恢复案例

    远程访问内网MySQL数据库?这个方案更简单

    开发者和运维人员赶紧看过来! 为什么需要这样做? 远程办公必备:无需 VPN,在家或外出时也能轻松连接公司内网数据库 灵活开发测试开发
    的头像 发表于 07-04 18:06 653次阅读
    远程访问内网MySQL<b class='flag-5'>数据库</b>?这个方案更简单

    数据库数据恢复—MongoDB数据库文件丢失的数据恢复案例

    MongoDB数据库数据恢复环境: 一台操作系统为Windows Server的虚拟机上部署MongoDB数据库。 MongoDB数据库故障: 工作人员在MongoDB服务仍
    的头像 发表于 07-01 11:13 466次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—MongoDB<b class='flag-5'>数据库</b>文件丢失的<b class='flag-5'>数据</b>恢复案例

    数据库数据恢复—SQL Server数据库被加密如何恢复数据

    SQL Server数据库故障: SQL Server数据库被加密,无法使用。 数据库MDF、LDF、log日志文件名字被篡改。
    的头像 发表于 06-25 13:54 509次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—SQL Server<b class='flag-5'>数据库</b>被加密如何恢复<b class='flag-5'>数据</b>?

    MySQL数据库是什么

    MySQL数据库是一种 开源的关系型数据库管理系统(RDBMS) ,由瑞典MySQL AB公司开发,后被Oracle公司收购。它通过结构化查询语言(SQL)进行数据存储、管理和操作,广
    的头像 发表于 05-23 09:18 918次阅读

    数据库数据恢复——MongoDB数据库文件拷贝后服务无法启动的数据恢复

    MongoDB数据库数据恢复环境: 一台Windows Server操作系统虚拟机上部署MongoDB数据库。 MongoDB数据库故障: 管理员在未关闭MongoDB服务的
    的头像 发表于 04-09 11:34 655次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复——MongoDB<b class='flag-5'>数据库</b>文件拷贝后服务无法启动的<b class='flag-5'>数据</b>恢复

    数据库数据恢复—SQL Server附加数据库提示“错误 823”的数据恢复案例

    SQL Server数据库附加数据库过程中比较常见的报错是“错误 823”,附加数据库失败。 如果数据库有备份则只需还原备份即可。但是如果没有备份,备份时间太久,或者其他原因导致备份
    的头像 发表于 02-28 11:38 825次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—SQL Server附加<b class='flag-5'>数据库</b>提示“错误 823”的<b class='flag-5'>数据</b>恢复案例

    Oracle数据库的多功能集成开发环境

    Oracle数据库的多功能集成开发环境 快捷菜单中的可视化对象编辑器 上下文感知的SQL代码补全、智能格式化和重构 逐步执行的自动调试功能 多功能数据检索、存储和管理 数据库模式和表
    的头像 发表于 01-14 13:52 695次阅读
    Oracle<b class='flag-5'>数据库</b>的多功能集成<b class='flag-5'>开发</b>环境

    MySQL数据库的安装

    MySQL是一个开源免费的关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。 MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好
    的头像 发表于 01-14 11:25 861次阅读
    MySQL<b class='flag-5'>数据库</b>的安装

    数据库是哪种数据库类型?

    数据库是一种部署在虚拟计算环境中的数据库,它融合了云计算的弹性和可扩展性,为用户提供高效、灵活的数据库服务。云数据库主要分为两大类:关系型数据库
    的头像 发表于 01-07 10:22 804次阅读

    车载总线通信数据库开发工具 - VDE

    对车型开发至关重要。INTEWORK-VDE(Vehicle Database Editor)Cloud是一款基于B/S架构的车载总线通信数据库设计和管理系统。
    的头像 发表于 01-03 09:43 1266次阅读
    车载总线通信<b class='flag-5'>数据库</b><b class='flag-5'>开发</b>工具 - VDE

    ODX诊断数据库转换工具 - DDC

    INTEWORK-DDC (Diagnostic Database Convertor) 是将诊断调查问卷转换为标准ODX(2.2.0)数据库的工具。DDC工具可以将易于沟通交流的Excel
    的头像 发表于 12-31 11:22 820次阅读
    <b class='flag-5'>ODX</b><b class='flag-5'>诊断</b><b class='flag-5'>数据库</b>转换工具 - DDC

    基于ODX的工程诊断仪 - DST.Tester

    INTEWORK-DST(Tester Option,以下简称DST.Tester)是经纬恒润自主研发的工程诊断仪,适用于新车型和ECU的诊断和刷写。DST.Tester不仅支持多种ISO协议,也可以按照客户需求开发刷写流程,满
    的头像 发表于 12-30 17:00 804次阅读
    基于<b class='flag-5'>ODX</b>的工程<b class='flag-5'>诊断</b>仪 - DST.Tester

    数据库数据恢复—Mysql数据库表记录丢失的数据恢复流程

    Mysql数据库故障: Mysql数据库表记录丢失。 Mysql数据库故障表现: 1、Mysql数据库表中无任何
    的头像 发表于 12-16 11:05 1000次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—Mysql<b class='flag-5'>数据库</b>表记录丢失的<b class='flag-5'>数据</b>恢复流程

    数据库数据恢复—MYSQL数据库ibdata1文件损坏的数据恢复案例

    mysql数据库故障: mysql数据库文件ibdata1、MYI、MYD损坏。 故障表现:1数据库无法进行查询等操作;2、使用my
    的头像 发表于 12-09 11:05 1051次阅读