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

我們的UDS Server/Client協議棧基于ISO-TP服務,因此需要一個具有ISO-TP的底層協議棧。但無需擔心,我們的UDS Server/Client協議棧可以配置在我們提供的J1939或者CANopen協議棧上,與其結合使用。如果您不需要CANopen或者J1939協議,我們也提供輕量級RawCAN協議棧,它主要實現了ISO-TP的底層以及一些必要的服務。
UDS固件更新
如今,越來越多的電子控制單元(ECU)需要借助引導加載程序在現場進行固件更新。由于引導加載程序會占用較大的Flash空間,因此通常無法使用完整的UDS棧。為此,盟通科技提供的UDS引導加載程序在設計時特別注重低內存需求,同時保證了高故障安全性。
該引導加載程序僅支持引導加載程序所必需的最基本功能。因此,我們的UDS on CAN引導加載程序僅需要32 KB的閃存空間,并且依舊符合UDS標準。該引導加載程序適用于各種16位和32位微控制器,并且可以輕松適配其他目標系統。

由于引導加載程序以C語言源代碼的形式提供,因此制造商特定的程序代碼可以輕松集成進去。這使得設備制造商能夠將訪問保護機制、固件加密或后門等元素集成到引導加載程序中。
該應用程序(將與引導加載程序一同傳輸)需要稍作調整,為此,必須更改鏈接器設置,使復位向量指向引導加載程序,同時確保應用程序所占用的空間不被占用。此外,還需為引導加載程序及應用程序之間的數據交換提供持久性內存(4字節),并且還支持應用程序與引導加載程序之間的其他通信方式。應用程序的二進制文件前面還包含一個數據塊,其中包含CRC碼和其他信息。閃存中的相應空間也必須保持空閑以容納這些數據。

為了減少bootloader的Flash占用,UDS bootloader的UDS服務是相對受限的,它涵蓋了以下UDS服務:

如果您需要更多不同的UDS服務和固件更新產品,請與我們聯系,我們可以針對您的需求對整體的協議棧進行修改和升級,適配更多的應用場景。
-
ecu
+關注
關注
14文章
915瀏覽量
55469 -
汽車
+關注
關注
14文章
3801瀏覽量
39249
發布評論請先 登錄
基于SOA與文件傳輸協議的域控制器升級測試方案

UDS在CAN和以太網上的實現方案

Labview 基于CAN UDS燒錄Hex文件
UDS診斷命令備忘錄
OBDII與UDS的區別是什么
基于MM32F0140系列MCU實現UDS Bootloader的設計
e絡盟獨家推出Altium CircuitStudio設計工具
一文看懂UDS協議棧中的時間參數
UDS診斷協議在純電動汽車電機控制器中的應用說明
UDS協議在電動兩輪車的應用
《杰發微課堂》開講 AC7840x UDS on CAN完整解決方案

UDS診斷服務響應規則介紹

UDS之29服務:認證服務

評論