遠程診斷DoIP

遠程診斷DoIP


繼傳統CAN線、MOST、FlexRay以及CAN-FD後,車載以太網將憑藉其低成本、高帶寬、高傳輸速率、網絡實時而被歸入到新型整車總線中。尤爲在娛樂信息系統及T-Box子網中,採用以太網傳輸視頻數據代替原有各模塊間複雜鏈接線將很大程度減小線束重量及複雜度。同時以太網也將是將來解決如何快速更新ECU軟件及標定的主要策略之一。服務器

DoIP技術,在UDS診斷服務基礎上,經過TCP/IP及以太網來進行遠程車輛診斷,協議定義在ISO 13400,文檔中詳細描述了外部測試及刷新設備如何與整車內部ECU經過以太網及TCP/IP協議進行通信。 
文檔目前分三份:網絡

  • — Part 1: General information and use case definition
  • — Part 2: Transport protocol and network layer services
  • — Part 3: Wired vehicle interface based on IEEE 802.3

如下兩份正在籌備中架構

  • — Part 4: Ethernet Diagnostic Connector
  • — Part 5: Conformance test specification

Part 1: General information and use case definition

ISO13400架構實現基於互聯網的OSI 7層模型(詳見ISO/IEC 7498-1及ISO/IEC 10731),各層採用的協議見如下表格。 
這裏寫圖片描述socket

SI七層模型自上向下分紅應用層,表示層,會話層,傳輸層,網絡層,數據鏈路層,以及物理層。但ISO13400涉及到的主要分佈在傳輸層、網絡層、數據鏈路層、物理層四層中。 
這裏寫圖片描述tcp

根據互聯網中的定義, OSI模型中,由軟件(進程)或者硬件(輸入/輸出芯片)實現的活躍部分稱之爲實體Entity,用於進行信息的發送或者接收。實體是子系統中的活動單元,每一層被拆分紅多個實體,同一層內的通信由不一樣子系統上的對等實體(Peer-Entity)來實現。分佈式

DoIP診斷網絡架構

整個DoIP診斷網絡架構由全部的Entity實體與外部的測試設備組成。工具

有簡單的外部設備點對點與車內單獨某個DoIP實體鏈接,或是在一個複雜的分佈式網絡中,多臺測試設備經過DoIP網關與多臺車輛中的多個DoIP實體以及子網進行鏈接通訊。佈局

DoIP的應用場景具體有三個:開發工具

1. 售後模式 車輛的檢測與維修

在維修廠裏,外部的檢修設備不須要使用傳統ALDL口硬線鏈接,經過TCP/IP協議與車輛創建直接聯繫,並按照指令順序將可靠請求發送給車輛DoIP實體,然後模塊反饋出車輛實時的錯誤追溯信息。

2.產品/工廠模式 車輛ECU的模塊刷新

外部刷新設備根據既定的刷新流程步驟,經過以太網或TCP/IP協議在進行安全訪問及模塊解鎖後與車輛內部模塊IP網絡創建通訊。車輛內部網絡對外部刷新設備傳輸過來的Op及標定文件應支持下載以及寫入操做。

產品模式下,工程開發工具每每實現的是設備與模塊DoIP實體點對點的通信與刷新,但在工廠模式下,採起的則是刷新設備對整車進行的並行刷新操做。

3. 在工廠模式總裝終檢線工位進行檢測維修

在工廠製造環節,外部檢測設備會按照指定順序,對接入IP網絡的車輛進行終檢工位的完整性測試。與售後模式下有所不一樣的是,在工廠環節,外部測試設備一般會與整車多個模塊的多個DoIP實體進行鏈接以及並行通信。

診斷鏈接場景

單臺車與外部設備使用雙絞線點對點通訊

這種方式意味着在進行IP診斷時,系統不會受到來自其餘車輛或者設備的干擾,一般用IP尋址或者自動配置。 
這裏寫圖片描述

