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