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的入口,包含兩個重要元素:
- 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-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請求報文示例
引用“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
發布評論請先 登錄
相關推薦
評論