一種基于單片機的車輛虛擬儀表數(shù)據(jù)采集系統(tǒng)設(shè)計
2.2 頻率信號測量
頻率信號測量是本系統(tǒng)的一個設(shè)計難點,在本課題中,對于不同的車型所選用的傳感器不同,因此對轉(zhuǎn)速和車速頻率信號的處理可以有兩種方法:一是當(dāng)選用輸出頻率范圍為0-100HZ的接觸式傳感器時,采用CS289頻壓轉(zhuǎn)換芯片,將頻率信號轉(zhuǎn)換成2.2~7.2V的電壓信號然后送ADC采集;二是當(dāng)選用輸出信號頻率范圍為0~3000HZ的非接觸式傳感器時,通過單片機捕獲端口用脈沖計數(shù)的方法進(jìn)行頻率測量。為提高系統(tǒng)的通用性,可以同時采用了這兩種方法,具體采用哪一種方法得到的數(shù)據(jù)通過上微機軟件設(shè)定。圖2為F/V轉(zhuǎn)換電路圖。
圖2 F/V轉(zhuǎn)換電路圖
CS289是美國Cherry公司生產(chǎn)的單片高精度專用轉(zhuǎn)速測量芯片,在-400至+850溫度范圍內(nèi)都能有很好的線性輸出。它不僅可以用于 F/V、V /F轉(zhuǎn)換,還可以用作函數(shù)發(fā)生器以及動磁式儀表驅(qū)動。由其構(gòu)成的F/V轉(zhuǎn)換電路外圍元件少,調(diào)試容易,工作穩(wěn)定可靠。圖2所示,整形后的轉(zhuǎn)速脈沖信號經(jīng)濾波網(wǎng)絡(luò)和限幅輸入CS289第10腳,電壓信號由第8腳輸出,經(jīng)濾波消除可能的工頻干擾后送采樣電路。本電路中,輸出電壓和輸入頻率的關(guān)系由下式?jīng)Q定:上位機據(jù)此線性關(guān)系解算出頻率值。為保證F/V變換具有足夠高的線性度,應(yīng)合理選取的值。
3 系統(tǒng)軟件設(shè)計
系統(tǒng)軟件主要完成三項任務(wù):1、傳感器信號的采樣與解算;2、上位機請求數(shù)據(jù)時將采集的數(shù)據(jù)傳送給上位機;3、接收到上位機自檢命令時,上傳數(shù)據(jù)完成傳感器信號到標(biāo)準(zhǔn)信號的切換。程序流程如圖3所示。
圖3 程序流程如圖
主程序采用模塊化編程。具有故障自診斷功能是虛擬儀表的重要特征之一,為此數(shù)據(jù)采集系統(tǒng)中設(shè)計了3組標(biāo)準(zhǔn)信號,分別是頻率信號、電壓信號和電阻信號,自檢模塊的主要功能是:當(dāng)接收到上位機發(fā)出的自檢命令后,微控制器斷開傳感器輸入,標(biāo)準(zhǔn)信號被接入數(shù)據(jù)采集系統(tǒng),將得到的數(shù)據(jù)上傳到上位機與標(biāo)準(zhǔn)值進(jìn)行比較,以確定故障點是傳感器系統(tǒng)還是數(shù)據(jù)采集系統(tǒng),若自檢通過則表示數(shù)據(jù)采集系統(tǒng)工作正常。數(shù)據(jù)發(fā)送模塊主要實現(xiàn)對上位機的數(shù)據(jù)通信,本系統(tǒng)設(shè)計為每隔20毫秒將數(shù)據(jù)分組發(fā)送到上位機。數(shù)據(jù)轉(zhuǎn)存模塊完成各種數(shù)據(jù)寫入在片主RAM的操作,為了區(qū)分?jǐn)?shù)據(jù)類型,需要在數(shù)據(jù)塊中添加相應(yīng)的類型標(biāo)識碼,該碼由用戶層協(xié)議自行定義。A/D采樣模塊控制系統(tǒng)采樣過程,并將每一路12位采樣數(shù)據(jù)分兩次讀入指定的RAM單元中。
頻率信號處理模塊完成對捕獲端口頻率的測量,其基本思想是:在被測信號的一個周期時間內(nèi),2次脈沖下降沿分別啟動和停止定時器T2計數(shù),兩次計數(shù)值之差的倒數(shù)即為頻率值,本模塊只需計算差值,頻率值由上位機解算。
3.1CAN控制器編程
本系統(tǒng)軟件設(shè)計的一個難點在于關(guān)于CAN的編程。本系統(tǒng)處理的CAN程序模塊有:CAN初始化子程序、CAN中斷程序和CAN數(shù)據(jù)收發(fā)子程序。
CAN 是Controller Area Network 的縮寫,是國際標(biāo)準(zhǔn)化的串行通信協(xié)議。在當(dāng)前的汽車產(chǎn)業(yè)中,出于對安全性、舒適性、方便性、低公害、低成本的要求,各種各樣的電子控制系統(tǒng)被開發(fā)了出來。由于這些系統(tǒng)之間通信所用的數(shù)據(jù)類型及對可靠性的要求不盡相同,由多條總線構(gòu)成的情況很多,線束的數(shù)量也隨之增加。為適應(yīng)"減少線束的數(shù)量"、"通過多個 LAN,進(jìn)行大量數(shù)據(jù)的高速通信"的需要,1986 年德國電氣商博世公司開發(fā)出面向汽車的CAN 通信協(xié)議。此后,CAN 通過ISO11898 及ISO11519 進(jìn)行了標(biāo)準(zhǔn)化,現(xiàn)在在歐洲已是汽車網(wǎng)絡(luò)的標(biāo)準(zhǔn)協(xié)議。
CAN總線的基本特點:
*CAN協(xié)議廢除了傳統(tǒng)的站地址編碼,采用數(shù)據(jù)通信數(shù)據(jù)塊進(jìn)行編程,可以多主方式工作。
*CAN采用非破壞性仲裁技術(shù),當(dāng)兩個節(jié)點同時向網(wǎng)絡(luò)上傳送數(shù)據(jù)時,優(yōu)先級低的節(jié)點主動停止數(shù)據(jù)發(fā)送,而優(yōu)先級高的節(jié)點可不受影響地繼續(xù)傳輸數(shù)據(jù),有效避免了總線沖突。
*CAN采用短幀結(jié)構(gòu),每一幀的 有效字節(jié)為8個(CAN技術(shù)規(guī)范2.0A),數(shù)據(jù)傳輸時間短,受干擾的概率低,重新發(fā)送的時間短。
*CAN的每幀數(shù)據(jù)都有CRC效驗及其他檢錯措施,保證了數(shù)據(jù)傳輸?shù)母呖煽啃?,適于在高干擾環(huán)境中使用。
*適用于現(xiàn)場設(shè)備與儀表之間或者與其上位設(shè)備間的通信網(wǎng)絡(luò),可以統(tǒng)一組態(tài),相互操作,控制功能分散到最底層。
*CAN節(jié)點在錯誤嚴(yán)重的情況下,具有自動關(guān)閉總線的功能,切斷它與總線的聯(lián)系,以使總線上其它操作不受影響。
*CAN可以點對點、一點對多點(成組)及全局廣播集中方式傳送和接受數(shù)據(jù)
*CAN總線直接通訊距離最遠(yuǎn)可達(dá)10km/5Kbps,通訊速率最高可達(dá)1Mbps/40m.
*采用不歸零碼(NRZ-Non-Return-to-Zero)編碼/解碼方式,并采用位填充(插入)技術(shù)。
CAN控制器是以CPU存儲器映像外圍設(shè)備出現(xiàn)的。P80C592的CPU與CAN控制器之間的數(shù)據(jù)傳輸通過4個特殊功能寄存器來實現(xiàn),即: CANADR、CANCON、CANSTA和CANDAT,通過這四個特殊功能寄存器,CPU可以訪問CAN控制器內(nèi)部的任一寄存器(地址為0~29)和 DMA邏輯。表1給出了這四個SFR的功能簡述,其中CANCON和CANSTA的讀寫操作含義不同。
評論