LabVIEW開發CAN 總線通訊平臺LabVIEW開發CAN 總線通訊平臺
進入21 世紀以來,商用車CAN 總線網絡的應用得到了異常迅猛的發展。基于LabVIEW 和J1939 協議的CAN 總線通訊技術方法,在國內汽車行業PXI 測控裝置的應用屬于空白。本文針對商用車CAN 總線通訊網絡的特點,構建基于LabVIEW 和J1939 協議的CAN 總線通訊平臺,嵌入在NI PXI 模塊化接口的測控裝置中,用于發動機臺架試驗、整車電環境半實物仿真測試。
J1939 協議
J1939 協議以CAN2.0B 規范為基礎制定,對CAN2.0B 擴展幀29 位標識符ID 定義形成J1939 的編碼系統,包括優先級P、預留位R、數據頁DP、協議數據單元PF、擴展單元PS、源地址SA 和數據字節Data,如圖1 所示。這七部分在開放式系統互聯參考模型(OSI)應用層,通過協議數據單元PDU(Protocal Data Unit)被封裝成一個或多個CAN 數據幀,通過物理層發送給總線網絡其它設備節點。
圖1 J1939 數據幀格式
PDU 定義了數據幀中與J1939 協議相關的信息,由標識符ID 和數據場組成。
PDU1 格式報文PF 在0~239 之間,報文為點對點向目標地址發送,PS:報文接收的目標地址,SA:報文發送的源地址,在目標地址中填入255,為全局地址發送。
PDU2 格式報文PF 在240~255 之間,報文向全局地址發送,PS:參數組擴展值,J1939 協議大部分報文為PDU2 格式。
PDU 數據場包含參數組中數據內容,參數組編號PGN(Parameter Group Number)用于*標識參數組的號碼,由一個或幾個參數構成一幀或多幀報文,而參數組是應用層中定義的與某個ECU相關的若干參數(例如發動機水溫、燃油溫度等)的組合。
J1939 協議與CAN2.0B 標準區別
標識符ID:CAN2.0B 不同功能的報文信息可以使用相同的ID,根據制造商特定的協議使用CAN設備,在集成時會產生ID 不能識別或識別不*問題。J1939 每幀報文的標識符*,且每幀報文都有自己的PGN,為每個節點規定*的源地址,并將源地址映射到CAN 標識符中,避免多個節點使用相同的標識符,例如ID:0CF00400 代表發動機轉速、扭矩報文。
OSI 模型:CAN2.0 規范定義了七層OSI 參考模型的物理層和數據鏈路層,是底層標準,如圖2所示, CAN 總線產品的兼容性、互換性和可集成性差。J1939 是面向OSI 參考模型應用層的高層協議,在應用層定義了針對車輛應用的信號(參數)和報文(參數組)。通過參數描述信號,并給每個參數分配了一個編號SPN(Suspect Parameter Number),參數定義了PDU 數據場中字節的物理意義,例如SPN190 代表發動機轉速。一個PGN 中可能有幾個SPN,PGN61444 包含了SPN190 發動機轉速和SPN513 發動機扭矩等參數。
多幀報文:CAN2.0B 規范定義只能使用單幀報文傳輸,J1939 協議除單幀報文傳輸外,還使用對話式、廣播式多幀報文傳輸,并按多幀數據傳輸協議進行打包封裝發送和接收合成重組處理,其中對話式多幀報文發送接收節點需要握手協議,廣播式多幀報文面向全局地址發送。
圖2 開放式系統互聯參考模型(OSI)
模塊接口
PXI-8464/2 雙通道CAN2.0B 通訊接口模塊,內含SJA1000T CAN 控制器和TJA1041T 高速CAN收發器及TJA1054AT 低速CAN 收發器。J1939 數據鏈路層通過PDU 格式實現報文的打包封裝,通過CAN 控制器發送CAN 數據幀必須具有的同步、順序控制、錯誤控制和流控制,自動產生CRC 校驗位和ACK 應答位插入數據幀中。
J1939 物理層協議規定了每個網段zui多30 個ECU,CAN 總線通訊速率250 kBits/s,總線電平顯性、隱性,差分電壓3.5V/1.5V,差分傳輸雙絞線線纜顏色CAN-H 黃色、CAN-L 綠色,CAN 收發器完成MCU 至CAN 總線之間收發電平的匹配轉換。
軟件設計
基于J1939 協議的CAN 總線報文收發多任務處理流程,如圖3 所示,采用生產者/消費者循環數據結構。生產者循環使用“元素入隊列”函數向報文簇隊列中添加數據,消費者循環使用“元素出隊列”函數從報文簇隊列中移出數據。循環間采用隊列的方式進行通信,避免多任務處理競爭狀態,當生產數據比消費處理數據的速度快時,隊列的緩沖作用保證報文數據不丟失。
圖3 基于LabVIEW 和J1939 協議的CAN 總線通訊報文收發多任務處理
建立接收報文ID 解析過濾的識別方法。確定報文標識符ID 的枚舉型狀態變量識別報文,根據狀態變量條件結構過濾報文。
PDU1、PDU2 格式單幀報文全部入隊列,數據場大于8 字節的對話式、廣播式多幀報文按J1939協議多幀數據合成重組后入隊列,其它無數據場的報文幀舍去,處理完的接收報文簇分解后出隊列計算、存貯和顯示。
廣播幀報文接收合成,首*行TP.CM-BAM 命令幀解析,提取EECU 發送報文的PGN 和幀數,其次對接收的TP.DT-BAM 數據幀組報文刪除幀序號,通過替換數組子集對接收報文合成重組,還原PGN 標識的數據長度大于8 字節的廣播幀報文。
建立發送報文ID 解析封裝的識別方法。報文解析首先確定幀類型狀態變量,其次根據狀態變量的條件判斷,進行報文格式的封裝定義。
數據場小于或等于8 字節的PDU1、PDU2 單幀發送報文直接入隊列,數據場大于8 字節的對話式、廣播式多幀報文按J1939 協議多幀數據處理打包封裝簇合成后入隊列,處理完的J1939 發送報文簇分解后出隊列并寫入CAN 口。
廣播幀報文發送封裝,ID 解析將發送報文的PGN 封裝在廣播報文命令幀標識符ID-TP.CM 中,報文數組解析進行字節數和幀數計算,創建幀序號加報文子集的8 字節多幀數組,與數據幀標識符ID-TP.DT 打包封裝簇合成TP.DT-BAM,TP.CM-BAM 與TP.DT-BAM 組成廣播幀格式報文。
應用效果
在整車電環境的半實物仿真報文接收測試試驗中,應用圖4 所示的基于LabVIEW 和J1939 協議的CAN 總線通訊平臺,與Vector CANoe 模塊在同一時間段比對測試,接收的某型號發動機穩態工況EECU 報文如圖5 所示,一秒內接收EECU 發出的526 幀報文,比對測試接收的報文無丟失現象。
發動機燃油消耗量報文,實時反映了發動機燃油經濟性,在商用車J1939 協議CAN 總線網絡中,分別被車輛VECU 接收,作為換擋控制策略控制自動變速箱汽車;組合儀表ECU 接收并實時顯示,提示駕駛員形成良好的駕駛習慣,操縱汽車達到燃油經濟性的路況行駛。為使發動機獲得的動力性、經濟性和兼顧排放達標,需要對發動機電控單元EECU 進行標定匹配,獲得噴油脈寬的標定參數。標定之后做比對試驗,驗證EECU 的標定效果。
發動機穩態工況試驗,能夠反映車輛的等速工況;而發動機變工況瞬態試驗,能夠模擬實際道路循環中發動機狀態。通過將實時報文油耗和實際測量瞬態油耗的對比,研究兩者之間的對應吻合關系,判斷發動機EECU 的控制效果。
(a)整車電環境的半實物仿真 (b)發動機臺架試驗
圖4 基于LabVIEW 和J1939 協議的CAN 總線通訊平臺應用
注:一秒內接收報文 39736 – 39210 = 526
圖5 發動機穩態工況EECU 報文
圖6 發動機變工況臺架試驗油耗比對測量
某型號發動機十工況臺架試驗瞬態油耗比對測量曲線見圖6 所示,從J1939 協議CAN 總線接收并解析的EECU 油耗報文數據,與臺架油耗儀實測數據在發動機低負荷時存在差異,即發動機低負荷時實際噴油量較小,設定噴油量與實際噴油量的差異值較大。這個差異是因為發動機低負荷共軌軌壓波動較大,導致噴油量波動變化而客規存在。兩條曲線總體吻合*,通過CAN 總線接收的發動機噴油目標值,與實際測量值接近,且變化趨勢和時序同步,反映了發動機EECU 標定匹配獲得了噴油脈寬的目標值。
總結
基于J1939 協議和NI PXI 平臺的CAN 總線通訊平臺的開發,建立了NI CAN 模塊在商用車CAN 總線通訊的應用基礎,項目具有推廣和商品應用前景。在發動機臺架試驗、整車電環境半實物仿真分析中,實現對CAN 總線報文信息的過濾識別、合成接收、封裝發送、存貯、解析計算及實時顯示。
應用LabVIEW 軟件平臺強大的數學分析運算及隊列處理能力,以及適應整車苛刻測試環境的NI PXI 儀器及CAN 接口模塊,滿足試驗工況對CAN 總線報文信息解析的功能需求,同時實現對報文數據與NI PXI 儀器其它測量參數同步采樣,試驗數據比對分析處理具有實時性和真實性。
我們開業語言以LabVIEW為主,在硬件選型方面也積累了豐富的經驗,同時我們也具備獨立的硬件開發及機械設計與加工能力,可以制作、加工非標設備,滿足個性化的需求。"術業有專攻",每個人都有自己zui擅長的領域。把這些工作交給我們,使您有精力做科研,這應該是一個雙贏的局面。
服務領域涵蓋:
LabVIEW 編程 開發
LabVIEW作為圖形化編程語言,近幾年發展迅速,它具備開發快、可靠性高等特點,非常適合測控領域的應用。在該領域我們已經有十年的開發經驗,合作用戶涉及科研、國防、外企、大中小型各類企業。服務領域遍布自動測控系統眾多領域,包括航空航天、汽車產品測試、工業自動化、故障診斷、圖像處理等。
非標設備研制
在系統開發過程中,購買不到的配件、電路板等產品,我們也可以進行研制開發,為您提供一站式的服務。
系統集成
為自動化測試提供完整的解決方案。我們從設備選擇、采購、安裝、調試、控制、到配套產品的研制,涵蓋您科研生產的全過程。讓您全身心的投入到核心工作中來,減輕您的工作壓力,提升工作效率。
產品合作開發
如果您那有具有市場潛力的好產品、好創意,我們也愿意與您一起合作開發。在這方面我們也具備了一定的基礎,例如工業*/呼吸模擬器/人工肺,勞保測試產品"防塵測試儀"已經成功推向了市場。成熟的技術+有潛力的市場,一直是我們追求的目標。如果您有好的創意,或者現有的產品需要升級推廣,也歡迎與我們。
王