TECH ARTICLE

【dSPACE dissecto HydraVision 測試精解】
ISO-TP 傳輸協定原理解析

完整解析 ISO 15765-2(ISO-TP)的訊框類型、流量控制、五種定址模式與 Padding,看懂 UDS 與 OBD-II 診斷通訊底層的傳輸機制。

一個傳統 CAN 訊框最多只能攜帶 8 個位元組的資料,遠不足以傳送診斷資料或軟體更新。ISO 15765-2,又稱 ISO-TP(ISO 15765 Transport Protocol),是汽車產業用來在 CAN 匯流排上可靠、有效率地傳輸大量資料的傳輸層協定。它定義了資料訊框的格式、流量控制機制與錯誤處理規則:大型訊息會被切成多個較小的訊框依序傳送,接收端再依序重組,並能偵測遺失或重複的訊框。UDS 與 OBD-II 診斷都架構在 ISO-TP 之上,理解 ISO-TP,就是理解車用診斷通訊的第一步。

1. ISO-TP 協定概要

特性說明
用途在 CAN(以及 FlexRay、LIN、MOST 等)上傳輸大於單一訊框的資料
通訊型態點對點(Point-to-Point)通訊
最大酬載最多 232−1 位元組(約 4 GB);傳統 12 位元長度欄位格式為 4,095 位元組
流量控制接收端以 Flow Control 訊框管理傳送節奏
重傳機制無——遺失訊框時由上層協定負責重試

2. 協定控制資訊(PCI)與四種訊框

ISO-TP 在每個 CAN 訊框資料的開頭放入協定控制資訊(PCI, Protocol Control Information),用來標示訊框類型與相關參數。ISO-TP 定義了四種訊框:

Type 0:Single Frame(SF)

訊息夠短,一個 CAN 訊框就能傳完。PCI 帶有資料長度。

Type 1:First Frame(FF)

多訊框訊息的第一段,宣告整個訊息的總長度。

Type 2:Consecutive Frame(CF)

後續的資料段,帶有循環序號,讓接收端依序重組並偵測遺失。

Type 3:Flow Control(FC)

由接收端送出,告訴傳送端可以繼續傳送、需要等待,或緩衝區已滿。

2.1 Flow Control 狀態碼

FS 值名稱意義
0Clear to Send可以繼續傳送下一批 Consecutive Frame
1Wait請傳送端暫停,等待下一個 Flow Control
2Overflow訊息過大,接收端無法處理,中止傳輸

除了狀態碼,Flow Control 也會帶上區塊大小(Block Size)——傳送端在下一次 Flow Control 前最多可送幾個 CF,以及最小間隔時間(STmin)——兩個 CF 之間至少要間隔多久。

2.2 多訊框傳輸流程

# ISO-TP 多訊框傳輸的基本節奏
傳送端 → 接收端 : First Frame              # 宣告總長度與第一段資料
接收端 → 傳送端 : Flow Control (CTS)       # 允許傳送,告知 Block Size 與 STmin
傳送端 → 接收端 : Consecutive Frame #1…#n  # 依 Block Size 傳送一批
接收端 → 傳送端 : Flow Control             # 需要時更新傳送條件
傳送端 → 接收端 : Consecutive Frame …      # 直到訊息傳完
  • 傳送端送出 First Frame 後,必須等待 Flow Control 才能繼續傳送。
  • 接收端在收到 First Frame 後送出 Flow Control,之後若需要調整傳送條件,也會再次送出。

3. ISO-TP 定址模式

ISO-TP 標準定義了三種定址方式:正常(Normal)、延伸(Extended)與混合(Mixed)定址。依定址模式不同,位址資訊(AI, Address Information)會被編碼在 CAN 訊框的不同欄位中,PCI 的位置也會隨之改變。搭配 11 位元與 29 位元 CAN ID,共可歸納為五種組合:

代號 定址模式 位址資訊位置
A1Normal addressing,11 位元 CAN ID位址完全由 CAN ID 表示,PCI 位於第 1 個位元組
A2Normal fixed addressing,29 位元 CAN ID來源位址(SA)與目標位址(TA)編碼在 29 位元 CAN ID 中
A3Extended addressing,11 位元 CAN ID資料第 1 個位元組為延伸位址,PCI 移至第 2 個位元組
A4Mixed addressing,29 位元 CAN IDSA / TA 在 CAN ID 中,另有位址延伸(AE)位於資料第 1 個位元組
A5Mixed addressing,11 位元 CAN IDCAN ID 加上資料第 1 個位元組的位址延伸(AE)

3.1 29 位元 CAN ID 的固定前綴

前綴意義
0x18DANormal fixed addressing,實體定址(Physical)
0x18DBNormal fixed addressing,功能定址(Functional)
0x18CEMixed addressing,實體定址
0x18CDMixed addressing,功能定址

