0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于ODX診斷測試開發(fā)(1):ODX數據庫剖析

北匯信息POLELINK ? 2022-07-27 15:28 ? 次閱讀

1.ODX簡介

由ASAM組織提出的診斷數據交互格式,全稱為Open Diagnostic Data Exchange,包含ODX2.0.1和ODX2.2.0規(guī)范,兩個版本之間不兼容。ISO收錄了其中ASAM ODX2.2.0規(guī)范,即ODX規(guī)范ISO-22901,主要用于描述整車以及ECU的診斷數據,方便供應商與OEM、產品開發(fā)與售后間的數據交互。ODX使用統(tǒng)一建模語言(UML)圖描述,數據交互格式使用可擴展標記語言(XML)存儲記錄數據。便于承載從設計、開發(fā)、測試、生產及售后維護的全流程工作。

2.ODX文件類型

ODX2.2.0(ISO-22901)將ODX文件分為如下類型:

  • odx-c/-cs:通訊參數,如會話層、傳輸層時間參數以及邏輯地址等通訊相關信息
  • odx-d:ECU診斷層規(guī)范(包含ECU所有診斷服務以及診斷使用的數據)
  • odx-v:車輛信息(-v文件可以包含整車所有控制器拓撲結構,診斷儀可以通過logic link選擇需要診斷的ECU)
  • odx-e:ECU配置(產線ECU配置信息)
  • odx-f:ECU編程數據(ECU刷寫相關數據,如checksum和簽名信息等)
  • odx-fd:功能字典(車輛功能信息庫,如中控鎖功能包含四個車門功能信息)
  • odx-m:多ECU功能規(guī)范(定義了同時和多個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描述應用層、傳輸層、物理層適用的是哪版規(guī)范(如CAN總線對應的規(guī)范分別是14229、15765、11898),其中應用層(如P2、P2*等)、傳輸層(As、Bs、Br、Cs、Cr、STMin等)、物理層(ID等)分別對應一個odx-cs文件。

poYBAGLg3T-AQ16DAABoyxIl2CE514.png

2.4.1.通信參數規(guī)范引用

poYBAGLg3WSAH0OEAAEswHM2mu0401.png

2.4.2.通信參數規(guī)范定義應用層、傳輸層、物理層適用的規(guī)范

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:定義了某種診斷層協(xié)議(如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規(guī)范,各個OEM會按照自己的需求編寫企業(yè)級的AGL(Authoring Guide Line)文件,用于定義ODX文件結構,便于診斷數據工程師開發(fā)、維護ODX文件,所以AGL文件對ODX數據解析起著指導性作用。

北匯信息專注于汽車電子測試、與眾多OEM合作,在總線網絡診斷測試開發(fā)相關領域積累了豐富的經驗。本篇文章簡單介紹了ODX數據結構,ODX協(xié)議規(guī)則還有很多,限于篇幅,不做一一介紹了,下篇系列文章將分享為了實現診斷相關的測試,ODX數據解析的過程和方法,敬請持續(xù)關注。

參考文獻

[1]ISO 22901-1

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
收藏 人收藏

    評論

    相關推薦

    在嵌入式開發(fā)領域,有哪些好用的國產工具?

    商:經緯恒潤 功能:將Excel格式的診斷調查問卷轉換為標準ODX格式文件,生成的ODX文件兼容市面上主流的診斷、測試開發(fā)商的軟件產品。 特
    的頭像 發(fā)表于 10-23 09:21 ?40次閱讀

    數據庫數據恢復—SQL Server數據庫出現823錯誤的數據恢復案例

    SQL Server數據庫故障: SQL Server附加數據庫出現錯誤823,附加數據庫失敗。數據庫沒有備份,無法通過備份恢復數據庫。
    的頭像 發(fā)表于 09-20 11:46 ?234次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復—SQL Server<b class='flag-5'>數據庫</b>出現823錯誤的<b class='flag-5'>數據</b>恢復案例

    HarmonyOS開發(fā)案例:【搭建關系型數據庫】(4)

    本節(jié)將介紹如何調用關系型數據庫接口在本地搭建數據庫,并讀寫相應的用戶數據。
    的頭像 發(fā)表于 05-11 10:27 ?697次閱讀
    HarmonyOS<b class='flag-5'>開發(fā)</b>案例:【搭建關系型<b class='flag-5'>數據庫</b>】(4)

    數據庫數據恢復】Oracle數據庫ASM實例無法掛載的數據恢復案例

    oracle數據庫ASM磁盤組掉線,ASM實例不能掛載。數據庫管理員嘗試修復數據庫,但是沒有成功。
    的頭像 發(fā)表于 02-01 17:39 ?421次閱讀
    【<b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復】Oracle<b class='flag-5'>數據庫</b>ASM實例無法掛載的<b class='flag-5'>數據</b>恢復案例

    IZYTRONIQ測試軟件介紹——管理測試設備數據庫

    一款完整的用于管理和記錄測試過程的數據庫軟件IZYTRONIQ
    的頭像 發(fā)表于 01-11 11:11 ?348次閱讀
    IZYTRONIQ<b class='flag-5'>測試</b>軟件介紹——管理<b class='flag-5'>測試</b>設備<b class='flag-5'>數據庫</b>

    無模式數據庫的利與弊

    數據管理需求日益多樣,無論是金融服務、游戲還是社交媒體行業(yè),都要求支持實時數據處理和快速迭代,無模式數據庫因其靈活性和易用性而逐漸成為開發(fā)者的新選擇。那么,無模式
    的頭像 發(fā)表于 12-16 08:04 ?439次閱讀
    無模式<b class='flag-5'>數據庫</b>的利與弊

    數據庫數據恢復—未開啟binlog的Mysql數據庫數據恢復案例

    mysql數據庫數據恢復環(huán)境: 本地服務器,windows server操作系統(tǒng) ,部署有mysql單實例,數據庫引擎類型為innodb,獨立表空間,無數據庫備份,未開啟binlog
    的頭像 發(fā)表于 12-08 14:18 ?999次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復—未開啟binlog的Mysql<b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復案例

    關于JSON數據庫

    如何理解JSON數據庫?作為NoSQL數據庫的一種類型,JSON數據庫有哪些優(yōu)勢呢?JSON數據庫如何運作,它為應用程序開發(fā)者帶來了哪些價值
    的頭像 發(fā)表于 12-06 13:46 ?785次閱讀
    關于JSON<b class='flag-5'>數據庫</b>

    oracle數據庫的基本操作

    Oracle數據庫是一種關系數據庫管理系統(tǒng)(RDBMS),廣泛應用于企業(yè)級應用中。它具有強大的功能和靈活的配置選項,可以滿足復雜的數據處理需求。本文將介紹Oracle數據庫的基本操作,
    的頭像 發(fā)表于 12-06 10:14 ?617次閱讀

    oracle數據庫的使用方法

    Oracle數據庫是一種關系型數據庫管理系統(tǒng),它由Oracle公司開發(fā)和維護。它提供了安全、可靠和高性能的數據庫管理解決方案,被廣泛應用于企業(yè)級應用和大型
    的頭像 發(fā)表于 12-06 10:10 ?1107次閱讀

    什么是JSON數據庫

    如何理解JSON數據庫?作為NoSQL數據庫的一種類型,JSON數據庫有哪些優(yōu)勢呢?JSON數據庫如何運作,它為應用程序開發(fā)者帶來了哪些價值
    的頭像 發(fā)表于 12-02 08:04 ?773次閱讀
    什么是JSON<b class='flag-5'>數據庫</b>

    NoSQL 數據庫如何選型

    什么是NoSQL數據庫?為什么要使用NoSQL數據庫?鍵值數據庫內存鍵值數據庫文檔數據庫列式數據庫
    的頭像 發(fā)表于 11-26 08:05 ?402次閱讀
    NoSQL <b class='flag-5'>數據庫</b>如何選型

    數據庫數據恢復—SQLserver數據庫被加密如何恢復數據

    一臺服務器上的SQLserver數據庫被勒索病毒加密,無法正常使用。該服務器上部署有多個SQLserver數據庫,其中有2個數據庫及備份文件被加密,文件名被篡改,數據庫無法使用。
    的頭像 發(fā)表于 11-23 14:42 ?843次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復—SQLserver<b class='flag-5'>數據庫</b>被加密如何恢復<b class='flag-5'>數據</b>?

    數據庫數據恢復——MongoDB數據庫介紹和數據恢復案例

    MongoDB數據庫是文檔數據存儲,將文檔存儲在集合之中,不是像MySQL一樣的關系型數據庫
    的頭像 發(fā)表于 11-08 15:04 ?816次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復——MongoDB<b class='flag-5'>數據庫</b>介紹和<b class='flag-5'>數據</b>恢復案例

    Access數據庫案例:Labview數據存儲

     在數據庫領域,Access是由Microsoft開發(fā)的一款基于Windows平臺的關系型數據庫管理系統(tǒng)(RDBMS)。它提供了一個使用簡便的用戶界面,可用于創(chuàng)建、管理和查詢數據庫。
    發(fā)表于 10-26 16:23 ?9次下載