日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

UDS - 诊断协议和协议栈介绍

發布時間:2023/12/10 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UDS - 诊断协议和协议栈介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

UDS介紹

UDS命令形式

UDS的26種服務

UDS on CAN (CAN上的UDS為例說明)

常用UDS命令

故障碼(四個大類)

NRZ碼

CAN ID與CAN節點尋址關系

UDS源代碼 (UDS協議棧)

CAN診斷實戰


UDS介紹

UDS(全稱:UnifiedDiagnostic Services)

UDS包含了ISO 14229下屬的7個子協議,其中ISO 14229-2還是會話層的,所以UDS僅包括應用層的說法也是錯誤的

UDS本質上是一種定向的通信,是一種交互協議(Request/Response),即診斷方(Tester)給ECU發送指定的請求數據(Request)。響應包括肯定響應和否定響應。

ECU:實現UDS server協議棧

診斷儀:實現UDS client協議棧

參考:http://www.catarc.org.cn/upload/202001/22/202001220940052097.pdf

?

UDS命令形式

UDS的請求命令有4種構成方式

即SID,SID+SF(Sub-function),SID+DID(Data Identifier)(讀寫用),SID+SF+DID。

UDS的26種服務

但常用的服務是加背景色的15種。

服務分為:權限控制、讀取數據/信息、寫入數據/信息、通信控制、功能控制這幾類。

?

?

UDS on CAN (CAN上的UDS為例說明)

CAN ID

0x7df?(BROADCAST_ID)

對于specific的ECU,設計UDS時,會指定一個唯一的CAN ID(通常是0x7YZ),用于和指定的ECU進行UDS通訊。

?

CAN的數據格式大致如下所示:

CAN 標志 | Data Length Code | Data Field

?

CAN幀的Data Field表示的就是網絡層的?PDU?;將網絡層的PDU簡寫為?N_PDU?。

PDU=N_PDU的長度+N_PDU.

N_PDU=?ID+數據類型+數據域,

?

常用UDS命令

讀取軟件版本號

SID+DID

SID : 0x22

DID: OEM自定義(例如0xF095)

?

寫入數據

SID+DID+Data

SID:0x27

?

芯片進入reset狀態

SID: 0x11

?

燒寫程序

SID+SF

SID: 0x10

SF:0x02

?

安全訪問(輸入秘鑰,建立連接)

SID:0x27

?

讀取DTC

SID:0x19

?

故障碼(四個大類)

分別是PCBU,P是powertrain動力系統,C是Chassis底盤,B是Body車身,U是network通信系統。一個DTC信息占用4個字節。最后一個字節是DTC的狀態。

第一個字節在乘用車中,前兩個bit代表P/C/B/U(動力/底盤/車身/網絡)中的一個,之后六個bit是數字,合在一起的樣子形如“C01”。第一個字節的前2個bit中,用00/01/10/11分別表示P/C/B/U。

?

NRZ碼

?

CAN ID與CAN節點尋址關系

ECU上CAN ID尋址。CAN基于報文ID。不像Ethernet,基于節點地址的。

每一個ECU都有2個CAN幀ID,分別對應收和發的物理尋址。

?

UDS源代碼 (UDS協議棧)

UDS 協議棧 源代碼

https://github.com/openxc/uds-c

UDS server (ECU)

https://zhuanlan.zhihu.com/p/37310388

UDS client (Diagnostics tool)

https://udsoncan.readthedocs.io/en/latest/

https://github.com/pylessard/python-udsoncan

商用軟件舉例:

ISO 14229/UDS Sofware Details

  • ANSI C source code
  • Use with or without RTOS
  • Supports 8, 16, 32, 64-bit CPUs
  • Integrate with flash bootloaders to update products
  • UDS Client user’s reference manual
  • UDS Server user’s reference manual

?

CAN診斷實戰

https://zhuanlan.zhihu.com/p/51338035

http://forums.codeblocks.org/index.php?topic=21905.0

https://github.com/peplin/ecomcat_to_openxc

總結

以上是生活随笔為你收集整理的UDS - 诊断协议和协议栈介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。