例如 OBD-II 的 29 位元功能請求 ID 0x18DB33F1,就是由前綴 0x18DB、目標位址 0x33 與來源位址 0xF1 組成。

3.2 各定址模式的位址空間

不同定址模式可能的位址組合數量差異極大,這直接影響到在匯流排上找出所有診斷端點所需的時間:

代號計算方式組合數
A12112,048
A22 × 28 × 28 = 217131,072
A3211 × 28 = 219524,288
A42 × 28 × 28 × 28 = 22533,554,432
A5211 × 28 = 219524,288

4. Padding(填充)

ISO-TP 通訊可以使用或不使用 Padding。啟用 Padding 時,每個 CAN 訊框一律為 8 個位元組,未使用的位元組以預先定義的值填滿。實務上通常使用 0xAA:它的二進位為 10101010,0 與 1 交錯出現,在 CAN 匯流排上不會產生位元填充(Bit Stuffing),讓訊框長度保持固定。

實務意義:許多 ECU 要求通訊必須使用 Padding,若測試工具的 Padding 設定與 ECU 不一致,ECU 可能完全不回應。因此在建立診斷連線前,必須先確認目標端點是否使用 Padding。

5. 從匯流排紀錄判讀 ISO-TP 參數

透過 candump 等工具擷取的匯流排紀錄,可以直接判讀出端點的通訊參數。

5.1 範例一:Normal addressing(A1)

# 示意:candump 擷取的 A1 通訊
can0  603   [8]  10 64 xx xx xx xx xx xx   # First Frame,來源 0x603,總長 0x64 = 100 位元組
can0  703   [8]  30 00 00 AA AA AA AA AA   # Flow Control (CTS),來自 0x703,以 0xAA 填充至 8 位元組
  • 訊框類型位置:PCI 位於資料第 1 個位元組,表示這是 Normal addressing(A1)。
  • 來源與目標:First Frame 由 0x603 送出,目標端點 0x703 以 Flow Control 確認。
  • 訊息長度:First Frame 宣告的長度為 100 位元組。
  • Padding:Flow Control 的 CAN 長度為 8 位元組,代表這個端點使用 Padding。

5.2 範例二:Extended / Mixed addressing(A3 / A5)

  • 延伸位址:每個 CAN 訊框資料的第 1 個位元組是延伸位址資訊,PCI 因此移到第 2 個位元組。
  • A3 與 A5 無法區分:實際通訊中,從流量本身無法判斷是 A3 還是 A5;但對於辨識 ISO-TP 端點而言,兩者並無差別——來源與目標位址仍編碼在 CAN ID 中。
  • 無 Padding:若接收端的 Flow Control 訊框長度小於 8 位元組,代表此端點不使用 Padding。

6. 在 HydraVision 中的應用

由於 UDS 與 OBD-II 都架構在 ISO-TP 之上,找出 ISO-TP 端點是所有診斷安全測試的起點。dSPACE dissecto HydraVision 以 IsotpScan 測試案例自動完成這項工作:

  • 自動探索端點:掃描 11 位元 CAN ID 範圍,找出會以 Flow Control 回應的診斷端點,並自動判斷各端點的 Padding 設定。
  • 過濾背景流量:掃描前先監聽匯流排雜訊,排除一般週期性訊息,並以第二輪驗證確認結果,避免誤判。
  • 串接後續測試:找到的端點會成為 HydraCore 的 IsotpEndpoint Context 項目,後續的 UDS、OBD 協定確認與掃描可直接使用。延伸定址等其他定址模式另有對應的掃描測試案例。
  • 合規驗證:HydraVision 也提供依 ISO 15765-2:2016 設計的傳輸層合規測試套件,確認 ECU 的 ISO-TP 實作行為符合標準要求。

法規對應:端點清冊是 ISO/SAE 21434 Clause 15 威脅分析與風險評估(TARA)描述可達診斷資產(WP-15-02)與攻擊路徑(WP-15-04)的輸入,也支援 UNECE R155 7.3.6 與 GB 44495 6.6、7.1.4.1 所要求的資安措施有效性測試。

7. 捷策動能技術支援

Jotactic 捷策動能提供 dSPACE dissecto HydraVision 相關的全方位技術服務:

測試規劃

依 UNECE R155、GB 44495、ISO/SAE 21434 需求規劃車載網路與診斷介面測試。

技術諮詢

協助釐清 ISO-TP 定址、Padding 與診斷通訊設定問題。

教育訓練與 Demo

車用診斷協定與 HydraVision 操作教育訓練,以及客製化 Demo 專案驗證。

歡迎來電 03-6109669 或來信 info@jotactic.com 洽詢。