基於SAE J1939協議的發動機總線數據模擬器開發

2021-01-12 電子產品世界

在車載網絡的開發過程中,需要發動機節點向總線網絡發送報文,為了降低成本,提高開發效率,模擬發動機。基於SAE J1939協議巾車輛應用層子標準及應用層診斷子標準,通過軟體編程進行發動機總線數據模擬器的開發,模擬總線網絡中的發動機ECU節點,向總線網絡發送報文,從而測試總線網絡上的另一節點儀表,檢驗儀表是否工作正常。

1 SAE J1939協議概述
SAE J1939標準是美國汽車工程師協會(SAE)發布的以CAN總線為核心的車輛網絡串行通訊和控制協議,採用多路復用技術為車輛上各傳感器、執行器和控制器提供在CAN總線基礎上的標準化高速網絡連接,在車輛電子裝置之間實現高速數據共享,有效減少電子線束的數量,提高車輛電子控制系統的靈活性、可靠性、可維修性及標準化程度。
1.1 SAE J1939協議簡介
J1939協議包括12個子標準。本文主要涉及車輛應用層及應用層診斷2個子標準。車輛應用層子標準(SAEJl939/71)規定了車輛控制控制參數的格式,包括參數範圍、解析度、類型及刷新率,數據場各位的含義;應用層診斷子標準(SAEJl939/73)主要針對排放的要求規定了12種診斷結果信息。
1.2 協議數據單元
SAE J1939應用層協議採用協議數據單元PDU傳遞信息,PDU由優先級P、保留位R、數據頁DP、PDU格式PF、PDU特定域PS(可作為目標地址、組擴展或專用)、源地址SA和數據域7部分組成,如表1所示。每個PDU相當於CAN協議中的一幀,它們將被分組封裝在一個或多個CAN數據幀中,通過物理介質傳送到其他網絡裝置。

本文引用地址:http://www.eepw.com.cn/article/197663.htm



2 總體方案設計
在開發過程中,通過調用USBCAN-Ⅱ接口卡庫埠函數,利用CAN總線實現上位機與下位機之間的通訊。發動機總線數據模擬器通過USBCAN-II智能接口向總線儀表發送數據並實時顯示,達到測試儀表的目的。系統結構如圖1所示。


該系統主要包括6大功能模塊,分別是發動機參數報文發送模塊、發動機故障報文發送模塊、CAN幀信息顯示模塊、虛擬儀表模塊、實時參數曲線模塊和儀表測試模塊。系統軟體採用C#環境開發,運行於Windows平臺。系統開發的總體流程是:首先實現與USBCAN-Ⅱ接口卡的通訊,連接成功後,在主界面選擇需要實現的功能,然後執行相關模塊的操作。在關閉程序的同時,關閉USBCAN-Ⅱ接口卡。程序開發流程如圖2所示。


