基于MB90F428的汽車(chē)儀表設(shè)計(jì)
引言
汽車(chē)儀表是人和汽車(chē)的交互界面,為駕駛員提供所需的汽車(chē)運(yùn)行參數(shù)、故障、里程等信息,是每一輛汽車(chē)必不可少的部件。它經(jīng)歷了機(jī)械式、電氣式、模擬電路電子式的發(fā)展過(guò)程,隨著汽車(chē)電子的網(wǎng)絡(luò)化,CAN總線技術(shù)在汽車(chē)領(lǐng)域得到了越來(lái)越廣泛的應(yīng)用,因此,CAN總線、嵌入式就成為了汽車(chē)儀表未來(lái)發(fā)展的必然趨勢(shì)。
汽車(chē)儀表的基本結(jié)構(gòu)和功能
汽車(chē)上較常用的有四種指示儀表,即車(chē)速里程表、發(fā)動(dòng)機(jī)水溫表、發(fā)動(dòng)機(jī)轉(zhuǎn)速表、燃油表等。分別顯示汽車(chē)行駛速度、單里程和總里程數(shù)、發(fā)動(dòng)機(jī)冷卻液溫度、汽車(chē)行駛時(shí)發(fā)動(dòng)機(jī)旋轉(zhuǎn)速度及汽車(chē)油箱內(nèi)的油量。在汽車(chē)儀表板上往往還同時(shí)裝有十幾種之多的指示和報(bào)警訊號(hào)燈,如左右轉(zhuǎn)向信號(hào)、剎車(chē)信號(hào)、遠(yuǎn)光信號(hào)、ABS、電池充電、電池壽命報(bào)警、油壓報(bào)警、油量報(bào)警、水溫報(bào)警等等,這些指示燈在不同的儀表板中有所不同,通常用LED顯示。
CAN總線的優(yōu)點(diǎn)及其在汽車(chē)領(lǐng)域的應(yīng)用
控制器局域網(wǎng)CAN(Controller Area Network)是德國(guó)Bosch公司從20世紀(jì)80年代初為解決現(xiàn)代汽車(chē)中眾多的控制與測(cè)試儀器之間的數(shù)據(jù)交換而開(kāi)發(fā)的一種串行數(shù)據(jù)通信協(xié)議。它是一種多主總線,通信介質(zhì)可以是雙絞線、同軸電纜或光導(dǎo)纖維。在自動(dòng)化電子領(lǐng)域的汽車(chē)發(fā)動(dòng)機(jī)控制部件、傳感器、抗滑系統(tǒng)等應(yīng)用中,總線的位速率最大可達(dá)1Mbit/s。CAN網(wǎng)絡(luò)正在不斷地應(yīng)用在汽車(chē)電子的各個(gè)方面。CAN總線具有下列主要特征:(1)多主站依據(jù)優(yōu)先權(quán)進(jìn)行總線訪問(wèn);(2)無(wú)破壞性的基于優(yōu)先權(quán)競(jìng)爭(zhēng)的總線仲裁;(3)借助接收濾波的多地址幀傳送;(4)遠(yuǎn)程數(shù)據(jù)請(qǐng)求;(5)配置靈活性;(6)全系統(tǒng)數(shù)據(jù)相容性;(7)錯(cuò)誤檢測(cè)和出錯(cuò)信令;(8)發(fā)送期間若丟失仲裁或由于出錯(cuò)而遭破壞的幀可自動(dòng)重發(fā)送。
汽車(chē)儀表板軟硬件設(shè)計(jì)
結(jié)合汽車(chē)儀表的技術(shù)和性能指標(biāo),以及簡(jiǎn)化硬件電路的要求,選擇富士通公司的MB90F428芯片為微控制器進(jìn)行汽車(chē)儀表的設(shè)計(jì)。MB90F428芯片是16 位單片機(jī),內(nèi)部有CAN總線接口,F(xiàn)LASH ROM,主要應(yīng)用于汽車(chē)與工業(yè)等;其CAN 總線符合V2.0 Part A、Part B,能支持更靈活的信息緩沖處理。支持高級(jí)語(yǔ)言,可擴(kuò)展地址模式,有增強(qiáng)乘除指令,增強(qiáng)位操作指令等; 微控制器有32 位累加器(長(zhǎng)字處理);周邊資源有:8通道的8/10Bit A/D轉(zhuǎn)換器,UART,擴(kuò)展I/O串行接口,8/16Bit定時(shí)器,I/O定時(shí)器(輸入捕獲,輸出比較)、8路外部中斷、CANBUS接口、 4路步進(jìn)電機(jī)驅(qū)動(dòng)模塊、LCD模塊(可驅(qū)動(dòng)24 4 的筆段式液晶模塊)等。 4路16位輸入捕捉通道可以捕捉汽車(chē)車(chē)速傳感器和發(fā)動(dòng)機(jī)轉(zhuǎn)速傳感器輸入的脈沖信號(hào),A/D轉(zhuǎn)換器可以用來(lái)轉(zhuǎn)換水溫、油量傳感器輸入的電壓信號(hào),I/O口則進(jìn)行諸多信號(hào)指示燈的信號(hào)輸入,CAN接口主要和CAN總線收發(fā)器PCA82C250芯片收發(fā)CAN信號(hào),步進(jìn)電機(jī)驅(qū)動(dòng)模塊和LCD顯示模塊用于驅(qū)動(dòng)儀表盤(pán)上的4個(gè)步進(jìn)電機(jī)指示、里程時(shí)間的顯示。這種片上自帶驅(qū)動(dòng)模塊的設(shè)計(jì)方法,提高了系統(tǒng)的可靠性,降低了成本。
本設(shè)計(jì)主要分兩大模塊:檢測(cè)電路控制模塊和儀表驅(qū)動(dòng)模塊,如圖1所示。檢測(cè)電路模塊主要由輸入信號(hào)采集、信號(hào)處理、以及信號(hào)轉(zhuǎn)換電路組成。首先,汽車(chē)狀況通過(guò)相應(yīng)的傳感器檢測(cè),轉(zhuǎn)換為電壓、脈沖信號(hào),進(jìn)行濾波放大,然后再輸入MB90F428芯片進(jìn)行內(nèi)置A/D轉(zhuǎn)換和數(shù)字處理,獲得所需要的數(shù)字量信號(hào),并實(shí)時(shí)地將所處理好的數(shù)字量送到CAN總線。
圖1 汽車(chē)儀表板結(jié)構(gòu)框圖(略)
儀表驅(qū)動(dòng)模塊主要由信號(hào)接收、存儲(chǔ)數(shù)據(jù)、以及設(shè)備驅(qū)動(dòng)電路等組成。當(dāng)驅(qū)動(dòng)板接收到CAN信號(hào),將通過(guò)MB90428芯片進(jìn)行數(shù)據(jù)處理,來(lái)驅(qū)動(dòng)步進(jìn)電機(jī)、LCD、LED等。點(diǎn)火開(kāi)關(guān)打開(kāi)時(shí),儀表監(jiān)測(cè)到這一信號(hào)后,首先對(duì)自身進(jìn)行檢測(cè)(此過(guò)程中診斷指示燈常亮),并由FLASH RAM里記錄的歷史工況確定當(dāng)前的儀表是否需要修正,經(jīng)過(guò)幾道程序?qū)x表初始化。自檢程序通過(guò)之后,儀表開(kāi)始由非工作狀態(tài)進(jìn)入工作狀態(tài),將對(duì)車(chē)速、轉(zhuǎn)速、水溫、油量等信號(hào)進(jìn)行相應(yīng)的處理,并通過(guò)指針和指示燈將當(dāng)前工況表現(xiàn)出來(lái)。
儀表板硬件設(shè)計(jì)
電源電路
汽車(chē)蓄電池提供12V左右的電源,而該儀表板需要兩路電源:+5V和+12電源。5V電源用于給MB90F428、CAN接口芯片(PCA82C250)和EEPROM等供電,12V電源給LED、蜂鳴器等供電??紤]到成本和易購(gòu)性,我們選用7805芯片作為電源轉(zhuǎn)換芯片。為了在掉電的時(shí)候可以及時(shí)地保存里程數(shù)據(jù),在電源地輸入端加一個(gè)1000 F的電解電容,當(dāng)電源斷開(kāi)的時(shí)候,大電容可以維持單片機(jī)電源足夠長(zhǎng)的時(shí)間,使得單片機(jī)可以完成外部中斷的服務(wù)程序。如圖 2 所示。
圖2 電源電路(略)
調(diào)理電路
汽車(chē)車(chē)速傳感器和發(fā)動(dòng)機(jī)轉(zhuǎn)速傳感器通常采用霍爾器件。當(dāng)車(chē)輪開(kāi)始旋轉(zhuǎn)時(shí),霍爾效應(yīng)傳感器開(kāi)始產(chǎn)生一連串脈沖信號(hào),脈沖的個(gè)數(shù)將隨著車(chē)速增加而增加,但位置的占空比在任何速度下保持恒定不變。為了改善波形,在輸入捕獲定時(shí)器管腳外添加調(diào)理電路,對(duì)脈沖信號(hào)進(jìn)行整形放大,這里我們通過(guò)RC濾波和三級(jí)管放大的方法處理。如圖3、圖4所示。
圖3 車(chē)速信號(hào)調(diào)理電路(略)
圖4 轉(zhuǎn)速信號(hào)調(diào)理電路(略)
CAN接口電路
我們選用CAN收發(fā)器PCA82C250芯片進(jìn)行數(shù)據(jù)發(fā)送與接收,它最初就是為汽車(chē)高速通信(最高達(dá)1Mbps)應(yīng)用設(shè)計(jì)的,該器件可以提供對(duì)總線的差動(dòng)發(fā)送能力和對(duì)CAN控制器的差動(dòng)接收能力,它與ISO/DIS11898標(biāo)準(zhǔn)完全兼容,CANH和CANL雙線也防止在汽車(chē)環(huán)境下可能發(fā)生的電氣瞬變現(xiàn)象。由于汽車(chē)經(jīng)常在惡劣的環(huán)境下工作,因此對(duì)收發(fā)器進(jìn)行一定的抗干擾處理,這里選用光電耦合器(6N137芯片),如圖 5 所示。
圖5 CAN接口電路(略)
其他電路
除了以上這些電路以外,本次硬件設(shè)計(jì)還包括EEPROM電路、LED驅(qū)動(dòng)電路、LCD顯示電路、步進(jìn)電機(jī)電路,由于MB90F428芯片是專(zhuān)為汽車(chē)設(shè)計(jì)的芯片,片上自帶了大部分驅(qū)動(dòng),因此簡(jiǎn)化了硬件驅(qū)動(dòng)電路的設(shè)計(jì),節(jié)約了成本,提高了系統(tǒng)的可靠性。
儀表板軟件設(shè)計(jì)
圖6 軟件流程圖(略)
圖6 所示為儀表板主程序的軟件流程圖,程序由點(diǎn)火信號(hào)控制,當(dāng)點(diǎn)火開(kāi)關(guān)打開(kāi)時(shí),儀表板進(jìn)入主程序循環(huán)。整個(gè)系統(tǒng)軟件由主程序、數(shù)據(jù)采集子程序、AD轉(zhuǎn)換子程序、數(shù)據(jù)處理子程序、CAN通訊子程序、LCD/LED顯示子程序、步進(jìn)電機(jī)工作子程序等組成。
結(jié)論
隨著汽車(chē)電氣系統(tǒng)的總線化,高集成、嵌入式、總線化是汽車(chē)儀表發(fā)展的必然趨勢(shì)。本文提出了一種總線思想的汽車(chē)儀表設(shè)計(jì),包括了信號(hào)采集處理部分和驅(qū)動(dòng)顯示部分。從總體及軟硬件方面詳細(xì)介紹了帶有CAN通訊的嵌入式汽車(chē)儀表的設(shè)計(jì),該方案已經(jīng)經(jīng)過(guò)了工程調(diào)試,各方面性能良好,儀表的精度和反應(yīng)速度以及抗干擾方面均達(dá)到了國(guó)內(nèi)領(lǐng)先水平。
評(píng)論