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