張儀棟 , 謝東坡
(1.重慶車輛檢測研究院有限公司,重慶 401122;2.國家客車質量監督檢驗中心,重慶 401122)
汽車道路性能測試是汽車新產品進入市場前質量檢驗的最后一環,非常關鍵。由于其涉及參數多、參數異質化較大、參數實時性要求高,需不同類型的數據采集單元協調完成。數采單元間數據交換,需通信總線支撐,控制器局域網 (controller area network,CAN)是目前應用于汽車ECU中最廣泛的總線,考慮到汽車道路性能測試與車載ECU的數據交換,CAN總線成為汽車道路性能測試系統最理想的選擇[1]。
在各種CAN應用層協議中,美國電氣工程師協會(SAE)制定了適用于卡車和客車的J1939協議,它是一種支持閉環控制的在多個ECU之間高速通信的網絡協議,并得到了廣泛的應用。雖然汽車道路性能測試的數采單元需要與車載ECU進行數據交換,但數采單元間通信又有其特殊性要求,所以不能完全照搬J1939協議[2]。
本文按照制定通信協議的基本原則,在設計汽車道路性能測試系統網絡拓撲結構后,基于J1939制定了適用于汽車道路性能測試系統的通用應用層協議。
CAN協議的制定一般包括物理層、數據鏈路層和應用層3個方面。目前物理層及數據鏈路層在相應的國際標準中都進行了完整地定義,因此CAN通信協議的制定主要集中在應用層。
應用層完成標識符分配、多報文數據包的傳輸等功能。本文的應用層協議遵循J1939規范,充分考慮客車道路性能測試系統結構特點,給每個節點都分配固定的標識地址;同時在充分考慮各節點數據傳輸實時性要求、數據的相對重要程度、控制算法對節點處理速度的要求等因素后完成標識符(identifier,ID)分配、定義消息周期以及確定信號與消息的映射關系等[3-4]。

圖1 J1939協議與CAN協議ID比較圖
J1939協議與CAN協議的29位ID對應關系如圖1所示。
制定應用層協議的基本規則如下:
(1)節點源地址(source address,SA)。網絡中的一個數采板對應唯一一個SA,在選擇節點地址時按照節點重要性來排序,重要性越高的節點地址越小。地址定義使用208~231這段屬于公路用車的預留地址[5]。
(2)參數組定義及編碼。對數采板節點的參數組定義時,盡量將功能相似、刷新率相同或相近的參放在同一個參數組中,這樣可以減少報文的數量、降低總線負載;參數組既要能夠充分利用8個字節的數據寬度,又要考慮擴展性,預留一部分字節或位,以便將來進行修改。參數組編碼(parameter group number,PGN)由協議數據單元格式(protocal data unit format,PF)和協議數據單元特定域(protocal data unit specific,PS)2個字節數據編碼而成,按照參數組的重要程度及傳輸方式(廣播或一對一傳輸)不同分配不同的PGN號[6-7]。
(3)優先級(priority,P)。優先級共有 8 級,最高級0,最低級7。報文優先級可以設置,所有從控制源發出的報文缺省優先級為2,所有信息的、專用的、請求和應答報文的缺省優先級為5,根據報文實時性的要求可適當修改優先級,產品序列信息使用最低優先級7。
汽車道路性能測試涉及的信號可歸結為6類,見表1。這些不同類型的信號通過相應的板卡采集,板卡經過同步時鐘信號同步后作為節點接入CAN網絡。圖2給出了汽車道路性能測試系統的網絡拓撲結構。
考慮到系統的穩定性,該網絡拓撲結構可掛載18個節點(圖中給出了6個),包括模擬量采集板、數字量采集板等6個類別,節點源地址SA采用J1939協議中預留碼段,實時性要求高的節點SA最小;總線兩端各加120Ω的終端匹配抑制信號反射,提高系統可靠性[9];波特率為500kb/s。

表1 汽車道路性能測試信號分類

圖2 客車道路性能測試系統的網絡拓撲結構
J1939協議的典型參數組定義如表2所示。

表2 J1939規定的6個典型參數信息
該協議為了擴展方便,參數組的PDU的PF值從242開始,全部采用PDU2格式(廣播傳輸),PS從0至5開始依次分配給模擬量采集板、數字量采集板、微波采集板、開關量采集板、溫度采集板、通信板。CAN報文接收時通過對屏蔽器和過濾器進行設置,每個數采板即可接收到所需參數。當得到某個參數組幀以后,就可以根據參數所在數據域的字節位置提取其對應的原始數,再根據該參數對應的分辨率和偏移量得到參數值,其計算公式為:參數值=參數原始數×分辨率+偏移量。參數組的各數據字節都定義為8個字節,并統一將最后一個字節保留,用于傳輸故障診斷信息[5-6]。

表3 典型參數組定義
限于篇幅,表3僅列出了模擬量板的參數組信息。模擬量板參數組用于將數采端口定義信息(電壓極性、偏移、增益等)、AD采樣值、故障代碼等信息向全局廣播。
該協議目前已經成功應用在GCM06plus型機動車道路性能綜合測試儀上。該儀器的CAN網絡中一共有9個節點,包括:2個模擬量節點、2個數字量節點、1個GPS信號節點、1個開關量節點、1個溫度節點、2個通信節點。以汽車制動性能測試為例,各節點將采集的制動踏板力、管路壓力、車速、制動觸發標記等信號及從車載ECU報文解析出的發動機轉速、發動機冷卻液溫度、發動機機油壓力等信號以廣播的方式在網絡中發布,最后通過以太網通信節點進行綜合處理。圖3為測試曲線及結果,從圖中可以看出,各類參數均能按照本協議正常傳輸并滿足實時性要求。

圖3 汽車制動測試速度曲線及結果
本文對比分析了汽車道路性能測試特點及J1939協議的適用性。在借鑒J1939協議的基礎上,制定了汽車道路性能測試系統CAN總線應用層通信協議應遵循的基本原則。并設計了網絡拓撲結構,給出了通信協議的具體定義,協議有效性在GCM06型機動車道路性能綜合測試儀中得到驗證。
[1]夏繼強,李曉君.SAE J1939協議棧設計及 μC/OS-II系統下的開發平臺的研究 [J].汽車工程,2008,30(12):1069-1074.
[2]郭川生,潘明.基于汽車內部網絡的嵌入式CAN網橋設計[J].儀表技術與傳感器,2009(1):45-47.
[3]韓偉偉,王建.基于SAE J1939協議的發動機虛擬儀表系統的開發[J].汽車科技,2009(3):24-26.
[4]夏繼強,孫進,曹磊,等.基于SAE J1939的汽車網絡監控系統設計[J].汽車工程,2007,29(6):528-532.
[5]李芳,張俊智.電動汽車動力總成系統控制器局域網(CAN)總線通信協議[J].機械工程學報,2008,44(5):102-107.
[6]劉和平.dsPIC通用數字信號處理控制器原理及應用-基于dsPIC30F系統[M].北京:北京航天航空大學出版社,2007.
[7]王錦堅,洪添勝.基于SAE J1939協議的客車CAN總線發動機測試系統[J].工業控制計算機,2009,22(4):82-84.
[8]蔡志偉,魏春光.基于SAE J1939協議的柴油機監控系統[J].內燃機車,2009(5):23-25.
[9]王明文.基于SAE J1939的汽車網絡測試系統設計[J].西華大學學報:自然科學版,2011,30(1):48-51.