基于LabVIEW和J1939協(xié)議的CAN總線(xiàn)通訊平臺開(kāi)發(fā)
應用領(lǐng)域:商用車(chē)CAN 總線(xiàn)通訊
本文引用地址:http://dyxdggzs.com/article/196162.htm挑戰:CAN2.0B 規范的工業(yè)總線(xiàn)通訊、報文標識符和數據幀定義沒(méi)有形成統一的標準,參數定義隨意性很大。商用車(chē)CAN 總線(xiàn)通訊標準,遵循建立在CAN2.0B 基礎上的SAE J1939 協(xié)議。報文標識符ID,按照SAE 標準制定的車(chē)速、發(fā)動(dòng)機轉速、扭矩、溫度、壓力、燃油消耗量等參數的物理定義,報文數據幀格式對應協(xié)議數據單元相應數據內容的封裝。面臨的挑戰是將J1939 協(xié)議融會(huì )貫通于CAN 總線(xiàn)通訊平臺的設計之中。
應用方案:使用NI LabVIEW 軟件開(kāi)發(fā)平臺和PXI 模塊化儀器系統中的CAN 通訊模塊,創(chuàng )建過(guò)濾識別J1939 協(xié)議報文標識符ID 及多幀報文按協(xié)議格式解析接收和封裝發(fā)送的設計方法,并據此方法構建CAN 通訊平臺;完成整車(chē)電環(huán)境半實(shí)物仿真、發(fā)動(dòng)機臺架試驗CAN 總線(xiàn)信息的收發(fā)、存貯及實(shí)時(shí)計算顯示。
使用的產(chǎn)品:
LabVIEW2009 軟件平臺
PXI-1045 機箱
PXI-8108 嵌入式控制器
PXI-8464/2 CAN 通訊模塊
概述:
進(jìn)入21 世紀以來(lái),商用車(chē)CAN 總線(xiàn)網(wǎng)絡(luò )的應用得到了異常迅猛的發(fā)展?,F今市面上滿(mǎn)足國3~國5 排放標準的商用車(chē),無(wú)一例外均應用CAN 總線(xiàn)網(wǎng)絡(luò ),進(jìn)行整車(chē)VECU、發(fā)動(dòng)機EECU、自動(dòng)變速箱ECU、汽車(chē)組合儀表ECU、車(chē)輪防抱死制動(dòng)ECU 之間的數據通訊?;贘1939 協(xié)議的商用車(chē)CAN總線(xiàn),針對單片機微控制器MCU 節點(diǎn)的MCU + CAN 控制器 + CAN 收發(fā)器的CAN 通訊接口,在車(chē)載網(wǎng)絡(luò )控制系統中得到了大量應用;而對整車(chē)道路試驗、發(fā)動(dòng)機臺架試驗、整車(chē)電環(huán)境半實(shí)物仿真測試的上位機節點(diǎn)的PC 機或筆記本電腦 + CAN 通訊模塊,大都使用價(jià)格昂貴的Vector CANoe 模塊。
存在的問(wèn)題:
1)PXI 測控裝置無(wú)基于J1939 協(xié)議的CAN 通訊功能,不能滿(mǎn)足試驗工況對CAN 總線(xiàn)報文信息分析的功能需求。
2)CANoe 模塊時(shí)序不受PXI 儀器時(shí)鐘速率控制,無(wú)法與PXI 時(shí)序的其它測量參數同步觸發(fā)測量。
基于LabVIEW 和J1939 協(xié)議的CAN 總線(xiàn)通訊技術(shù)方法,在國內汽車(chē)行業(yè)PXI 測控裝置的應用屬于空白,難點(diǎn)是如何將LabVIEW 軟件開(kāi)發(fā)平臺與復雜的J1939 協(xié)議有效結合,實(shí)現報文信息的過(guò)濾接收、合成重組及封裝發(fā)送。
針對商用車(chē)CAN 總線(xiàn)通訊網(wǎng)絡(luò )的特點(diǎn),構建基于LabVIEW 和J1939 協(xié)議的CAN 總線(xiàn)通訊平臺,嵌入在NI PXI 模塊化接口的測控裝置中,用于發(fā)動(dòng)機臺架試驗、整車(chē)電環(huán)境半實(shí)物仿真測試。
J1939 協(xié)議
J1939 協(xié)議以CAN2.0B 規范為基礎制定,對CAN2.0B 擴展幀29 位標識符ID 定義形成J1939 的編碼系統,包括優(yōu)先級P、預留位R、數據頁(yè)DP、協(xié)議數據單元PF、擴展單元PS、源地址SA 和數據字節Data,如圖1 所示。這七部分在開(kāi)放式系統互聯(lián)參考模型(OSI)應用層,通過(guò)協(xié)議數據單元PDU(Protocal Data Unit)被封裝成一個(gè)或多個(gè)CAN 數據幀,通過(guò)物理層發(fā)送給總線(xiàn)網(wǎng)絡(luò )其它設備節點(diǎn)。

