PIC16C72A單片機(jī)在汽車智能儀表中的應(yīng)用
1 設(shè)計思想
汽車儀表是司機(jī)與汽車之間進(jìn)行信息交流的窗口和界面,對于提高汽車儀表使用壽命、安全和經(jīng)濟(jì)行駛有著積極而重要的作用。本設(shè)計采用PIC16C72A單片微型計算機(jī)作為儀表的核心,汽車原有傳感器無需更換,傳感器的輸出信號通過信號調(diào)理電路后送人CPU,經(jīng)CPU處理后的信號采用時分技術(shù)通過VFD顯示器顯示出來。實(shí)時顯示車速、發(fā)動機(jī)轉(zhuǎn)速、水溫、油位、總里程、子里程等車況參數(shù),并對信息進(jìn)行復(fù)雜處理從而為司機(jī)提供平均車速、經(jīng)濟(jì)油耗、剩余油量能跑里程數(shù)等有用信息,同時,還能對瞬時行車信息進(jìn)行記錄存儲,實(shí)現(xiàn)“黑匣子”功能;對異常情況實(shí)現(xiàn)語音報警提示,且為今后功能擴(kuò)展預(yù)留通訊接口。與傳統(tǒng)汽車儀表相比,該儀表具有功能豐富、可靠性高、精度高、可視性好、通用性強(qiáng)、且有儲存功能、無機(jī)械磨損、使用壽命長等優(yōu)點(diǎn)。
2 硬件結(jié)構(gòu)
轎車用汽車電子智能儀表由傳感器、信號調(diào)理電路、單片機(jī)處理器、語音報警電路、顯示驅(qū)動電路、VFD顯示器等部分構(gòu)成。如圖1所示:
其中:S1為光電式車速傳感器,將對應(yīng)于0~200公里/d,時的車速轉(zhuǎn)變成頻率范圍為0~136.3Hz的脈沖信號;
S2為脈沖信號式轉(zhuǎn)速傳感器,將對應(yīng)于0~8000轉(zhuǎn)/分鐘的發(fā)動機(jī)轉(zhuǎn)速變換成0~260Hz的頻率信號;
S3為熱敏電阻式溫度傳感器,用于測量汽車?yán)鋮s水的溫度,該傳感器將水溫的變化變換成電阻、電壓的變化;
S4為浮子一可變電阻式液位傳感器,將油位的變化變成電阻、電壓的變化;
Cnl、 Cn2為車速測量通道、發(fā)動機(jī)轉(zhuǎn)速測量通道的信號調(diào)理電路,由于車速和發(fā)動機(jī)轉(zhuǎn)速傳感器輸出的是脈沖頻率信號,所以,與之相對應(yīng)的信號調(diào)理電路的作用是對傳感器的輸出信號進(jìn)行整形、嵌位/限幅,以滿足CPU對輸人信號的要求。水溫和油量傳感器輸出的是模擬信號,其對應(yīng)的信號調(diào)理電路Cn3、Cn4為電阻傳輸網(wǎng)絡(luò),將傳感器的輸出信號送到單片機(jī)自帶的A/D輸人端;CPU為微控制器,整個儀表的核心,對信號的采集、處理和輸出起控制指揮作用,芯片采用美國 Microchip公司PIC16C72A芯片,它是帶有8位5通道A/D轉(zhuǎn)換器、4kX 14位的程序存儲器、128X8位的數(shù)據(jù)存儲器和3個定時器的8位微處理器;
E²PROM選用93LCA6B型三線串行電擦除可編程只讀存儲器,其容量為1k×16位,擦除周期1M次,顯示速度2ms,數(shù)據(jù)保持時間長于4O年。在儀表中用于保存子里程、總里程數(shù)據(jù)以及當(dāng)前車況,并保證掉電時數(shù)據(jù)不會消失,起到汽車“黑匣子”的作用;
ISD為語言芯片,儲存所有報警語言,驅(qū)動報警喇叭;
DR1、DR2 為VFD 顯示驅(qū)動器/控制器μPD16311芯片,一塊用于驅(qū)動顯示發(fā)動機(jī)轉(zhuǎn)速、總里程的VFD顯示屏,另一塊用于驅(qū)動顯示車速、水溫、油量、子里程的VFD顯示屏;
SP為喇叭,當(dāng)車速、發(fā)動機(jī)轉(zhuǎn)速、水溫和油量等測量參數(shù)超限時,起語言提示報警作用;
VFD1、VFD2為熒光顯示屏,實(shí)時顯示車速、發(fā)動機(jī)轉(zhuǎn)速、水溫、油位、總里程、子里程等車況參數(shù);
DC/DC電源變換器,將汽車上原有的12V蓄電池供電電壓變成汽車智能組合儀表所需要的三種工作電壓:即微控制器、語言芯片、信號調(diào)理電路所需的+5V電壓,VFD顯示屏的陽極和柵極所需的一32V電壓以及用于VFD顯示屏燈絲供電的交流4.2V電壓;
功能選擇開關(guān)用于功能選擇,它有兩個作用:①切換多功能顯示區(qū)的顯示內(nèi)容,多功能顯示區(qū)可以顯示子里程(km)、子里程行駛時間(hr: min)和剩油行駛里程(km)3項(xiàng)內(nèi)容,缺省顯示內(nèi)容為子里程,②對子里程和子里程行駛時間清零,按下按鍵的時間超過3s,即對子里程和子里程行駛時間清零;
亮度調(diào)節(jié)開關(guān),對VFD顯示器的亮度起調(diào)節(jié)作用。
3 軟件設(shè)計
儀表的軟件由四部分組成:即由系統(tǒng)時鐘程序、測控程序、按鍵/開關(guān)處理程序和VFD顯示程序構(gòu)成。系統(tǒng)時鐘程序完成對四個軟件定時器的處理,實(shí)現(xiàn)定時采樣時間的設(shè)定、子里程/行駛時間清零定時器的設(shè)定、多功能顯示時間定時器的設(shè)定、報警間隔定時器的設(shè)定等功能;測控程序主要包括數(shù)據(jù)采集程序、數(shù)據(jù)處理程序,完成對于車速、發(fā)動機(jī)轉(zhuǎn)速脈沖信號和水溫、油位傳感器模擬信號的采集、數(shù)字濾波及其它各種數(shù)值的計算;按鍵/開關(guān)處理程序完成對多功能顯示區(qū)切換、子里程和子里程行駛時間清零的功能;VFD顯示程序完成對發(fā)動機(jī)轉(zhuǎn)速、水溫和油量的模擬光柱顯示和車速、總里程、子里程、行駛時間、剩油行駛里程等參數(shù)的數(shù)字顯示的功能。系統(tǒng)的主程序框圖如圖2所示:
汽車儀表在工作過程中環(huán)境變化無常,在設(shè)計上通過硬軟件綜合考慮,實(shí)現(xiàn)抗干擾和數(shù)據(jù)可靠存儲設(shè)計。在軟件抗干擾措施方面,首先考慮到數(shù)字信號在傳輸過程中受到干擾易引起碼元波形變壞,傳輸?shù)浇邮斩撕?,可能發(fā)生錯誤的情況,在編碼設(shè)計時,著重考慮編碼結(jié)構(gòu),采用抗干擾性強(qiáng)的交織卷積碼的編碼方式;為了杜絕程序在使用過程中出現(xiàn)死循環(huán)或死機(jī)的現(xiàn)象,設(shè)計了看門狗電路,以實(shí)現(xiàn)硬件對軟件的保護(hù)作用;為了消除對數(shù)據(jù)采集帶來的誤差,對變化緩慢的油位傳感器等信號采樣值使用了算術(shù)平均法數(shù)字濾波,以消除油位波動給采樣值帶來的影響。