新聞中心

EEPW首頁 > 汽車電子 > 設計應用 > 基于LabVIEW和J1939協(xié)議的CAN總線通訊平臺開發(fā)

基于LabVIEW和J1939協(xié)議的CAN總線通訊平臺開發(fā)

作者: 時間:2013-04-15 來源:網絡 收藏

應用領域:商用車 總線通訊

本文引用地址:http://m.butianyuan.cn/article/196162.htm

挑戰(zhàn):2.0B 規(guī)范的工業(yè)總線通訊、報文標識符和數據幀定義沒有形成統(tǒng)一的標準,參數定義隨意性很大。商用車 總線通訊標準,遵循建立在CAN2.0B 基礎上的SAE 。報文標識符ID,按照SAE 標準制定的車速、發(fā)動機轉速、扭矩、溫度、壓力、燃油消耗量等參數的物理定義,報文數據幀格式對應數據單元相應數據內容的封裝。面臨的挑戰(zhàn)是將 融會貫通于CAN 總線通訊平臺的設計之中。

應用方案:使用NI 軟件開發(fā)平臺和PXI 模塊化儀器系統(tǒng)中的CAN 通訊模塊,創(chuàng)建過濾識別 協(xié)議報文標識符ID 及多幀報文按協(xié)議格式解析接收和封裝發(fā)送的設計方法,并據此方法構建CAN 通訊平臺;完成整車電環(huán)境半實物仿真、發(fā)動機臺架試驗CAN 總線信息的收發(fā)、存貯及實時計算顯示。

使用的產品:

2009 軟件平臺

PXI-1045 機箱

PXI-8108 嵌入式控制器

PXI-8464/2 CAN 通訊模塊

概述:

進入21 世紀以來,商用車CAN 總線網絡的應用得到了異常迅猛的發(fā)展?,F(xiàn)今市面上滿足國3~國5 排放標準的商用車,無一例外均應用CAN 總線網絡,進行整車VECU、發(fā)動機EECU、自動變速箱ECU、汽車組合儀表ECU、車輪防抱死制動ECU 之間的數據通訊。基于J1939 協(xié)議的商用車CAN總線,針對單片機微控制器MCU 節(jié)點的MCU + CAN 控制器 + CAN 收發(fā)器的CAN 通訊接口,在車載網絡控制系統(tǒng)中得到了大量應用;而對整車道路試驗、發(fā)動機臺架試驗、整車電環(huán)境半實物仿真測試的上位機節(jié)點的PC 機或筆記本電腦 + CAN 通訊模塊,大都使用價格昂貴的Vector CANoe 模塊。

存在的問題:

1)PXI 測控裝置無基于J1939 協(xié)議的CAN 通訊功能,不能滿足試驗工況對CAN 總線報文信息分析的功能需求。

2)CANoe 模塊時序不受PXI 儀器時鐘速率控制,無法與PXI 時序的其它測量參數同步觸發(fā)測量。

基于 和J1939 協(xié)議的CAN 總線通訊技術方法,在國內汽車行業(yè)PXI 測控裝置的應用屬于空白,難點是如何將LabVIEW 軟件開發(fā)平臺與復雜的J1939 協(xié)議有效結合,實現(xiàn)報文信息的過濾接收、合成重組及封裝發(fā)送。

針對商用車CAN 總線通訊網絡的特點,構建基于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、數據頁DP、協(xié)議數據單元PF、擴展單元PS、源地址SA 和數據字節(jié)Data,如圖1 所示。這七部分在開放式系統(tǒng)互聯(lián)參考模型(OSI)應用層,通過協(xié)議數據單元PDU(Protocal Data Unit)被封裝成一個或多個CAN 數據幀,通過物理層發(fā)送給總線網絡其它設備節(jié)點。

圖1 J1939 數據幀格式.jpg

圖1 J1939 數據幀格式

PDU 定義了數據幀中與J1939 協(xié)議相關的信息,由標識符ID 和數據場組成。

PDU1 格式報文PF 在0~239 之間,報文為點對點向目標地址發(fā)送,PS:報文接收的目標地址,SA:報文發(fā)送的源地址,在目標地址中填入255,為全局地址發(fā)送。

PDU2 格式報文PF 在240~255 之間,報文向全局地址發(fā)送,PS:參數組擴展值,J1939 協(xié)議大部分報文為PDU2 格式。

PDU 數據場包含參數組中數據內容,參數組編號PGN(Parameter Group Number)用于唯一標識參數組的號碼,由一個或幾個參數構成一幀或多幀報文,而參數組是應用層中定義的與某個ECU相關的若干參數(例如發(fā)動機水溫、燃油溫度等)的組合。

J1939 協(xié)議與CAN2.0B 標準區(qū)別

標識符ID:CAN2.0B 不同功能的報文信息可以使用相同的ID,根據制造商特定的協(xié)議使用CAN設備,在集成時會產生ID 不能識別或識別不一致問題。J1939 每幀報文的標識符唯一,且每幀報文都有自己的PGN,為每個節(jié)點規(guī)定唯一的源地址,并將源地址映射到CAN 標識符中,避免多個節(jié)點使用相同的標識符,例如ID:0CF00400 代表發(fā)動機轉速、扭矩報文。

OSI 模型:CAN2.0 規(guī)范定義了七層OSI 參考模型的物理層和數據鏈路層,是底層標準,如圖2所示, CAN 總線產品的兼容性、互換性和可集成性差。J1939 是面向OSI 參考模型應用層的高層協(xié)議,在應用層定義了針對車輛應用的信號(參數)和報文(參數組)。通過參數描述信號,并給每個參數分配了一個編號SPN(Suspect Parameter Number),參數定義了PDU 數據場中字節(jié)的物理意義,例如SPN190 代表發(fā)動機轉速。一個PGN 中可能有幾個SPN,PGN61444 包含了SPN190 發(fā)動機轉速和SPN513 發(fā)動機扭矩等參數。

多幀報文:CAN2.0B 規(guī)范定義只能使用單幀報文傳輸,J1939 協(xié)議除單幀報文傳輸外,還使用對話式、廣播式多幀報文傳輸,并按多幀數據傳輸協(xié)議進行打包封裝發(fā)送和接收合成重組處理,其中對話式多幀報文發(fā)送接收節(jié)點需要握手協(xié)議,廣播式多幀報文面向全局地址發(fā)送。

圖2 開放式系統(tǒng)互聯(lián)參考模型(OSI).jpg

圖2 開放式系統(tǒng)互聯(lián)參考模型(OSI)

模塊接口

PXI-8464/2 雙通道CAN2.0B 通訊接口模塊,內含SJA1000T CAN 控制器和TJA1041T 高速CAN收發(fā)器及TJA1054AT 低速CAN 收發(fā)器。J1939 數據鏈路層通過PDU 格式實現(xiàn)報文的打包封裝,通過CAN 控制器發(fā)送CAN 數據幀必須具有的同步、順序控制、錯誤控制和流控制,自動產生CRC 校驗位和ACK 應答位插入數據幀中。

J1939 物理層協(xié)議規(guī)定了每個網段最多30 個ECU,CAN 總線通訊速率250 kBits/s,總線電平顯性、隱性,差分電壓3.5V/1.5V,差分傳輸雙絞線線纜顏色CAN-H 黃色、CAN-L 綠色,CAN 收發(fā)器完成MCU 至CAN 總線之間收發(fā)電平的匹配轉換。

數字通信相關文章:數字通信原理


通信相關文章:通信原理



上一頁 1 2 下一頁

評論


相關推薦

技術專區(qū)

關閉