圖1 J1939 數據幀格式
PDU 定義了數據幀中與J1939 協(xié)議相關(guān)的信息,由標識符ID 和數據場(chǎng)組成。
PDU1 格式報文PF 在0~239 之間,報文為點(diǎn)對點(diǎn)向目標地址發(fā)送,PS:報文接收的目標地址,SA:報文發(fā)送的源地址,在目標地址中填入255,為全局地址發(fā)送。
PDU2 格式報文PF 在240~255 之間,報文向全局地址發(fā)送,PS:參數組擴展值,J1939 協(xié)議大部分報文為PDU2 格式。
PDU 數據場(chǎng)包含參數組中數據內容,參數組編號PGN(Parameter Group Number)用于唯一標識參數組的號碼,由一個(gè)或幾個(gè)參數構成一幀或多幀報文,而參數組是應用層中定義的與某個(gè)ECU相關(guān)的若干參數(例如發(fā)動(dòng)機水溫、燃油溫度等)的組合。
J1939 協(xié)議與CAN2.0B 標準區別
標識符ID:CAN2.0B 不同功能的報文信息可以使用相同的ID,根據制造商特定的協(xié)議使用CAN設備,在集成時(shí)會(huì )產(chǎn)生ID 不能識別或識別不一致問(wèn)題。J1939 每幀報文的標識符唯一,且每幀報文都有自己的PGN,為每個(gè)節點(diǎn)規定唯一的源地址,并將源地址映射到CAN 標識符中,避免多個(gè)節點(diǎn)使用相同的標識符,例如ID:0CF00400 代表發(fā)動(dòng)機轉速、扭矩報文。
OSI 模型:CAN2.0 規范定義了七層OSI 參考模型的物理層和數據鏈路層,是底層標準,如圖2所示, CAN 總線(xiàn)產(chǎn)品的兼容性、互換性和可集成性差。J1939 是面向OSI 參考模型應用層的高層協(xié)議,在應用層定義了針對車(chē)輛應用的信號(參數)和報文(參數組)。通過(guò)參數描述信號,并給每個(gè)參數分配了一個(gè)編號SPN(Suspect Parameter Number),參數定義了PDU 數據場(chǎng)中字節的物理意義,例如SPN190 代表發(fā)動(dòng)機轉速。一個(gè)PGN 中可能有幾個(gè)SPN,PGN61444 包含了SPN190 發(fā)動(dòng)機轉速和SPN513 發(fā)動(dòng)機扭矩等參數。
多幀報文:CAN2.0B 規范定義只能使用單幀報文傳輸,J1939 協(xié)議除單幀報文傳輸外,還使用對話(huà)式、廣播式多幀報文傳輸,并按多幀數據傳輸協(xié)議進(jìn)行打包封裝發(fā)送和接收合成重組處理,其中對話(huà)式多幀報文發(fā)送接收節點(diǎn)需要握手協(xié)議,廣播式多幀報文面向全局地址發(fā)送。

圖2 開(kāi)放式系統互聯(lián)參考模型(OSI)
模塊接口
PXI-8464/2 雙通道CAN2.0B 通訊接口模塊,內含SJA1000T CAN 控制器和TJA1041T 高速CAN收發(fā)器及TJA1054AT 低速CAN 收發(fā)器。J1939 數據鏈路層通過(guò)PDU 格式實(shí)現報文的打包封裝,通過(guò)CAN 控制器發(fā)送CAN 數據幀必須具有的同步、順序控制、錯誤控制和流控制,自動(dòng)產(chǎn)生CRC 校驗位和ACK 應答位插入數據幀中。
J1939 物理層協(xié)議規定了每個(gè)網(wǎng)段最多30 個(gè)ECU,CAN 總線(xiàn)通訊速率250 kBits/s,總線(xiàn)電平顯性、隱性,差分電壓3.5V/1.5V,差分傳輸雙絞線(xiàn)線(xiàn)纜顏色CAN-H 黃色、CAN-L 綠色,CAN 收發(fā)器完成MCU 至CAN 總線(xiàn)之間收發(fā)電平的匹配轉換。
數字通信相關(guān)文章:數字通信原理
通信相關(guān)文章:通信原理
評論