1.ODX簡介
由ASAM組織提出的診斷數(shù)據(jù)交互格式,全稱為Open Diagnostic Data Exchange,包含ODX2.0.1和ODX2.2.0規(guī)范,兩個版本之間不兼容。ISO收錄了其中ASAM ODX2.2.0規(guī)范,即ODX規(guī)范ISO-22901,主要用于描述整車以及ECU的診斷數(shù)據(jù),方便供應(yīng)商與OEM、產(chǎn)品開發(fā)與售后間的數(shù)據(jù)交互。ODX使用統(tǒng)一建模語言(UML)圖描述,數(shù)據(jù)交互格式使用可擴(kuò)展標(biāo)記語言(XML)存儲記錄數(shù)據(jù)。便于承載從設(shè)計、開發(fā)、測試、生產(chǎn)及售后維護(hù)的全流程工作。
2.ODX文件類型
ODX2.2.0(ISO-22901)將ODX文件分為如下類型:
- odx-c/-cs:通訊參數(shù),如會話層、傳輸層時間參數(shù)以及邏輯地址等通訊相關(guān)信息
- odx-d:ECU診斷層規(guī)范(包含ECU所有診斷服務(wù)以及診斷使用的數(shù)據(jù))
- odx-v:車輛信息(-v文件可以包含整車所有控制器拓?fù)浣Y(jié)構(gòu),診斷儀可以通過logic link選擇需要診斷的ECU)
- odx-e:ECU配置(產(chǎn)線ECU配置信息)
- odx-f:ECU編程數(shù)據(jù)(ECU刷寫相關(guān)數(shù)據(jù),如checksum和簽名信息等)
- odx-fd:功能字典(車輛功能信息庫,如中控鎖功能包含四個車門功能信息)
- odx-m:多ECU功能規(guī)范(定義了同時和多個ECU進(jìn)行通訊的方法)
2.1.PDX文件
PDX文件可作為各類型ODX文件的容器,將相關(guān)ODX文件打包為PDX文件(.pdx),并且作為輸入物導(dǎo)入診斷工具。
2.2.ODX包目錄文件index.xml
ODX包目錄由一個CATALOG實(shí)例表示,它提供了存儲在相應(yīng)PDX包中的所有文件的列表。
元素“FILE”的內(nèi)容代表PDX中包含的文件,
元素“CATEGORY”內(nèi)容如下:
- ODX-DATA:適用于所有ODX文件
- ODX-JOB:適用于java-files,class-files,jar-files,dll-files
- LIB:所有被JOB使用或?qū)氲奈募?/li>
- 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包中尋找包含目標(biāo)ECU的Base-Variant文件,然后診斷儀就可以與ECU通訊了,當(dāng)然也要確認(rèn)ECU的變體信息ECU-Variant。
2.4.通信參數(shù)odx-c/odx-cs
odx-c描述應(yīng)用層、傳輸層、物理層適用的是哪版規(guī)范(如CAN總線對應(yīng)的規(guī)范分別是14229、15765、11898),其中應(yīng)用層(如P2、P2*等)、傳輸層(As、Bs、Br、Cs、Cr、STMin等)、物理層(ID等)分別對應(yīng)一個odx-cs文件。
2.4.1.通信參數(shù)規(guī)范引用
2.4.2.通信參數(shù)規(guī)范定義應(yīng)用層、傳輸層、物理層適用的規(guī)范
2.4.3.傳輸層參數(shù)定義
為了減少數(shù)據(jù)冗余,odx-c/cs參數(shù)為默認(rèn)值,對于ECU差異性數(shù)據(jù)可以用元素SIMPLE-VALUE對應(yīng)用的通信參數(shù)重新賦值。
2.5.診斷層odx-d
odx-d文件包含控制器的所有診斷數(shù)據(jù),如服務(wù)、DTC、DID、RID、數(shù)據(jù)類型等信息,odx-d元素分類如下:
- PROTOCOL:定義了某種診斷層協(xié)議(如UDS/OBD)
- FUNCTIONAL_GROUP:定義了多個ECU共同支持的服務(wù)或數(shù)據(jù)
- BASE-VARIANT:代表一個具體ECU,每個ECU只有一個BASE-VARIANT,它繼承PROTOCOL和FUNCTIONAL-GROUP,可以對上面兩層的診斷服務(wù)與數(shù)據(jù)進(jìn)行引用,也可以對繼承的服務(wù)和數(shù)據(jù)進(jìn)行修改
- ECU_VARIANT:各個ECU的具體實(shí)現(xiàn),如BCM有多種配置,不同配置的BCM數(shù)據(jù)也存在差異
- ECU-SHARED-DATA:是一個數(shù)據(jù)庫,由上述4層對其進(jìn)行引用
2.5.1.層級繼承關(guān)系
odx支持值繼承,相較于其他數(shù)據(jù)庫ODX文件更加靈活,各層級間繼承關(guān)系如下:
- 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.層級繼承關(guān)系示例
2.5.3.UDS請求報文示例
引用“DLC.UDS.ESD.Generic_UDS_Services.RQ.Req_Tester_Present”。
2.5.4.UDS肯定應(yīng)答報文示例
引用“DLC.UDS.ESD.Generic_UDS_Services.PR.Pos_Resp_Tester_Present”。
2.5.5.UDS否定應(yīng)答示例
引用“DLC.UDS.ESD.Generic_UDS_Services.DOP.ISO_NRC_definition”。
引用“DLC.UDS.ESD.Generic_UDS_Services.DOP.NRC_10”。
3.總結(jié)
ISO-22901是標(biāo)準(zhǔn)的ODX規(guī)范,各個OEM會按照自己的需求編寫企業(yè)級的AGL(Authoring Guide Line)文件,用于定義ODX文件結(jié)構(gòu),便于診斷數(shù)據(jù)工程師開發(fā)、維護(hù)ODX文件,所以AGL文件對ODX數(shù)據(jù)解析起著指導(dǎo)性作用。
北匯信息專注于汽車電子測試、與眾多OEM合作,在總線網(wǎng)絡(luò)診斷測試開發(fā)相關(guān)領(lǐng)域積累了豐富的經(jīng)驗(yàn)。本篇文章簡單介紹了ODX數(shù)據(jù)結(jié)構(gòu),ODX協(xié)議規(guī)則還有很多,限于篇幅,不做一一介紹了,下篇系列文章將分享為了實(shí)現(xiàn)診斷相關(guān)的測試,ODX數(shù)據(jù)解析的過程和方法,敬請持續(xù)關(guān)注。
參考文獻(xiàn)
[1]ISO 22901-1
發(fā)布評論請先 登錄
相關(guān)推薦
評論