


摘 要:隨著車輛上的電子電氣系統復雜性的提高,來自系統性失效、隨機硬件失效和軟件故障的風險也日益增加,因此,車輛在運行過程中需要監測車輛電子電氣系統的運行狀況,根據故障判定算法判斷車輛的電子電氣系統是否存在故障,并在故障發生時,將故障碼和相關的數據存儲下來,后期可以使用診斷儀通過車載診斷服務讀取故障碼和相關的數據,以定位故障并分析故障發生的原因。而目前車輛內應用最廣泛的網絡形態是控制器局域網,因此基于控制器局域網的車載診斷服務研究對于提升車輛系統或產品的可靠性,確保駕乘人員及路人的安全,提高國內車企的設計開發、流程和管理水平都有著重要的意義。
關鍵詞:控制器局域網;車載診斷服務;意義
0 引言
控制器局域網(Controller Area Network,以下簡稱CAN)作為現場總線是汽車企業為解決現代車輛中眾多的控制和數據交換問題所開發的通信協議。CAN總線是一種多主總線,應用于車輛的CAN總線通信介質多為雙絞線,通信速率最高可達1Mbps。由于CAN總線具有數據結構較短、非破壞性總線仲裁技術以及靈活的通信方式特點,已被全世界眾多汽車企業采用,成為最重要的汽車總線標準。而基于CAN網絡故障診斷也越來越受到了各大汽車廠商的重視,汽車廠商通常在國際上統一的診斷通信標準的基礎上構建自己的整車診斷網絡。國際上針對基于CAN網絡的診斷通信技術已經比較成熟,具備完善的配套標準。國際標準化組織ISO已經制定了覆蓋整個診斷協議棧的國際標準(包括ISO 15765《道路車輛 基于控制器局域網的診斷通信》系列標準和ISO14229《道路車輛 統一的診斷服務》系列標準等),這些標準在全世界范圍內已經得到廣泛的實施和應用,在規范和引導車載診斷系統技術發展發揮了重大作用。
1 車載診斷系統標準協議棧
車載診斷系統遵循開放系統互聯(以下簡稱OSI)基本參考模型,該模型是國際標準化組織(ISO)于1984年提出的分層網絡體系結構模型,其定義的是一種抽象機構,而并非具體實現的描述,其目的是支持異構網絡系統的互聯互通。OSI參考模型將通信系統劃分為七層,從上至下依次是應用層(第7層),表示層(第6層),會話層(第5層),傳輸層(第4層),網絡層(第3層),數據鏈路層(第2層)和物理層(第1層)。各層的目的是向上層提供服務。其中,物理層是利用傳輸介質為數據鏈路層提供物理連接,實現比特流的透明傳輸,一般情況下,物理層進行信道編碼或解碼,保障數據傳輸的可靠性;數據鏈路層主要保障在物理鏈路上進行數據的可靠傳遞,數據或指令被封裝成特定的可被物理層傳輸的幀,還包括訪問控制、資源管理、數據分段、級聯、糾錯等功能;網絡層負責進行路由選擇,從而確定兩節點之間的路徑,可以進行流量控制;傳輸層負責為會話層提供網絡線路,即傳輸通路;會話層負責兩節點之間會話建立、維持和終止;表示層負責對數據進行編碼或解碼,從而將數據轉換為兼容或適合的傳輸格式,也可以進行數據的解密與加密;應用層負責為應用程序(或用戶)提供服務。
車載診斷系統按照應用場景和應用目的不同,從協議棧層面分為三類,第一類是增強型診斷,主要用于車輛制造商開發車載診斷系統,第二類是排放相關車載診斷系統(OBD),第三類是全球協調車載診斷系統(WWH-OBD),主要應用于商用車,本文主要針對基于控制器局域網的增強型車載診斷展開研究。
增強型車載診斷系統遵循OSI架構,針對OSI架構的每一個層級,國際標準化組織都制定了相應的國際標準,并在全球汽車行業中得到廣泛的實施和應用(見表1)。
2 傳輸層和網絡層
增強型診斷的傳輸層和網絡層定義了網絡節點間數據交互使用的傳輸層和網絡層通信協議,例如從一個ECU到另一個ECU或外部測試設備和一個ECU之間的通信,其主要任務是傳輸報文,并且提供了分段、流控制傳輸和重組的方法。
CAN總線上的單個數據幀每幀只能傳輸8個字節,根據需要傳輸的診斷服務數據大小,可以使用單幀或多幀的方式進行傳輸。采用單幀傳輸時,可以傳輸六個(擴展或混合尋址)或七個(常規尋址)數據字節;如要傳輸較長報文,要先將其分段再傳輸多個網絡層協議數據單元(以下簡稱N_PDU)。多個N_PDU包括首幀(報文的第一個N_PDU)及連續幀(所有后續N_PDU),多個N_PDU報文的接收端通過流控機制使傳輸吞吐量適合自身容量,如圖1所示。
首幀,即第一幀(FF)只能用于傳輸不適用于單個CAN幀傳輸的報文(即分段報文)。收到FF后,網絡層接收實體應開始重組分段報文。
發送分段數據時,將首幀以后所有連續的幀編碼為連續幀(CF)。收到連續幀后,網絡層接收實體應重組接收到的數據字節,直到所有報文接收完畢。正確接收到最后一幀報文后,接收實體應將重組報文傳遞至相鄰的上層協議層。
流控幀的目的是調節向接收端發送連續數據幀的速率,流控機制允許接收端將其能力通知發送端,如果發送實體傳輸的長度超出接收實體緩沖區大小,流控幀也可以在分段報文傳輸期間指示網絡發送實體暫停傳輸后續的連續幀,或終止傳輸分段報文。
3 應用層
應用層服務通常稱為診斷服務,用于基于客戶端-服務器端的系統,以執行諸如車載車輛服務端的測試,檢查,監控或診斷等功能。客戶端(通常稱為診斷設備)使用應用層服務來請求在一個或多個服務端中執行診斷功能。服務器端(通常作為ECU的部分功能)使用應用層服務將由請求的診斷服務提供的響應數據發送回客戶端,客戶端應用層和服務器應用層的診斷通信典型交互過程如圖2所示。客戶端通常是非車載診斷儀,但在某些系統中也可以是車載診斷儀,同一車輛系統中允許有多個客戶端。應用層根據診斷交互的需求,能夠提供多種診斷服務,其中最為常用的診斷服務包括診斷和通信管理類功能和數據傳輸類功能,如表2和表3所示。
4 總結
汽車設計中的一大難點是如何預先評估潛在的危害和風險,并采取適當的方法和措施來降低風險。隨著電子電氣系統復雜性的提高,來自系統性失效、隨機硬件失效和軟件故障的風險也日益增加。因此,車載診斷服務對于車輛的整體安全性的作用也日益重要。
參考文獻:
[1]ISO 15765-1:2011,道路車輛 基于控制器局域網的診斷通信(DoCAN)第1部分:一般信息和用例定義[S].
[2]ISO 15765-2:2016,道路車輛 基于控制器局域網的診斷通信(DoCAN)第2部分:傳輸層協議和網絡層服務[S].
[3]ISO 14229-1:2020,道路車輛 統一的診斷服務 第1部分:應用層[S].
作者簡介:吳含冰(1984-),女,河南焦作人,碩士研究生,中級工程師,主要從事汽車標準化研究工作。