<button id="u2w23"></button>

<tbody id="u2w23"><track id="u2w23"></track></tbody><dd id="u2w23"><track id="u2w23"></track></dd><button id="u2w23"><acronym id="u2w23"></acronym></button> <tbody id="u2w23"><noscript id="u2w23"></noscript></tbody>

  • <button id="u2w23"></button><li id="u2w23"><acronym id="u2w23"><cite id="u2w23"></cite></acronym></li>

  • 基于SAE J1939協議的CAN總線汽車儀表設計

    [來源] 達內    [編輯] 達內   [時間]2013-03-20

    基于SAE J1939協議的CAN總線汽車儀表設計

      汽車儀表是汽車與駕駛員進行信息交流的窗口,是汽車信息的中心,能夠集中、直觀、迅速地反映汽車在行駛過程中的各種動態指標,如行駛速度、里程、電系狀況、制動、壓力、發動機轉速、冷卻液溫度、油量、各種危險報警。隨著科技進步,汽車排放、節能、安全和舒適性等使用性能不斷提高,汽車電子控制程度也越來越高。汽車電子控制裝置必須迅速、準確地處理各種信息,并通過儀表顯示出來,使駕駛員能夠及時了解并掌握汽車的運行狀態,以妥善處理各種情況。

      這里給出一種基于CAN(Controller Area Network)總線的汽車儀表設計方案。該儀表利用CAN總線使其成為車身網絡一部分,遵循SAE J1939協議讀取發動機轉速、水溫等信息。儀表還能接收傳感器的車速、油量、油壓、制動氣壓等信號并顯示,為駕駛員提供實時車輛工況。所設計的儀表主要應用于重型運輸車等領域,在某重型車輛工廠進行的試驗結果表明,該儀表能夠滿足數據可靠性及實時性等要求。

      1 CAN總線及SAE J1939協議

      1.1 CAN總線及SAE J1939協議簡介

      CAN總線屬于現場總線的范疇,是德國Bosch公司在20世紀80年代初為解決現代汽車中眾多的控制和測試儀器之間的數據交換而開發的一種有效支持分布式控制或實時控制的串行通信網絡。CAN總線的通信實時性強,數據傳輸速率可高達1 Mb/s,通信介質可以是雙絞線、同軸電纜或者光導纖維,通過標準的插接件能夠方便的連接。CAN總線的數據通信具有突出的可靠性、實時性和靈活性,是目前應用最廣泛的一種汽車總線。

      SAE J1939協議是美國汽車工程師協會SAE(Societv of Automotive Engineer)發布的以CAN2.0B作為網絡核心協議的車輛網絡串行通信和控制協議。J1939是參照ISO的開放式數據互聯模型定義的7層基準參考模型而制定的。該協議明確規定汽車內部ECU的地址配置、命名、通訊方式以及報文發送優先級等,并且對汽車內部各個具體的ECU通訊作了詳細的說明。它使用多路復用技術,為汽車上的各種傳感器、執行器和控制器提供建立在CAN總線基礎上的標準化的高速網絡連接,在車載電子裝置之間實現高速數據共享,有效地減少了電子線束的數量,提高了車輛電子控制系統的靈活性、可靠性、可維修性和標準化程度,更大程度地發揮了CAN優異的性能。

      1.2 SAE J1939數據幀格式

      SAE J1939數據幀是以PDU(協議數據單元)為單位,共由優先權(P)、保留位(R)、數據頁(DP)、PDU格式(PF)、PDU細節(Ps)、源地址(SA)及數據域(Date Field)等7個域組成。除了數據域之外的PDU對應于CAN擴展幀的29位標識符。其中PS是1個8位段,其定義取決于PF值。若PF值小于240,PS是目標地址(DA)。若PF值介于240和255之間,則PS為組擴展(GE)。

      有些CAN數據幀不是在PDU中定義,包括SOF、SRR、IDE、RTR、控制域部分、CRC域、ACK域和EOF域。這些域是由CAN定義的,SAE J1939不作修改。

      2 CAN總線汽車儀表設計

      2.1 儀表整體設計

      該汽車儀表系統由數據采集、處理以及顯示3個模塊組成。其中數據采集模塊負責接收車輛的各種數據,并將數據預處理后發送至微處理器。其中模擬量信號、脈沖信號以及開關量信號等傳感器信號在各傳感器處采集后,分別經過分壓、濾波整形以及光電隔離后發送至微處理器。而發動機轉速、水溫和故障代碼等CAN總線數據通過發動機CAN模塊發送至CAN總線后,通過CAN收發器進行接收。微處理器接收到需要的數據后,根據預定的算法對數據進行處理 ,并將處理結果輸出。顯示模塊包括指針、LCD以及各種信號燈的顯示。微處理器將發動機轉速、車速等結果輸出至電機驅動器,驅動器驅動步進電機轉動,從而帶動指針顯示;微處理器直接驅動LCD顯示及LED燈的亮滅。汽車儀表系統結構如圖1所示。

      

    汽車儀表系統結構

     

      根據對汽車儀表的整體分析,汽車儀表盤由3個分表盤組成,左分表盤顯示發動機轉速、油量等數據,右分表盤顯示車速、油壓等數據,中分表盤用于放置LCD顯示屏以及各種指示燈。儀表指針全部采用步進電機驅動。儀表接收到的各種數據中,從CAN總線獲取發動機轉速、水溫以及電壓,從各種傳感器獲取車速、油量、氣壓以及油壓。

      2.2 系統硬件設計

      儀表采用Luminarv公司的LM3S2948處理器。這是一款基于arm CortexM3內核的微處理器,采用32位RISC,內嵌CAN控制器、模數轉換器(ADC)、模擬比較器等功能模塊,減少了外圍電路,降低了系統設計成本。LM3S2948處理器內置CAN模塊方便了CAN總線數據的傳輸,同時使儀表的通信容易實現,提高了可靠性。其內置CAN模塊具有以下特點:支持CAN 2.0B協議并支持符合SAE J1939協議的擴展幀的報文傳輸:位速率可高達l Mb/s;具有32個報文對象,每個對象都具有自己的標識符屏蔽碼;包含可屏蔽中斷,針對時間觸發的CAN(1TrCAN)應用,可選擇禁止自動重發送模式;通過CANOTx和CANORx引腳與外部CAN PHY無縫連接;具有可編程的F1F0模式。

      LM3S2948微處理器具有運算速度快、功耗小、體積小、價位低等特點。其CAN控制器模塊特性完全滿足CAN總線汽車儀表的應用要求。該處理器具有強大的處理能力,在車輛的各種工況下都能夠實時反映車輛信息,同時該處理器具有很大的可擴展空間,有利于后續開發。

      由于LM3S2948內置CAN控制器模塊,所以只需外接一個CAN收發器即可接收總線數據。該儀表選用CTM8251T作為CAN收發器。CTM8251T是一款通用的帶隔離的CAN收發器,該器件內部集成所有必需的CAN隔離及CAN收發器。該器件可連接任何一款CAN協議控制器,實現CAN節點的收發與隔離功能。該器件設計體積小,集成度高,可取代傳統的CAN收發器及其外圍電路,降低了電路的復雜程度,減少了設計成本,如圖2所示。

      

    CTM8251T電路連接

     

      儀表采用VID6606驅動器驅動步進電機。每片VID6606可同時驅動4路步進電機。在其頻率控制端輸入脈沖序列F(SCX),即可控制輸出端使步進電機的輸出軸以微步轉動,每個微步電機輸出軸轉動1/12(°),最大角速度可達600(°)/s。該電機驅動器具有以下特點:硬件微步驅動、簡單易用,電機只需速度F(sex)和方向(CW/CCW)2個控制端、所有輸入引腳都有干擾過濾器、寬工作電壓、低電磁干擾輻射。儀表板指針采用VID-29電機驅動,電機內置減速比180/1的齒輪系,能夠將數字信號直接準確地轉為模擬的顯示輸出。該電機具有很高的顯示精度,其步距角最小可達到1/2(°)。圖3所示為VID6606驅動儀表電路。

    資源下載

    ?