UDS診斷協(xié)議廣泛應用于汽車、重卡等領域的設備診斷和固件更新。該協(xié)議主要針對全車ECU進行標準化的數(shù)據(jù)交互。UDS應用層?(ISO 14229-1)定義了6大類共26項診斷服務,覆蓋了ECU開發(fā)功能調試、生產階段的硬件檢測與參數(shù)配置、以及成品階段的故障診斷、遠程軟件更新等多個方面。
UDS Server/Client協(xié)議棧
UDS是汽車環(huán)境中用于對電子控制單元(ECU)進行診斷的通信協(xié)議。我們的UDS Server/Client協(xié)議棧在CAN總線上擴展并實現(xiàn)了UDS服務功能,它是基于ISO-TP來實現(xiàn)的。ISO-TP是一項國際標準協(xié)議(ISO 15765-2),定義了通過CAN總線進行傳輸數(shù)據(jù)的相關規(guī)范。
UDS on CAN
UDS Server/Client協(xié)議棧程序以C源代碼形式提供,并依照MISRA-C:2004編碼規(guī)則開發(fā)。目前它涵蓋了以下UDS服務:

我們的UDS Server/Client協(xié)議?;贗SO-TP服務,因此需要一個具有ISO-TP的底層協(xié)議棧。但無需擔心,我們的UDS Server/Client協(xié)議??梢耘渲迷谖覀兲峁┑腏1939或者CANopen協(xié)議棧上,與其結合使用。如果您不需要CANopen或者J1939協(xié)議,我們也提供輕量級RawCAN協(xié)議棧,它主要實現(xiàn)了ISO-TP的底層以及一些必要的服務。
UDS固件更新
如今,越來越多的電子控制單元(ECU)需要借助引導加載程序在現(xiàn)場進行固件更新。由于引導加載程序會占用較大的Flash空間,因此通常無法使用完整的UDS棧。為此,盟通科技提供的UDS引導加載程序在設計時特別注重低內存需求,同時保證了高故障安全性。
該引導加載程序僅支持引導加載程序所必需的最基本功能。因此,我們的UDS on CAN引導加載程序僅需要32 KB的閃存空間,并且依舊符合UDS標準。該引導加載程序適用于各種16位和32位微控制器,并且可以輕松適配其他目標系統(tǒng)。
圖:UDS bootloader實現(xiàn)方式示意圖由于引導加載程序以C語言源代碼的形式提供,因此制造商特定的程序代碼可以輕松集成進去。這使得設備制造商能夠將訪問保護機制、固件加密或后門等元素集成到引導加載程序中。
該應用程序(將與引導加載程序一同傳輸)需要稍作調整,為此,必須更改鏈接器設置,使復位向量指向引導加載程序,同時確保應用程序所占用的空間不被占用。此外,還需為引導加載程序及應用程序之間的數(shù)據(jù)交換提供持久性內存(4字節(jié)),并且還支持應用程序與引導加載程序之間的其他通信方式。應用程序的二進制文件前面還包含一個數(shù)據(jù)塊,其中包含CRC碼和其他信息。閃存中的相應空間也必須保持空閑以容納這些數(shù)據(jù)。
圖:bootloader flash分配示意圖為了減少bootloader的Flash占用,UDS bootloader的UDS服務是相對受限的,它涵蓋了以下UDS服務:

如果您需要更多不同的UDS服務和固件更新產品,請與我們聯(lián)系,我們可以針對您的需求對整體的協(xié)議棧進行修改和升級,適配更多的應用場景。
-
ecu
+關注
關注
14文章
991瀏覽量
57484 -
汽車
+關注
關注
15文章
4226瀏覽量
41328
發(fā)布評論請先 登錄
基于SOA與文件傳輸協(xié)議的域控制器升級測試方案
UDS在CAN和以太網上的實現(xiàn)方案
【CPKCOR-RA8D1】+ 5. 使用RA8D1實現(xiàn)UDS診斷協(xié)議14229
UDS診斷命令備忘錄
OBDII與UDS的區(qū)別是什么
基于MM32F0140系列MCU實現(xiàn)UDS Bootloader的設計
一文看懂UDS協(xié)議棧中的時間參數(shù)
UDS診斷協(xié)議在純電動汽車電機控制器中的應用說明
UDS協(xié)議在電動兩輪車的應用
UDS常用診斷服務
UDS之29服務:認證服務
盟通方案|如何集成J1939協(xié)議
UDS診斷協(xié)議:汽車電子系統(tǒng)的“通用語言”
《CAN(FD)總線十萬個為什么》之UDS診斷(上)
盟通方案|如何集成UDS協(xié)議
評論