經過無線網絡鏈接單車與單一外部測試設備

在這種場景下,意味着無線網絡中可能會存在多輛車或者多個設備,所以不管是車或者是設備都應具有判別機制,能在網絡下識別出所須要鏈接的對象,而且拒絕來自其餘車輛或者設備的請求信號。固然,設備與車輛自己都應具有自動接入到已存在的IP網絡的能力。應用場景如維修廠。 
這裏寫圖片描述

單設備與多輛車進行無線鏈接

在該場景下,只有外部測試設備須要有點對多鏈接的能力(sockets),如在工廠裏某一臺產線整車刷新服務器須要同時對多臺車輛進行並行刷新。 
這裏寫圖片描述

單車與多個外部設備鏈接,但只容許同時只創建一條通道

車輛具有了與多部設備鏈接的能力,對於車輛來講,須要具有區分診斷請求仍是反饋的能力。而對於外部設備,則須要有判斷當前車輛是否有在與其餘設備進行通信的能力。該狀況會發生在工廠模式下,在某些網絡重疊區域,某臺設備須要對車輛進行模塊的刷新,而另外一臺設備則須要對該車輛進行檢修時。 
這裏寫圖片描述

DoIP之通訊創建

ISO 13400-2文檔詳細定義了整車電子模塊組件如何經過TCP/IP協議與外部刷新診斷設備創建通訊鏈接。其中包括做爲IP節點的汽車網關如何加入到現有網絡中,及外部刷新診斷設備如何在網絡中檢測到車輛並與其內部IP組件創建有效通信。

其中,DoIP架構模型必須實現如下特徵:

  • — 汽車與設備具有檢測對方並加入到網絡的能力
  • — 汽車具備聲明存在且被檢測到的能力
  • — 獲取車輛基本狀態信息 (如Power Mode狀態)
  • — 通訊創建,如雙方通訊請求創建,保持,以及對網關的控制等
  • — 汽車網關實現診斷設備與車輛子網組件之間的數據路由
  • — 錯誤狀態處理

DoIP中的一些定義

DoIP Entity 
DoIP實體是任意一個知足DoIP協議的host,其中包括DoIP節點及DoIP網關

DoIP Gateway 
DoIP網關是在車輛網絡內部,實現與本模塊及所鏈接多個子網內ECU通信訪問的節點

DoIP Node 
DoIP節點是在車輛網絡內部,遵照DoIP協議,但不具有路由DoIP數據到鏈接子網內功能的節點

DoIP Edge Node 
DoIP邊緣節點是在車輛內部,與診斷口Ethernet activation line直連的節點

External Test Equipment 
車輛外部設備是指存在車輛網絡外部,經過DoIP協議與車輛內部子網DoIP Entity實現通信創建的設備

In-vehicle Test Equipment 
車輛內部設備與外部設備擁有一樣功能,但不具有Activation硬線,車輛身份請求及DCHP服務(自動爲接入網中的DoIP節點分配不一樣的IP地址) 
這裏寫圖片描述

針對協議定義,雖從名字上看TCP/IP協議僅包括傳輸控制協議(TCP)與網際協議(IP),但實際上TCP/IP是協議簇,包含了除這兩種之外的用戶數據報協議(UDP),文件傳輸(FTP)和地址解析協議(ARP)等。

這裏着重介紹TCP與UDP,這二者都是傳輸層協議,且在後續創建通信中起到很是重要的做用。

DoIP中TCP原理及通訊創建

TCP(Transmission Control Protocol)傳輸控制協議是一種面向鏈接的協議,即必須與對方創建可靠鏈接後才能進行數據交互。這個創建過程就是「三次握手」,即創建TCP鏈接時,需Client與Server端總共發3次包來確認鏈接的創建。

