搜尋

- 葡萄酒 | 威士忌 | 白兰地 | 啤酒 -

車用乙太網路 - DoIP

1.DoIP 能做什麼?f2adf6936e9aef84fef6d1065dde7eee

乙太網路最早是由 BMW 引進車內,其應用情境為快閃/編程,以滿足 LCD 儀表組等元件的軟體資料更新。相較於傳統的汽車診斷,DoIP 是指透過乙太網路通訊傳輸 UDS 通訊協定資料,即透過網際網路協定進行診斷通訊。由於 DoIP 能以快速的反應速度傳輸大量資料,並能透過乙太網路進行遠端診斷,因此 DoIP 已成為汽車診斷的必然趨勢。相較於傳統的汽車系統,目前的汽車系統框架都在 TCP/IP 之上加入了 DoIP 通訊協定層。為了更好地支援 OBD 診斷、遠端診斷、FOTA 等技術,汽車整體架構也進行了調整,使用交換器通過乙太網路連接 MPU、MCU 和其他乙太網路 ECU,同時隔離外部和內部網路。.

2.DoIP 通訊協定組成

此通訊協定在 TCP/IP 之上運作。要接收 DoIP 通訊協定訊息,協定規格要求監聽分配給 DoIP 通訊協定堆疊的專用連接埠號碼 13400。通訊協定格式:DoIP 訊息由標頭 (8 位元組) + 有效負載 (N 位元組) 組成,通訊協定標頭 [8 位元組] 包含四個欄位:

  • 通訊協定版本 [1 位元組]
  • 反向通訊協定版本 [1 位元組]
  • 有效負載類型 [2 位元組]
  • 有效負載長度 [4 位元組]

Payload [N bytes] - 有效負載資料依據實際的有效負載類型而有所不同。一般而言,通訊協定版本為 0x02,高於 0x02 的值目前處於保留狀態。反向通訊協定版本是通訊協定版本的倒轉值;在此範例中,0x02 倒轉後成為 0xFD。通訊協定規格特別提到通訊協定版本可以是 0xFF。此值的作用是允許通訊協定版本不匹配的用戶端和伺服器繞過因通訊協定標頭版本不匹配而拒絕請求的情況。.

有效載荷類型:

Payload 類型代表 DoIP 通訊協定堆疊可支援的功能。.

有效負載類型值 名稱 規範
0x0000 通用 DoIP 標頭負確認 TCP/UDP
0x0001 車輛識別要求訊息 UDP
0x0002 含 EID 的車輛識別要求訊息 UDP
0x0003 含 VIN 的車輛識別要求訊息 UDP
0x0004 車輛公告訊息/車輛識別回應訊息 UDP_Discovery / UDP_test_request
0x0005 路由啟動請求 TCP
0x0006 路由啟動回應 TCP
0x0007 活檢要求 TCP
0x0008 有效檢查回應 TCP
0x4001 DoIP 實體狀態請求 UDP
0x4003 診斷電源模式資訊請求 UDP
0x8001 診斷訊息 TCP
0x8002 診斷訊息正面確認 TCP
0x8003 診斷訊息負確認 TCP

Payload 長度在此分配 4 位元組,表示 DoIP 訊息最多可傳送 4GB (0xFFFFFFFF)。.

發現車輛的兩種方法:

(1) DoIP 裝置啟動後,首先會透過 UDP 廣播 DoIP 訊息 (車輛公告訊息,Payload Type 0x0004)給網路上所有其他節點,包括診斷工具,目的埠為 13400。此訊息包含 DoIP 裝置的 DoIP 版本、VIN、邏輯位址等資訊。此訊息會傳送三次,之前在 13400 埠監聽的診斷工具會收到此資訊,並得知 DoIP 裝置的基本資訊。(2) 如果診斷工具沒有收到,還有另一種方法:診斷工具主動提出請求,透過 UDP 以目的埠 13400 廣播 DoIP 請求訊息 (Payload Type 0x0001)。DoIP 裝置從啟動時就一直在 13400 連接埠上監聽,它會接收此訊息,並回覆一個載有自己資訊的回應給診斷工具。.

 

上一頁 下一個

Mo