基于LabVIEW 和J1939 協(xié)議的CAN 總線通訊平臺開發(fā)
概述:
本文引用地址:http://butianyuan.cn/article/144207.htm進入21 世紀以來,商用車CAN 總線網(wǎng)絡的應用得到了異常迅猛的發(fā)展?,F(xiàn)今市面上滿足國3~國5 排放標準的商用車,無一例外均應用CAN 總線網(wǎng)絡,進行整車VECU、發(fā)動機EECU、自動變速箱ECU、汽車組合儀表ECU、車輪防抱死制動ECU 之間的數(shù)據(jù)通訊。基于J1939 協(xié)議的商用車CAN總線,針對單片機微控制器MCU 節(jié)點的MCU + CAN 控制器 + CAN 收發(fā)器的CAN 通訊接口,在車載網(wǎng)絡控制系統(tǒng)中得到了大量應用;而對整車道路試驗、發(fā)動機臺架試驗、整車電環(huán)境半實物仿真測試的上位機節(jié)點的PC 機或筆記本電腦 + CAN 通訊模塊,大都使用價格昂貴的Vector CANoe 模塊。
存在的問題:
1)PXI 測控裝置無基于J1939 協(xié)議的CAN 通訊功能,不能滿足試驗工況對CAN 總線報文信息分析的功能需求。
2)CANoe 模塊時序不受PXI 儀器時鐘速率控制,無法與PXI 時序的其它測量參數(shù)同步觸發(fā)測量。
基于LabVIEW 和J1939 協(xié)議的CAN 總線通訊技術方法,在國內(nèi)汽車行業(yè)PXI 測控裝置的應用屬于空白,難點是如何將LabVIEW 軟件開發(fā)平臺與復雜的J1939 協(xié)議有效結合,實現(xiàn)報文信息的過濾接收、合成重組及封裝發(fā)送。
針對商用車CAN 總線通訊網(wǎng)絡的特點,構建基于LabVIEW 和J1939 協(xié)議的CAN 總線通訊平臺,嵌入在NI PXI 模塊化接口的測控裝置中,用于發(fā)動機臺架試驗、整車電環(huán)境半實物仿真測試。
J1939 協(xié)議
J1939 協(xié)議以CAN2.0B 規(guī)范為基礎制定,對CAN2.0B 擴展幀29 位標識符ID 定義形成J1939 的編碼系統(tǒng),包括優(yōu)先級P、預留位R、數(shù)據(jù)頁DP、協(xié)議數(shù)據(jù)單元PF、擴展單元PS、源地址SA 和數(shù)據(jù)字節(jié)Data,如圖1 所示。這七部分在開放式系統(tǒng)互聯(lián)參考模型(OSI)應用層,通過協(xié)議數(shù)據(jù)單元PDU(Protocal Data Unit)被封裝成一個或多個CAN 數(shù)據(jù)幀,通過物理層發(fā)送給總線網(wǎng)絡其它設備節(jié)點?! ?/p>
PDU 定義了數(shù)據(jù)幀中與J1939 協(xié)議相關的信息,由標識符ID 和數(shù)據(jù)場組成。
PDU1 格式報文PF 在0~239 之間,報文為點對點向目標地址發(fā)送,PS:報文接收的目標地址,SA:報文發(fā)送的源地址,在目標地址中填入255,為全局地址發(fā)送。
PDU2 格式報文PF 在240~255 之間,報文向全局地址發(fā)送,PS:參數(shù)組擴展值,J1939 協(xié)議大部分報文為PDU2 格式。
PDU 數(shù)據(jù)場包含參數(shù)組中數(shù)據(jù)內(nèi)容,參數(shù)組編號PGN(Parameter Group Number)用于唯一標識參數(shù)組的號碼,由一個或幾個參數(shù)構成一幀或多幀報文,而參數(shù)組是應用層中定義的與某個ECU相關的若干參數(shù)(例如發(fā)動機水溫、燃油溫度等)的組合。
J1939 協(xié)議與CAN2.0B 標準區(qū)別
標識符ID:CAN2.0B 不同功能的報文信息可以使用相同的ID,根據(jù)制造商特定的協(xié)議使用CAN設備,在集成時會產(chǎn)生ID 不能識別或識別不一致問題。J1939 每幀報文的標識符唯一,且每幀報文都有自己的PGN,為每個節(jié)點規(guī)定唯一的源地址,并將源地址映射到CAN 標識符中,避免多個節(jié)點使用相同的標識符,例如ID:0CF00400 代表發(fā)動機轉速、扭矩報文。
OSI 模型:CAN2.0 規(guī)范定義了七層OSI 參考模型的物理層和數(shù)據(jù)鏈路層,是底層標準,如圖2所示, CAN 總線產(chǎn)品的兼容性、互換性和可集成性差。J1939 是面向OSI 參考模型應用層的高層協(xié)議,在應用層定義了針對車輛應用的信號(參數(shù))和報文(參數(shù)組)。通過參數(shù)描述信號,并給每個參數(shù)分配了一個編號SPN(Suspect Parameter Number),參數(shù)定義了PDU 數(shù)據(jù)場中字節(jié)的物理意義,例如SPN190 代表發(fā)動機轉速。一個PGN 中可能有幾個SPN,PGN61444 包含了SPN190 發(fā)動機轉速和SPN513 發(fā)動機扭矩等參數(shù)。
多幀報文:CAN2.0B 規(guī)范定義只能使用單幀報文傳輸,J1939 協(xié)議除單幀報文傳輸外,還使用對話式、廣播式多幀報文傳輸,并按多幀數(shù)據(jù)傳輸協(xié)議進行打包封裝發(fā)送和接收合成重組處理,其中對話式多幀報文發(fā)送接收節(jié)點需要握手協(xié)議,廣播式多幀報文面向全局地址發(fā)送?! ?/p>
模塊接口
PXI-8464/2 雙通道CAN2.0B 通訊接口模塊,內(nèi)含SJA1000T CAN 控制器和TJA1041T 高速CAN收發(fā)器及TJA1054AT 低速CAN 收發(fā)器。J1939 數(shù)據(jù)鏈路層通過PDU 格式實現(xiàn)報文的打包封裝,通過CAN 控制器發(fā)送CAN 數(shù)據(jù)幀必須具有的同步、順序控制、錯誤控制和流控制,自動產(chǎn)生CRC 校驗位和ACK 應答位插入數(shù)據(jù)幀中。
J1939 物理層協(xié)議規(guī)定了每個網(wǎng)段最多30 個ECU,CAN 總線通訊速率250 kBits/s,總線電平顯性、隱性,差分電壓3.5V/1.5V,差分傳輸雙絞線線纜顏色CAN-H 黃色、CAN-L 綠色,CAN 收發(fā)器完成MCU 至CAN 總線之間收發(fā)電平的匹配轉換。
評論