DoIP創建TCP通信時,一般成對出現端口,一個用於發送,稱之爲遠程端口(remote port);另外一個用於接收,稱之爲本地端口(local port)。但一個host的發送端口相對也就是對方host的接收端口。每一個DoIP Entity需對TCP_DATA端口進行監聽,TCP_DATA端口號一般爲13400,以便外部設備能與節點創建通信。

參考互聯網體系中TCP/IP的握手流程,DoIP節點與外部診斷設備創建流程以下: 
這裏寫圖片描述

  • 第一次握手: 創建鏈接

Client也就是External Test Equipment發送鏈接請求報文段,將標誌位syn置爲1,並隨機產生一個Sequence Number: seq=x; 把這個值發送給Server DoIP Entity,此時Client進入SYN_SENT的狀態,等待Server確認。

  • 第二次握手: Server收到syn報文段

Server收到Client的syn報文段,由syn=1知道Client正在請求創建鏈接。Server把ack=x+1;同時要發送syn請求消息,所以把標誌位syn置成1,並隨機生成seq=y;Server把全部信息一併放入報文段(即syn+ack報文段)發給Client用來確認鏈接請求,自此Server進入了SYN_RCVD狀態。

  • 第三次握手: Client收到Server(syn+ack)報文段

檢查ack是否等於x+1,若是正確,把ack=y+1,並把數據包發給Server,Server會檢查ack是否等於y+1,seq是否等於x+1,若是正確就鏈接成功,Client和Server進入ESTABLISHED狀態,完成握手,能夠開始接收數據。

DoIP中UDP原理及通訊創建

UDP(User Data Protocol)用戶數據報協議是一種非鏈接,不保證可靠性的傳輸層協議,也就是傳輸數據前Client與Server不需創建鏈接。只須要知道對方IP地址及端口號,即可以直接發送數據包,只是不能保證是否可以到達。但相比TCP,UDP的速度更快,所以對於須要實時同步傳輸,但不要求可靠到達的數據,優先考慮UDP協議。

在下載數據的場景下,當要求數據精確無誤時,因爲UDP會出現丟數據的狀況,於是就應採用更安全的TCP。但在高速網絡保證下,傳輸數據延遲以及穩定性得以改善的狀況下,若丟幀後採用應用層控制數據重傳,則也可以保證UDP傳輸的可靠性。

DoIP場景下,經過兩個UDP端口

  1. UDP_DISCOVERY
  2. UDP_TEST_EQUIPMENT_REQUEST

來創建通信並進行遠程數據控制,尤爲須要外部設備對車輛IP節點進行廣播消息請求時,須使用UDP,因爲TCP機制所在,沒法實現廣播與多播。

過程以下,DoIP以UDP_DISCOVERY或動態定義端口來做爲Source Port,向UDP_DISCOVERY廣播報文數據,而外部診斷設備則始終監聽UDP_DISCOVERY端口來獲取消息。 
這裏寫圖片描述

當外部診斷設備須要發送數據時,一樣將目標端口設置爲UDP_DISCOVERY,源端口UDP_TEST_EQUIPMENT_REQUEST則是動態定義,範圍爲(49152~65535)。

當請求發送給DoIP後,診斷設備保持對UDP_TEST_EQUIPMENT_REQUEST的監聽。 
DoIP反饋請求時,把目標端口設置爲UDP_TEST_EQUIPMENT_REQUEST,具體實現過程參考下圖: 
這裏寫圖片描述

在ISO13400-2中,DoIP的策略制定中參考了很是多的傳統通訊網絡技術。下次會分析在DoIP過程當中,不一樣層級之間如何實現對DoIP幀中的payload數據進行解析等。

DoIP以太網診斷口設計規範

在 Part3中,基於IEEE 802.3 100BASE-TX的標準(速率達100M的快速以太網信令標準),就物理層以及數據鏈路層對DoIP的通訊接口及測試設備提了設計需求。 
Part4裏則是強調DoIP中通訊診斷口的設計規範。這裏對ISO13400的part3及part4部分關於以太網診斷口pin腳佈局進行簡介。

