深度解讀關于單片機的車用數字儀表系統技術
在汽車的儀表板上安裝有各種儀表、指示燈及報警燈,用于幫助駕駛人觀察和掌握汽車及各系統的工作情況,提示異常現象和故障,以便及時消除安全隱患。
汽車儀表是用以監測汽車各系統工作狀況的裝置。汽車上常用的儀表包括機油壓力表、冷卻液溫度表、燃油表、車速表、 轉速表和里程表等。隨著汽車電子技術的發展,多功能、高精度、高靈敏度、讀數直觀的電子數字顯示及圖像顯示的儀表已不斷應用于汽車上。汽車儀表的功能已不僅僅是單純的顯示,而是通過對汽車各部件參數的監測和微機處理相配套,從而達到控制汽車各種運行工況的目的。
1 引言
車用儀表作為汽車的一個重要組成部分,使駕駛員能夠迅速地掌握行駛信息,及時有效地采取相應操作,保證車輛正常安全工作。目前,在我國汽車電子市場中,70%以上的份額為國外企業的產品,國內企業產品所占市場份額不足30%,絕大部分車輛儀表仍以模擬式為主。由于模擬儀表表頭的體積較大、指示內容單一,使得儀表顯示系統占用了較大的空間,影響了車輛內飾的美觀;另外,模擬儀表故障率高,降低了車輛行使的安全系數,增加了維護費用。現代車輛儀表系統不僅要求儀表耐用、耐振、指示準確、讀數方便以及受溫度、濕度的影響小,還要求輕巧、舒適、美觀并具有良好的互換性。而車用數字儀表恰恰滿足了這些要求。本文提出用51系列單片機和新型傳感器等對傳統車用儀表進行改進的新型數字儀表系統的設計方案。
2 車用數字儀表硬件電路設計
車用數字儀表主要由五個部分組成,即CPU主控制模塊、溫度采集模塊、速度采集模塊、E2PROM存儲器模塊以及LCD顯示模塊。
2.1 系統總體設計
作為車用儀表,其基本功能即為向用戶提供車速、里程、車內溫度等信息。從技術上說,其工作流程應為:系統啟動時,單片機軟件初始化,從0000H開始執行程序,開中斷,單片機按工作周期輸入霍爾傳感器、溫度傳感器信號并進行處理,計算出行駛實時車速、行駛里程,并開中斷,與溫度數據一起輸出到LCD顯示模塊AT1602A顯示,且將里程信息存儲信息到E2PROM存儲器中。同時,為減少電磁干擾,采用抗干擾電源、光電隔離等措施保證系統正常穩定地運行[1]。
圖2.1給出了基于AT89C51單片機的車用數字儀表系統的框圖,本系統功能由硬件和軟件兩大部份協調完成。整個系統主要包括:AT89C51控制模塊、LCD顯示模塊TC1602A、溫度傳感器模塊DS18B20、霍爾傳感器模塊A44E及E2PROM存儲器模塊AT24C02。其中AT89C51主要完成外圍硬件的控制以及信息處理功能;溫度傳感器完成溫度信號的采樣及轉換;霍爾元件采集汽車行駛的圈脈沖信號;E2PROM存儲器模塊存儲當前里程信息;LCD顯示模塊TC1602A完成字符/數字轉換、驅動及顯示功能。
2.1.1系統保護
圖2.1 基于單片機的車用數字儀表系統框圖
一個穩定而完善的系統離不開一套完整的保護控制方案。這里根據單片機運行特點將其運行中可能出現的故障及相應控制措施列表如表2.1所示。
故障情況相應控制措施
市電輸入過壓(》5V)由限流電阻和穩壓管組成的過壓保護電路防止高壓進入CPU受干擾無法正常工作軟件復位、掉電保護,電源受干擾,輸出電壓不穩定經型電路濾波,78L05變壓后得到穩定電壓
2.1.2 控制模塊I/O口
AT89C51單片機有3個8位的并行雙向口,計有24根輸入/輸出(I/O)口線;一個全雙工串行接口(UART)。本系統中TC1602A用P1.0~P1.7,P3.3~P3.5與單片機通信;DS18B20用P2.0與單片機通信;AT24C02用P2.5,P2.6與單片機通信;A44E用P3.2與單片機通信。
2.2 CPU主控制模塊和51單片機系統的擴展
CPU主控制模塊主要采用AT89C51單片機完成霍爾傳感器的信號采集、溫度信號的采集,以及里程信號、速度信號、溫度信號的顯示工作。基于設計要求,要進行系統擴展。論文大全。
AT89C51系列單片機芯片可構成圖2.2所示的三總線結構,即地址總線(AB)、數據總線(DB)和控制總線(CB)。所有的外部芯片都通過這三組總線進行擴展[2]。
在本系統中,溫度、速度及里程信息的實時性要求很高,而一般串行接口器件速度較慢,在需用高速應用的場合,還是并行擴展法占主導地位,所以在本系統中采用以并行方式擴展E2PROM存儲器和LCD顯示模塊。
2.3 LCD顯示模塊
2.3.1 引腳與內部結構
LCD顯示模塊主要采用TC1602A字符型液晶顯示芯片顯示車內溫度、車速及里程信息。
TC1602A共有16個引腳,其引腳及功能如表2.3所列。
引 腳符 號輸入/輸出功 能 說 明
1Vss電源地:0V
2Vdd電源:5V
3VO對比度調整,驅動電壓范圍為VDD~VO當VO 接地時,對比度最強
4RS輸入寄存器選擇:“0”為指令寄存器; “1”為數據寄存器
5R/W輸入“1”為讀操作;“0”為寫操作
6Enable輸入使能信號:E=1時,使能;E=0時,禁能
7~10D0~D3輸入/輸出數據總線的低4位,與4位MCU連接時不用
11~14D4~D7輸入/輸出數據總線的高4位
15~16LED+/LED-電源背光
TC1602A內部主要由DDRAM、CGROM、CGRAM、IR、DR、BF、AC等大規模集成電路組成[3]。
2.3.2 TC1602A與單片機接口電路
圖2.3 TC1602A與AT89C51單片機的接口電路
在本系統中,LCD顯示設置在第1行依次顯示2位數字的車內溫度,3位數字的時速及9位的行駛里程,且相鄰信息以1個空字符為間隔,相關單位可標記在儀表外殼上。
TC1602A與單片機AT89C51的P1口傳輸顯示數據,相關控制線分別與P3口的控制引腳連接,接口電路如圖2.3所示:
2.4 溫度采集模塊
溫度采集模塊主要采用美國Dallas半導體公司的DS18B20溫度芯片對車輛內部溫度進行采集。
2.4.1 內部結構
DS18B20內部結構主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發的溫度報警觸發器TH/TL和配置寄存器。
光刻ROM的作用是使每一個DS18B20都各不相同,以實現一根總線上掛接多個DS18B20的目的[5]。DS18B20溫度傳感器的內部存儲器包括一個高速暫存RAM和一個非易失性的可電擦除的E2PROM。用戶可自設定非易失性溫度報警上下限值TH和TL(掉電后依然存在)。DS18B20在完成溫度變換后,所測溫度值將自動與貯存在TH和TL內的報警值相比較,如果高于TH或低于TL,DS18B20內部的告警標志就會被置位。
2.5 速度采集模塊
在本系統中采用軸向磁極方式設置磁體,將它和霍爾開關電路組合起來可以構成旋轉傳感器。轉軸每轉1圈,霍爾傳感器發出8個脈沖[6]。
測速傳感器的工作原理是將霍爾開關和磁鐵分別安裝在車架、車輪的適當位置,其產生的脈沖信號輸入到單片機的P3.2端,單片機對其進行計數,算出速度、里程并輸出到LCD顯示器,實現車速、里程的數字顯示。
由于A44E屬于開關型的霍爾器件,其工作電壓范圍比較寬(4.5~18V),其輸出的信號符合TTL電平標準,可以直接接到單片機的I/O端口上,而且其最高檢測頻率可達到1MHz。
霍爾傳感器集成芯片A44E有信號轉換、電壓放大、整形輸出等功能。為增加其抗干擾能力,通過光偶后送入P3.2引腳。如圖2.10所示[7]。
圖2.10 霍爾開關脈沖的檢測
2.6 E2PROM存儲器模塊
為了實現里程顯示的連續性,系統必須選擇掉電存儲器存放里程信息。掉電存儲單元的作用是在電源斷開的時候,存儲當前的里程信息。這里可以采用掉電保護的E2PROM存儲器AT24C02。
3 車用數字儀表電路軟件設計
為使數字儀表系統更優化,本節以51系列單片機為核心設計了各部分的軟件控制。
3.1 主程序
控制模塊AT89C51的程序流程圖如圖3.1所示。
圖3.1 主程序流程圖
3.2 溫度傳感器子程序
本系統對DS18B20進行的操作主要包括兩個子過程:(1)讀取DS18B20的序列號。主機首先發一復位脈沖,等收到返回的存在脈沖后,發出搜索器件的序列號命令,讀取DS18B20的序列號;(2)啟動DS18B20作溫度轉換并讀取溫度值。主機在收到返回的存在脈沖后,發出跳過器件的序列號命令,跟著發出溫度轉換命令,再次復位并收到返回的存在脈沖后,發送DS18B20的序列號,讀出數據。
3.3 里程脈沖中斷子程序
里程表的速比表示的是:輸入與輸出速度之比,里程表轉軸(軟軸)在汽車行駛1公里時所轉過的轉數。論文大全。這種里程表轉軸每轉1圈,霍爾傳感器將感應發出8個脈沖。現在以速比為1:624的車型為例:汽車行駛1公里,則霍爾傳感器發出的脈沖數共為8×624=4992個,或者說,每個脈沖代表了1/4992公里的里程。霍爾傳感器將這些脈沖信號當作外部中斷源輸入給單片機,使每個脈沖產生1個中斷,并通過中斷服務程序對每個脈沖進行計數。這樣,當計滿4992時,表明汽車行駛了1公里,然后再給累計單元加1,并存入E2PROM單元,最后通過刷新LCD液晶顯示器,即可實現里程計數功能,本設計選用邊沿觸發方式,即采用負跳變引起中斷。
軟件實現:控制模塊在關閉脈沖中斷之后,當脈沖數達到1公里所需數目后修改里程記數單元并關中斷、返回。
3.4車速測量子程序
用脈沖發生器(霍爾開關)實現車速表。
與上相同,以速比為1:624為例。在單位時間內(以1s為例),對霍爾傳感器發出的脈沖信號進行記數,通過計算即可得出實時速度。具體如下:
在單位時間內(本系統設定為1s)記霍爾開關的脈沖數,用單位時間所行的距離即可計算出單位時間內的平均速度(如圖3.6)。若單片機1s內收到了n個脈沖,則1s內車輛行駛的距離為:(1000n)/4992,速度為[(1000n)/4992]m/s,把它轉換為km/h。每隔1s輸出時速并刷新LCD液晶顯示器,即可實現車速顯示功能。
E2PROM存儲器AT24C02能與I2C總線兼容,遵守I2C總線協議。
3.5 LCD顯示子程序
LCD顯示模塊采用TC1602A。由于本系統只顯示溫度、車速、里程等信息,單片機不讀入LCD信息,所以本系統只用到其中設置輸入模式指令、顯示開關控制指令、系統初始化設置、DDRAM地址設置指令、忙狀態檢查指令、寫數據指令。
4 輔助電路
作為一個完整的數字儀表系統,除主控制單元外還必須有許多輔助電路。例如提供保護的抗振措施、過壓保護電路、看門狗電路等,這些電路是一個完整的單片機數字儀表系統必不可少的,下面將分別介紹。
4.1 抗振措施
車載電子設備的抗振措施主要是以下兩個方面:
(1)加固設計
提高電子設備結構上的薄弱環節。對薄弱環節進行加固,使其容許的沖擊應力和疲勞極限高于其實際響應值,保證電子設備的正常工作;
(2)采用隔振緩沖系統
對電子設備整機進行隔振緩沖設計,使外部激勵通過隔振緩沖系統的減弱后,傳遞給設備的實際作用力,小于設備的許用值。
4.2 過壓保護電路
本系統在輸入通道上也設計了過壓保護電路,1腳為電壓輸出,8腳為電壓輸入,它由限流電阻和穩壓管78L05組成,加在單片機電壓輸入之前,防止引入高電壓,損害單片機系統。
非常好我支持^.^
(2) 100%
不好我反對
(0) 0%
相關閱讀:
- [電子說] 溫度傳感器機遇何在?安富利帶你揭秘 2023-10-24
- [電子說] PY32F002A系列單片機:高性價比、低功耗,滿足多樣化應用需求 2023-10-24
- [電子說] 國產運放和溫度傳感器介紹 2023-10-24
- [控制/MCU] 單片機的三大功能 2023-10-24
- [電子說] 集睿致遠CS5266 TYPEC to HDMI帶PD+U3拓展塢方案 2023-10-24
- [控制/MCU] 單片機學習筆記 2023-10-24
- [電子說] 單片機的IO口不夠用了怎么辦?如何擴展單片機的IO口? 2023-10-24
- [電子說] 100天如何備賽藍橋杯單片機 2023-10-24
( 發表人:黃飛燕 )