相關焦點

  • 基於SAE J1939協議的CAN總線汽車儀表設計
    這裡給出一種基於CAN(Controller Area Network)總線的汽車儀表設計方案。該儀表利用CAN總線使其成為車身網絡一部分,遵循SAE J1939協議讀取發動機轉速、水溫等信息。儀表還能接收傳感器的車速、油量、油壓、制動氣壓等信號並顯示,為駕駛員提供實時車輛工況。
  • 基於CAN總線和SAE J1939協議的汽車儀表設計
    該儀表利用CAN總線使其成為車身網絡一部分,遵循SAE J1939協議讀取發動機轉速、水溫等信息。儀表還能接收傳感器的車速、油量、油壓、制動氣壓等信號並顯示,為駕駛員提供實時車輛工況。所設計的儀表主要應用於重型運輸車等領域,在某重型車輛工廠進行的試驗結果表明,該儀表能夠滿足數據可靠性及實時性等要求。
  • 基於LabVIEW和J1939協議的CAN總線通訊平臺開發
    報文標識  符ID,按照SAE 標準制定的車速、發動機轉速、扭矩、溫度、壓力、燃油消耗量等參數的物理定  義,報文數據幀格式對應協議數據單元相應數據內容的封裝。面臨的挑戰是將J1939 協議融會貫通  於CAN 總線通訊平臺的設計之中。
  • 現代汽車核心技術-CAN總線應用層協議標準SAE J1939
    CAN最早是由德國BOSCH公司為解決現代汽車中的控制與測試儀器之間的數據交換而開發的一種數據通信協議,按照ISO有關標準,CAN的拓撲結構為總線式,因此也稱為CAN總線。CAN協議中每一幀的數據量都不超過8個字節,以短幀多發的方式實現數據的高實時性;CAN總線的糾錯能力非常強,從而提高數據的準確性;同時CAN總線的速率可達到1M bit/s,是一個真正的高速網絡。
  • 基於SAE J1939協議的車輛信息採集與診斷模塊
    摘要:本文在CAN總線技術與SAE J1939協議的基礎上,提出了基於Cortex-M3內核微控制器的車輛信息採集與診斷模塊系統設計。詳細介紹了SAE J1939協議的報文及內容格式,以及系統硬體、軟體開發過程,並指出了設計中需要注意的環節。
  • 速銳得重型柴油車SAE J1939總線數據結構分析及應用
    重型柴油車標準CAN協議遵循J1939,同樣適用於一些工程機械和大部分的客車,SAE J1939物理層基於ISO11898-2,速率為250kbit/s。SAE J1939協議是目前客車、卡車等大型汽車中最廣泛的應用層協議,其針對車輛內部ECU(Electronic Control Unit)的報文格式、ISO拉丁字母符集、參數範圍、傳輸重複率、地址配置、發動機參數命名、通信方式及報文發送優先級等做了明確的規定。SAE J1939的消息格式使用參數群編號作為一組參數的標號。
  • 基於SAE J1939協議的車輛網絡集成方法
    為了提高信號的利用率,要求在不同的ECU間,大量的數據狀態信息能夠實現共享,大量的控制信號能夠實時交換。這樣,傳統線束已遠遠不能滿足這種需求。  CAN總線及基於CAN的車輛網絡通信協議提供了解決上述問題的途徑。SAE J1939協議是美國汽車工程師協會(SAE)在CAN2.0B協議基礎上制定的重型貨車和客車網絡通信協議,是目前汽車電子網絡中應用最廣泛的應用層協議之一。
  • 基於SAE J1939協議的車輛網絡通信
    針對具有SAE J1939 CAN接口的ECU產品(如發動機、變速器及其緩速器和ABS等ECU),自定義若干ECU,集成實現基於SAE J1939協議的車輛網絡,完成自定義ECU的信息採集和各ECU間的信息交換。 1 車輛網絡拓撲結構 具有SAE J1939 CAN接口的ECU產品接上儀錶板連成網絡後,已基本滿足車輛駕駛的要求。
  • SAE J1939協議(三)
    SAE J1939協議數據鏈路層1.幀(Frame):組成一個完整信息的一系列有序的數據位,幀又被劃分為成幾個域,每個域包括了預定義類型的數據。
  • 現代汽車核心技術-CAN總線應用層協議標準SAE J193
    CAN最早是由德國BOSCH公司為解決現代汽車中的控制與測試儀器之間的數據交換而開發的一種數據通信協議,按照ISO有關標準,CAN的拓撲結構為總線式,因此也稱為CAN總線。CAN協議中每一幀的數據量都不超過8個字節,以短幀多發的方式實現數據的高實時性;CAN總線的糾錯能力非常強,從而提高數據的準確性;同時CAN總線的速率可達到1M bit/s,是一個真正的高速網絡。
  • 柴油機動車J1939轉RS232運行數據串口(UART)標準
    應用領域有:農機裝備、林業電子設備、卡車和卡車、娛樂設施、柴油發動機控制、鐵路、公共運輸、海洋電子設備等。在大多數卡車和客車中,J1939被廣泛使用,基於CAN的網絡控制發動機和車身控制單元,在全球SAE J1939被用在卡車和客車的通信中,必須通過相關環保排放規則才能被允許商用。
  • 從應用角度來講講J1939協議
    那用專業點術語來解釋就是:基於CAN這個「物理層」,J1939提供了一個高層協議HLP(higher layer protocol)。還是有點暈?」介紹(專業術語較多)J1939是基於CAN的,CAN提供了基本的「物理層」和「數據鏈路層」,這是OSI模型的最低層。
  • 數據交換服務總線開發的技術要求介紹
    (2)數據交換服務總線功能描述如下:    ①接人服務功能。實現服務調用的統一人口功能,包括接收服務請求消息及實現調用者使用的通信協議與服務總線內部通信協議之間轉換。  ②訪問控制服務功能。實現身份鑑別與權限控制。    ③消息轉換服務功能。提供不同格式的消息之間的轉換,包括輸入消息轉換和輸出消息轉換。    ④路由服務功能。
  • can總線通訊協議
    CAN總線已經作為汽車的一種標準設備列入汽車的整車設計中。CAN總線簡介CAN通信協議規定了4種不同的幀格式,即數據幀、遠程幀、錯誤幀和超載幀。基於以下幾條基本規則進行通信協調:總線訪問、仲裁、編碼/解碼、出錯標註和超裁標註。CAN遵從OSI模型。按照OSI基準模型只有三層:物理層、數據鏈路層和哀告層,但應用層尚需用戶自己定義。
  • Linux下基於I2C協議的RTC驅動開發
    摘要:在嵌入式中,Linux漸漸成為一種流行探作系統,Linux驅動開發也成為嵌入式開發中的必備環節。介紹Linux環境下基於I2C協議的RTC驅動程序開發與實現。
  • CAN總線協議概述
    CAN是控制器區域網路(Controller Area Network, CAN)的簡稱,是由以研發和生產汽車電子產品著稱的德國BOSCH公司開發的,並最終成為國際標準(ISO 11898),是國際上應用最廣泛的
  • 汽車數位化技術CAN總線數據應用是落腳點
    CAN最早是由德國BOSCH公司為解決現代汽車中的控制與測試儀器之間的數據交換而開發的一種數據通信協議,按照ISO有關標準,CAN的拓撲結構為總線式,因此也稱為CAN總線。我們在2014年破解寶馬全系的時候,寶馬的ECU控制單元在豪華車型上已經多達130多個,並且帶有多路網關,採集汽車的CAN總線,比如從網關進入,一般從外部OBD接口是無法獲得其ECU的數據,並且是多路CAN。眾所周知汽車的核心單元就是發動機,發動機的運行參數,例如發動機轉速、機油壓力、冷卻劑溫度等等是和汽車駕駛是緊密相關的。
  • 基於單片機和CPLD的PLC背板總線協議接口晶片設計(一)
    摘要:設計了一組基於CPLD的PLC背板總線協議接口晶片,協議晶片可以區分PLC的背板總線的周期性數據和非周期性數據。詳細介紹了通過Verilog HDL語言設計狀態機、協議幀控制器、FIFO控制器的過程,25MHz下背板總線工作穩定的試驗結果驗證了協議晶片設計的可行性。  可編程邏輯控制器(PLC)主機是通過背板總線支持擴展模塊的連接, 背板總線是PLC 主機同I/O擴展模塊之間的高速數據通路,支持主機和擴展模塊之間的I/O 數據刷新。
  • 數據總線是什麼_數據總線工作原理及分類介紹
    B類(中速網絡)———數據傳輸位速率為10kbit/s~100kbit/s,主要應用於車輛信息中心、故障診斷、儀表顯示、安全氣囊等系統。   C類(高速網絡)———數據傳輸最高位速率大於1Mbit/s,主要應用於發動機動力控制系統、自動變速器控制系統、驅動防滑控制系統、電子懸架控制系統等。
  • 基於FPGA的AXI4總線時序設計與實現
    摘  要: 針對AXI4總線設備之間的高速數據傳輸需求,根據AXI4總線協議,設計實現了一種基於FPGA的AXI4總線讀寫時序控制方法。以FPGA為核心,採用VHDL語言,完成了滿足AXI4總線協議的讀猝發方式數據傳輸和寫猝發方式數據傳輸時序控制模塊的設計。利用FPGA內部嵌入式系統提供的高性能數據傳輸接口完成AXI4時序控制模塊的功能驗證。實際應用表明,依據提出的設計方法實現的讀寫時序控制模塊能夠滿足AXI4總線協議規定的時序關係,實現數據的高速正確傳輸,總線數據傳輸速率能夠達到1.09 GB/s。