新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 基于LabVIEW 和J1939 協議的CAN 總線通訊平臺開發

        基于LabVIEW 和J1939 協議的CAN 總線通訊平臺開發

        作者:周躍鋼 時間:2013-04-16 來源:電子產品世界 收藏

          概述:

        本文引用地址:http://www.104case.com/article/144207.htm

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

          存在的問題:

          1)PXI 測控裝置無基于J1939 協議的CAN 通訊功能,不能滿足試驗工況對CAN 總線報文信息分析的功能需求。
          2)CANoe 模塊時序不受PXI 儀器時鐘速率控制,無法與PXI 時序的其它測量參數同步觸發測量。

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

          針對商用車CAN 總線通訊網絡的特點,構建基于 和J1939 協議的CAN 總線通訊平臺,嵌入在 PXI 模塊化接口的測控裝置中,用于發動機臺架試驗、整車電環境半實物仿真測試。

          J1939 協議

          J1939 協議以CAN2.0B 規范為基礎制定,對CAN2.0B 擴展幀29 位標識符ID 定義形成J1939 的編碼系統,包括優先級P、預留位R、數據頁DP、協議數據單元PF、擴展單元PS、源地址SA 和數據字節Data,如圖1 所示。這七部分在開放式系統互聯參考模型(OSI)應用層,通過協議數據單元PDU(Protocal Data Unit)被封裝成一個或多個CAN 數據幀,通過物理層發送給總線網絡其它設備節點。  

         

          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 協議除單幀報文傳輸外,還使用對話式、廣播式多幀報文傳輸,并按多幀數據傳輸協議進行打包封裝發送和接收合成重組處理,其中對話式多幀報文發送接收節點需要握手協議,廣播式多幀報文面向全局地址發送。  

         

          模塊接口

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

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


        上一頁 1 2 下一頁

        關鍵詞: NI CAN LabVIEW

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 长岛县| 泾阳县| 天祝| 虞城县| 东宁县| 固始县| 雅安市| 阿瓦提县| 抚远县| 宿松县| 红安县| 封开县| 自贡市| 潜江市| 文登市| 湖北省| 东明县| 盱眙县| 五寨县| 黑山县| 滦平县| 区。| 栾川县| 香河县| 济源市| 彩票| 原阳县| 静海县| 宁化县| 天全县| 清徐县| 阜阳市| 白河县| 梨树县| 营山县| 梁河县| 乃东县| 于田县| 平安县| 山西省| 赤城县|