基于H8Sx/1544的汽車組合儀表設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引言
汽車儀表由各種儀表、指示器,特別是駕駛員用警示燈和警報(bào)器等組成,為駕駛員提供所需的汽車運(yùn)行參數(shù)信息。按汽車儀表的工作原理不同,可大致分為三代。第一代汽車儀表是機(jī)械機(jī)心表;第二代汽車儀表稱為電氣式儀表[1];第三代為全數(shù)字汽車儀表,它是一種網(wǎng)絡(luò)化、智能化的儀表,其功能更加強(qiáng)大,顯示內(nèi)容更加豐富,線束連接更加簡(jiǎn)單。
目前的汽車儀表多為第三代儀表,它可以利用A/D轉(zhuǎn)換或是數(shù)字脈沖直接從傳感器獲得數(shù)據(jù),也可以利用CAN總線通過汽車網(wǎng)絡(luò)獲得數(shù)據(jù);它可以通過步進(jìn)電機(jī)來驅(qū)動(dòng)儀表指針,也可以利用LCD屏直接顯示圖形或文字信息。同時(shí)它還有智能處理單元,可以與汽車其他控制單元交互信息。
總體需求及設(shè)計(jì)
汽車儀表的功能就是獲取需要的數(shù)據(jù)并采用合適的方式顯示出來。以前的儀表一般限制在3~4個(gè)量的顯示和4~5個(gè)警告功能,現(xiàn)在新式儀表則達(dá)到有約15個(gè)量的顯示和約40個(gè)警告監(jiān)測(cè)功能。導(dǎo)致儀表顯示信息量快速增長(zhǎng)的主要原因有以下幾方面[2]:
● 汽車上的新功能部件不斷增加,如ABS、安全氣囊、倒車?yán)走_(dá)等;
● 對(duì)汽車行駛中的狀態(tài)要求更加實(shí)時(shí)的了解,如胎壓、水溫、油耗等;
● 對(duì)汽車各部件的工況要求更加細(xì)致的掌握,如燈光、車門、車鎖、安全帶等。
不同的信息有不同的獲取方式和顯示方式,目前新式儀表信息獲取方式主要有三種:
● 通過車身總線傳輸;
●通過A/D采樣轉(zhuǎn)化;
●通過IO狀態(tài)變化獲取。
對(duì)于顯示方式,主要有五種方式:通過驅(qū)動(dòng)步進(jìn)電機(jī)帶動(dòng)指針轉(zhuǎn)動(dòng);通過點(diǎn)陣LCD屏顯示圖形或數(shù)字信息;通過段式LCD屏或數(shù)碼管顯示;通過LED燈的開關(guān)顯示;通過蜂鳴器的不同鳴音指示當(dāng)前狀態(tài)。
根據(jù)以上要求,本文設(shè)計(jì)的汽車儀表盤節(jié)點(diǎn)由MCU系統(tǒng)、步進(jìn)電機(jī)驅(qū)動(dòng)、LED顯示、LCD顯示、報(bào)警功能、記憶功能、按鍵處理、LIN總線通信、高速CAN通信、低速容錯(cuò)CAN總線通信以及電源供給等幾個(gè)方面構(gòu)成(圖2)。
[!--empirenews.page--]
硬件電路設(shè)計(jì)
H8Sx/1544是一款完全符合第三代汽車儀表需要的芯片,它具有高速運(yùn)算能力的32位MCU,帶有兩路CAN通道,能直接驅(qū)動(dòng)步進(jìn)電機(jī)和LCD模塊,性能參數(shù)滿足汽車工業(yè)級(jí)要求[3]。外圍模塊包括步進(jìn)電機(jī)控制PWM定時(shí)器,LCD模塊接口,16位定時(shí)器脈沖單元(TPU),DMA控制器(DMAC),CAN總線控制器、串行接口,A/D轉(zhuǎn)換器,警示燈和報(bào)警器的輸出,LED PWM調(diào)光等。這些模塊可以滿足車速、轉(zhuǎn)速、油量、冷卻水液位的信號(hào)采集和顯示,可以很容易地實(shí)現(xiàn)外設(shè)元件很少的儀表板電路[4]?;贖8Sx/1544的汽車儀表板框圖如圖3所示。
6組步進(jìn)電機(jī)可直接通過H8Sx/1544的PWM引腳驅(qū)動(dòng),分別用于指示汽車行駛的車速、發(fā)動(dòng)機(jī)轉(zhuǎn)速、冷卻液溫度、燃油箱的油量、機(jī)油壓力和發(fā)電機(jī)電壓。選用具有并行8080接口的點(diǎn)陣式液晶模塊,可直接與MCU相連,用于顯示圖形和其他信息。高速CAN和低速CAN分別與汽車內(nèi)的兩個(gè)CAN網(wǎng)絡(luò)相連,必要時(shí)可作為網(wǎng)關(guān)使用。汽車車速傳感器和發(fā)動(dòng)機(jī)轉(zhuǎn)速傳感器通常采用霍爾器件,為了改善波形,在輸入捕獲定時(shí)器管腳外使用了施密特電路進(jìn)行整形。
軟件設(shè)計(jì)
為了提高代碼的可重用性、可讀性以及可維護(hù)性,軟件編寫的基本思想是在滿足系統(tǒng)功能的前提下,盡可能使應(yīng)用軟件標(biāo)準(zhǔn)化、模塊化。每一個(gè)模塊是一個(gè)具有獨(dú)立功能的程序,可以單獨(dú)設(shè)計(jì)、調(diào)試與管理。
軟件模塊主要有主程序模塊、初始化模塊、數(shù)據(jù)采集模塊、步進(jìn)電機(jī)驅(qū)動(dòng)模塊、CAN通訊模塊、LIN通訊模塊、SPI通訊模塊、顯示模塊、存儲(chǔ)記憶模塊、報(bào)警模塊、中斷模塊等。
報(bào)警模塊實(shí)現(xiàn)異常情況下控制告警信號(hào)輸出,如冷卻液溫度升高近沸點(diǎn)或燃油箱內(nèi)的燃油量少于某一規(guī)定值時(shí),音頻告警會(huì)發(fā)出不同頻率的告警信號(hào),點(diǎn)亮指示燈。中斷模塊有四種中斷源:按鍵信號(hào)、車輪轉(zhuǎn)速信號(hào)、發(fā)動(dòng)機(jī)轉(zhuǎn)速信號(hào)及掉電保護(hù)信號(hào),分別完成面板功能設(shè)置、測(cè)速和掉電時(shí)的數(shù)據(jù)保存。數(shù)據(jù)采集模塊根據(jù)輸入?yún)?shù)對(duì)相應(yīng)的模擬信號(hào)進(jìn)行采樣、量化,并對(duì)采樣信號(hào)進(jìn)行抗干擾處理。顯示模塊完成LCD的初始化,并顯示各種需要符號(hào)和數(shù)值。步進(jìn)電機(jī)驅(qū)動(dòng)模塊采用微步方式驅(qū)動(dòng)步進(jìn)電機(jī),有加速、勻速、減速三種模式,以克服電機(jī)在啟動(dòng)時(shí)滯后、停止時(shí)過沖的現(xiàn)象。
結(jié)語
本文通過對(duì)汽車儀表系統(tǒng)基本功能的分析,完成了一款高集成、嵌入式、總線化的汽車組合電子儀表。該儀表能實(shí)現(xiàn)步進(jìn)電機(jī)帶動(dòng)表盤指針實(shí)時(shí)指示以及LCD的圖形化顯示,實(shí)現(xiàn)了功耗低、容錯(cuò)性強(qiáng)、模塊化程度高的設(shè)計(jì)要求。該組合電子儀表精度高、線性度好、響應(yīng)速度快、適應(yīng)性強(qiáng)、記錄準(zhǔn)確、性能穩(wěn)定,各方面性能均達(dá)到了國(guó)內(nèi)領(lǐng)先水平。