基于MXT8051單片機的發(fā)動機車載監(jiān)控系統(tǒng)研究
引言
本文引用地址:http://m.butianyuan.cn/article/110393.htm隨著我國石油資源的日益枯竭、人們環(huán)保意識的增強、國內(nèi)人均機動車保有量的增加,節(jié)能減排,正逐漸成為動力機械類OEM們不得不重點關(guān)注的首要問題。而另一個更加緊迫地促使OEM實施技術(shù)升級的客觀因素就是:世界各國都在積極嘗試推行新的機動車排放法規(guī),預(yù)計最遲到2015年,不符合最新排放標準的動力機械將被禁止生產(chǎn)銷售。當改進工藝、增壓中冷、結(jié)構(gòu)優(yōu)化等傳統(tǒng)方法不足以滿足新標準時,基于微控制器的電子智能優(yōu)化控制將成為新的曙光。
根據(jù)成熟的發(fā)動機控制理論,當發(fā)動機工作在較高轉(zhuǎn)速時,要求氣缸內(nèi)的工作介質(zhì)較早起燃才能實現(xiàn)較高的工作效率,而當工作在較高負載時,則需要每個工作循環(huán)燃燒更多的燃料吸入更多的氣體,可是一旦轉(zhuǎn)為從降低排放的角度來考慮的話,情況則完全相反,如果從產(chǎn)品可靠性出發(fā),則又是一另番景象,從事發(fā)動機性能優(yōu)化的工程師們在努力尋找某些參數(shù)的平衡點,基于發(fā)動機工作原理的復(fù)雜性,會發(fā)現(xiàn)可編程微控制器在這個領(lǐng)域有著極為廣闊的應(yīng)用空間。
51單片機是最為人們熟知的可編程微控制器,也是對目前所有兼容Intel 8031指令系統(tǒng)的單片機的統(tǒng)稱。該系列單片機的始祖是Intel的8031單片機,后來隨著Flash rom技術(shù)的發(fā)展,8051單片機取得了長足的進展,成為目前應(yīng)用最廣泛的8位微控制器,由北京時代民芯公司最新推出的MXT8051單片機就是最具代表性的國產(chǎn)8051單片機之一。
系統(tǒng)工作原理
與其它大部分電子控制系統(tǒng)一樣,發(fā)動機電控系統(tǒng)也是由信號采集、信號處理和執(zhí)行機構(gòu)等部分組成。MXT8051片上自帶3路10位ADC功能,可用于采集三路由電壓型或電阻型傳感器輸出的模擬信號,在發(fā)動機上,可以是氣壓、水壓、油壓、氣溫、水溫、油溫、各種流量、角度、速度等等,MXT8051單片機的ADC功能設(shè)定較為簡單,給EAD寄存器賦值1,使能10位AD轉(zhuǎn)換,ADMR寄存器的高5位控制AD轉(zhuǎn)換頻率,低3位控制當前通道序號,ADCON最高位置1,模擬電路總允許,最后,拉高ENDATA寄存器的bit6位ADCEN,即可從ADRESH和ADRESL中分別讀取當前ADC轉(zhuǎn)換結(jié)果的高8位和低2位了。
對于轉(zhuǎn)速的測量,本文采用的是日本電裝公司的常開式霍爾轉(zhuǎn)速傳感器,每當目標旋轉(zhuǎn)體上的鐵磁體靠近,傳感器就會感應(yīng)出一個脈沖,將該脈沖輸出腳接至MXT8051單片機的外部中斷端,并將定時器溢出中斷設(shè)定到較高優(yōu)先級,定時訪問外部中斷次數(shù)并清零,就可以算出采樣時間內(nèi)的平均轉(zhuǎn)速了。
MXT8051的P2.0~P2.4五個雙向IO可作為外部中斷使用,本例中采用P2.1連接轉(zhuǎn)速傳感器的信號端,定時器0設(shè)為最高優(yōu)先級,程序進入主函數(shù)時,通常先通過PCON|=0x02;指令使能外部時鐘,然后EA=1;開啟總中斷,IE=0xff;使能串口、定時器、外部信號、低電壓檢測等中斷,通過賦值IT0和IT1為1,設(shè)定外部中斷1、2均為下降沿觸發(fā)。
MXT8051單片機有足夠的GPIO用于驅(qū)動LCD顯示發(fā)動機運行參數(shù),本例使用的是帶中文字庫的LCD12864(ST7920),采用串行通信方式,除電源與地參考外另需5個GPIO用于通信,即RS為數(shù)據(jù)、指令選擇;R/W(SID)為讀寫選擇(信號位);E(SCLK)為信號使能(時鐘位);PSB為并行與串行選擇位;RST為復(fù)位腳。本例采用MXT8051單片機的P1.0~P1.4共五個雙向IO控制12864實時顯示各種運行時信息。
軟件設(shè)計
上位機通信軟件使用VB6.0編制,由于系統(tǒng)工作中需要記錄一些工況點的數(shù)據(jù),故調(diào)用了excel工作表對數(shù)據(jù)表格進行操作,基本通信原理為:上位機軟件啟動后向目標板發(fā)送通信指令,目標板開始把采集到的發(fā)動機工況參數(shù)按指定順序發(fā)送給上位機軟件,軟件接收到信號以后把數(shù)據(jù)按指定順序分配到窗體的顯示控件,當需要向目標板寫入map數(shù)據(jù)時,上位機軟件通過串口發(fā)送寫入指令,8051接收到第一位map數(shù)據(jù)時,即采用IIC協(xié)議將該值寫入AT24C08,然后以相同地址讀取該值發(fā)送回上位機軟件,地址累加1,同時上位機軟件的串口通信事件激活,從excel工作表讀取下一個單元格的值重復(fù)執(zhí)行發(fā)送-IIC協(xié)議寫入-讀取-發(fā)送-地址累加的通信行為,直至最后一位完成讀寫。上位機軟件的界面如圖1所示。
評論