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