診斷文件ODX(一)

寫了四篇關於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文件極其了解,非專業人士很難看明白。

今天先簡單寫點吧,如果有同行對此感興趣,請告知,我再詳盡寫一寫。

推薦閱讀:

統一診斷服務 (Unified diagnostic services , UDS) (二)
【書籍動態】電子製圖設計以及DFX

TAG:汽車製造 | 汽車電子 | 汽車電子控制 |