汽車儀表是汽車與駕駛員進(jìn)行信息交流的窗口,是汽車信息的中心,能夠集中、直觀、迅速地反映汽車在行駛過程中的各種動態(tài)指標(biāo),如行駛速度、里程、電系狀況、制動、壓力、發(fā)動機(jī)轉(zhuǎn)速、冷卻液溫度、油量、各種危險報警。隨著科技進(jìn)步,汽車排放、節(jié)能、安全和舒適性等使用性能不斷提高,汽車電子控制程度也越來越高。汽車電子控制裝置必須迅速、準(zhǔn)確地處理各種信息,并通過儀表顯示出來,使駕駛員能夠及時了解并掌握汽車的運行狀態(tài),以妥善處理各種情況。
這里給出一種基于CAN(Controller Area Network)總線的汽車儀表設(shè)計方案。該儀表利用CAN總線使其成為車身網(wǎng)絡(luò)一部分,遵循SAE J1939協(xié)議讀取發(fā)動機(jī)轉(zhuǎn)速、水溫等信息。儀表還能接收傳感器的車速、油量、油壓、制動氣壓等信號并顯示,為駕駛員提供實時車輛工況。所設(shè)計的儀表主要應(yīng)用于重型運輸車等領(lǐng)域,在某重型車輛工廠進(jìn)行的試驗結(jié)果表明,該儀表能夠滿足數(shù)據(jù)可靠性及實時性等要求。
1 CAN總線及SAE J1939協(xié)議
1.1 CAN總線及SAE J1939協(xié)議簡介
CAN總線屬于現(xiàn)場總線的范疇,是德國Bosch公司在20世紀(jì)80年代初為解決現(xiàn)代汽車中眾多的控制和測試儀器之間的數(shù)據(jù)交換而開發(fā)的一種有效支持分布式控制或?qū)崟r控制的串行通信網(wǎng)絡(luò)。CAN總線的通信實時性強,數(shù)據(jù)傳輸速率可高達(dá)1 Mb/s,通信介質(zhì)可以是雙絞線、同軸電纜或者光導(dǎo)纖維,通過標(biāo)準(zhǔn)的插接件能夠方便的連接。CAN總線的數(shù)據(jù)通信具有突出的可靠性、實時性和靈活性,是目前應(yīng)用最廣泛的一種汽車總線。
SAE J1939協(xié)議是美國汽車工程師協(xié)會SAE(Societv of Automotive Engineer)發(fā)布的以CAN2.0B作為網(wǎng)絡(luò)核心協(xié)議的車輛網(wǎng)絡(luò)串行通信和控制協(xié)議。J1939是參照ISO的開放式數(shù)據(jù)互聯(lián)模型定義的7層基準(zhǔn)參考模型而制定的。該協(xié)議明確規(guī)定汽車內(nèi)部ECU的地址配置、命名、通訊方式以及報文發(fā)送優(yōu)先級等,并且對汽車內(nèi)部各個具體的ECU通訊作了詳細(xì)的說明。它使用多路復(fù)用技術(shù),為汽車上的各種傳感器、執(zhí)行器和控制器提供建立在CAN總線基礎(chǔ)上的標(biāo)準(zhǔn)化的高速網(wǎng)絡(luò)連接,在車載電子裝置之間實現(xiàn)高速數(shù)據(jù)共享,有效地減少了電子線束的數(shù)量,提高了車輛電子控制系統(tǒng)的靈活性、可靠性、可維修性和標(biāo)準(zhǔn)化程度,更大程度地發(fā)揮了CAN優(yōu)異的性能。
1.2 SAE J1939數(shù)據(jù)幀格式
SAE J1939數(shù)據(jù)幀是以PDU(協(xié)議數(shù)據(jù)單元)為單位,共由優(yōu)先權(quán)(P)、保留位(R)、數(shù)據(jù)頁(DP)、PDU格式(PF)、PDU細(xì)節(jié)(Ps)、源地址(SA)及數(shù)據(jù)域(Date Field)等7個域組成。除了數(shù)據(jù)域之外的PDU對應(yīng)于CAN擴(kuò)展幀的29位標(biāo)識符。其中PS是1個8位段,其定義取決于PF值。若PF值小于240,PS是目標(biāo)地址(DA)。若PF值介于240和255之間,則PS為組擴(kuò)展(GE)。
有些CAN數(shù)據(jù)幀不是在PDU中定義,包括SOF、SRR、IDE、RTR、控制域部分、CRC域、ACK域和EOF域。這些域是由CAN定義的,SAE J1939不作修改。
2 CAN總線汽車儀表設(shè)計
2.1 儀表整體設(shè)計
該汽車儀表系統(tǒng)由數(shù)據(jù)采集、處理以及顯示3個模塊組成。其中數(shù)據(jù)采集模塊負(fù)責(zé)接收車輛的各種數(shù)據(jù),并將數(shù)據(jù)預(yù)處理后發(fā)送至微處理器。其中模擬量信號、脈沖信號以及開關(guān)量信號等傳感器信號在各傳感器處采集后,分別經(jīng)過分壓、濾波整形以及光電隔離后發(fā)送至微處理器。而發(fā)動機(jī)轉(zhuǎn)速、水溫和故障代碼等CAN總線數(shù)據(jù)通過發(fā)動機(jī)CAN模塊發(fā)送至CAN總線后,通過CAN收發(fā)器進(jìn)行接收。微處理器接收到需要的數(shù)據(jù)后,根據(jù)預(yù)定的算法對數(shù)據(jù)進(jìn)行處理,并將處理結(jié)果輸出。顯示模塊包括指針、LCD以及各種信號燈的顯示。微處理器將發(fā)動機(jī)轉(zhuǎn)速、車速等結(jié)果輸出至電機(jī)驅(qū)動器,驅(qū)動器驅(qū)動步進(jìn)電機(jī)轉(zhuǎn)動,從而帶動指針顯示;微處理器直接驅(qū)動LCD顯示及LED燈的亮滅。汽車儀表系統(tǒng)結(jié)構(gòu)如圖1所示。
根據(jù)對汽車儀表的整體分析,汽車儀表盤由3個分表盤組成,左分表盤顯示發(fā)動機(jī)轉(zhuǎn)速、油量等數(shù)據(jù),右分表盤顯示車速、油壓等數(shù)據(jù),中分表盤用于放置LCD顯示屏以及各種指示燈。儀表指針全部采用步進(jìn)電機(jī)驅(qū)動。儀表接收到的各種數(shù)據(jù)中,從CAN總線獲取發(fā)動機(jī)轉(zhuǎn)速、水溫以及電壓,從各種傳感器獲取車速、油量、氣壓以及油壓。