以太網需求定義

根據IEEE 802.3u 100BASE-TX標準定義,車載以太網鏈接口由四條傳輸線(transmission line)加一條額外的使能線(activiation line)組成,經過使能線可決定DoIP邊緣節點(Edge Node)的打開與否。 
這裏寫圖片描述

以太網線纜分兩類:

  • 端對端(1:1)鏈接:一般用於網絡集線器或交換機與端節點(如計算機)鏈接。

此狀況下,每一個RJ45線纜接口,即水晶頭的每個針腳會與車輛的接口針腳一一對應鏈接。也就是Source Port的Rx+接口會與Destination Port的Rx+口對應相連。

  • 交叉鏈接(cross-linked):一般用於兩個端節點間直連(兩臺計算機之間)。

此狀況下,Source Port的Tx針腳會與Destination Port的Rx針腳直連,反之亦然。

以太網物理層需求

  1. 根據IEEE 802.3中定義,DoIP應支持100Base-TX(100Mbit/s以太網)

  2. 根據IEEE 802.3中定義,DoIP應支持10Base-TX(10Mbit/s以太網)

    對10Mbit/s網絡支持的提出目的是,當兩個以太網接口之間100Mbit/s網絡沒法創建時,10Mbit/s的低速網絡會做爲備用方案啓動。

  3. 根據IEC 60950-1 (TNV1 circuit) and IEEE 802.3定義,DoIP邊緣節點應設置變壓器線圈以知足對1500V電壓1min以上的隔離。

以太網數據鏈路層需求

  1. DoIP邊緣節點應支持與外部網絡創建10Mbit/s的以太網

  2. DoIP邊緣節點應支持100Mbit/s以太網

  3. 根據IEEE 802.3中定義,DoIP的邊緣節點在創建鏈接時,應支持自動握手及自動協商(Auto-Negotiation)以保證端口使用相同的傳輸速率及單雙工模式等

  4. 根據IEEE 802.3中定義,測試設備應支持100Mbit/s標準

  5. 爲提升對以太網線纜(端對端及交叉線纜)的容錯能力,測試設備應支持Auto-MDI特性,也就是線序自適應的功能,設備可經過這個功能能夠自動檢測鏈接到本身接口上的網線類型,可以自動進行調節。

而DoIP邊緣節點不需具有Auto-MDI特性。

診斷口兩種針腳佈局定義

目前通行的以太網針腳佈局有兩種,但具體OEM採用何種應參照具體的整車通信網絡架構進行選擇。 
如下兩種車載以太網診斷口模式都是參考了IEEE 802.3信號規範,基於現有ISO 15031-3/SAE J1962車輛診斷口標準設計。

首先,對於高頻信號傳輸,成對的Tx+/Tx-以及Rx+/Rx-都應儘量地接近對方,另外,還須要有一個額外的針腳用於表示pin腳類型以及激活以太網控制器。

第一種類型

第一種以太網pin腳佈局可用於解決當主機廠已佔用1&9針腳的衝突。

下圖爲當主機廠佔用了1&9針腳做爲CAN_H與CAN_L時的診斷口端面針腳佈局: 
這裏寫圖片描述

各pin腳定義以下表: 
這裏寫圖片描述

對應診斷口與設備鏈接時的通訊示意圖: 
這裏寫圖片描述

第二種類型

第二種以太網pin腳佈局可用於解決在主機廠已佔用3&11針腳的衝突。

下圖爲當主機廠佔用了3&11針腳做爲CAN_H與CAN_L時的診斷口端面針腳佈局: 
這裏寫圖片描述

各pin腳定義以下表: 
這裏寫圖片描述

對應診斷口與設備鏈接時的通訊示意圖: 
這裏寫圖片描述

文章轉載於:解讀:車輛遠程診斷DoIP

相關文章
相關標籤/搜索