立即注册找回密码

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

手机动态码快速登录

手机号快速注册登录

搜索

图文播报

查看: 935|回复: 0

[分享] 诊断文件ODX(一)

[复制链接]
发表于 2024-9-2 07:48 | 显示全部楼层 |阅读模式

登陆有奖并可浏览互动!

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录 手机动态码快速登录

×
写了四篇关于UDS的文章之后,感觉有点疲劳了,换换脑子,写写ODX,下周再写UDS。
ODX的全称是Open diagnostic data exchange , 它是ASAM制定的标准架构诊断仪(MVCI ,Modular Vehicle Communication Interface )所使用的数据文件。MVCI的大体结构如下图所示:



MVCI的结构

MVCI诊断仪的核心是D-Server,即Diagnostic Server。ASAM为MVCI的三个部分进行了标准化,分别是
1、D-Server向应用软件提供的API
标准化了编写诊断测试工具时所需要的函数接口。
2、VCI向D-Server提供的D-PDU API
VCI即我们常用的诊断头,根据ASAM的定义,传输层以下的功能应该全部实现在VCI上,VCI向D-Server提供标准化的函数接口,VCI的驱动安装在计算机上,所以计算机上的诊断仪软件就可以直接操作VCI了(通常以动态链接库dll文件的形式提供接口)。VCI向下连接ECU,向上连接计算机。
3、诊断文件ODX
ODX是格式标准化的诊断文件,有了它之后,我们在诊断不同的车,或者不同的ECU时,只需要加载适配这个车型或ECU的ODX文件即可,而无需对诊断仪做任何改变。ODX另一个重要的作用是,它统一了诊断文件的格式,所以诊断文件在研发、测试、生产、售后等部门中传递交换的时候,不需要进行格式转换。

目前ASAM发布的ODX版本有两个,分别是2.0.1和2.2.0,我在工作中使用的还是2.0.1版本,所以我在专栏中的文章都是基于此版本的。
ODX文件用途举例:
工程师使用诊断仪,点击读取发动机转速的服务,假设这个测量值用ID XX YY表示,则诊断仪将这个服务解析为22 XX YY,并通过VCI发给ECU。ECU得到诊断指令后,返回62 XX YY  0B B8,D-Server知道了发动机转速是0B B8,但是工程师并不知道这个值是什么意思,所以D-Server需要借助ODX文件中的信息,将0B B8翻译成对人类友好的信息格式,包括单位等。经过D-Server的运算,向工程师返回3000 rpm这个数值。
ODX文件在物理上的存在形式就是XML文件,我们可以直接用文本编辑器或者XML工具把它打开,但是这种方法的可阅读性非常差,除非对ODX文件极其了解,非专业人士很难看明白。
今天先简单写点吧,如果有同行对此感兴趣,请告知,我再详尽写一写。

原文地址:https://zhuanlan.zhihu.com/p/34218403
楼主热帖
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册 微信登录 手机动态码快速登录

本版积分规则

关闭

官方推荐 上一条 /3 下一条

快速回复 返回列表 客服中心 搜索 官方QQ群 洽谈合作
快速回复返回顶部 返回列表