汽車電動(dòng)空調(diào)的數(shù)據(jù)采集系統(tǒng)的研究設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1 引言
汽車空調(diào)作為車內(nèi)溫度小環(huán)境的控制中心,其作用不言而喻。由于過(guò)去的汽車空調(diào)檢測(cè)系統(tǒng)因?yàn)榭刂撇呗詥握{(diào)而沒(méi)有使用綜合檢測(cè)平臺(tái)的必要,即使有控制過(guò)程檢測(cè),大都使用昂貴的采集設(shè)備如數(shù)據(jù)采集卡,其通信方式也以串行口通信為主,無(wú)法接入整車環(huán)境進(jìn)行監(jiān)控[1]。針對(duì)這一情況,本文所設(shè)計(jì)開發(fā)的檢測(cè)系統(tǒng)主要對(duì)電動(dòng)汽車空調(diào)運(yùn)行過(guò)程中的四個(gè)工程物理量進(jìn)行檢測(cè)分析:風(fēng)機(jī)的電壓、電流,壓縮機(jī)端口的高壓、低壓。本課題來(lái)源于某汽車空調(diào)系統(tǒng)的開發(fā)過(guò)程中所需檢測(cè)系統(tǒng)的設(shè)計(jì),主要用于使空調(diào)系統(tǒng)的控制策略的執(zhí)行更加透明化、直觀化,為控制策略的優(yōu)化提供數(shù)字依據(jù);為汽車空調(diào)后續(xù)開發(fā)提供可靠的保證。
2 采集系統(tǒng)設(shè)計(jì)
2.1 總體設(shè)計(jì)
如圖1所示,在該系統(tǒng)中,DSP部分的軟件設(shè)計(jì)主要完成以下工作:數(shù)據(jù)采集周期的設(shè)定、AD轉(zhuǎn)換、數(shù)據(jù)校正及濾波等。并可以接收上位機(jī)通過(guò)CAN總線發(fā)來(lái)的采集開始指令打開采集或關(guān)閉采集功能,在采集開始后按照要求對(duì)四路信號(hào)進(jìn)行采樣及軟件校正,校正完成后將采集結(jié)果保存在CAN郵箱內(nèi),通過(guò)CAN控制模塊進(jìn)行發(fā)送。在本系統(tǒng)中,電壓、電流采集周期為50ms,高、低壓采樣周期為200ms。
2.2 硬件部分
以TI公司的TMS320F2812為該四通道數(shù)據(jù)采集系統(tǒng)的核心。該款DSP芯片是TI公司2000系列中的一員,最高主頻可達(dá)到150MHz,具有強(qiáng)大的數(shù)字信號(hào)處理能力[2]。片內(nèi)集成的12位AD轉(zhuǎn)換器共有16個(gè)通道,轉(zhuǎn)換速率在可達(dá)到12.5MSPS(ADC時(shí)鐘為25MHz時(shí)),在采集速度及精度上均能達(dá)到本系統(tǒng)的設(shè)計(jì)要求。而且該AD模塊可采用多種方式觸發(fā)能夠滿足不同的任務(wù)需要。輸入2812AD端的模擬信號(hào)由傳感器采集變換得到。本系統(tǒng)所用傳感器輸出信號(hào)為4~20mA的電流環(huán)信號(hào),而AD模擬輸入范圍為0~3V電壓信號(hào)。
CAN是控制器區(qū)域網(wǎng)絡(luò)(ControlAreaNetwork)的簡(jiǎn)稱,最早是由德國(guó)BOSCH公司推出的,用于汽車內(nèi)部測(cè)量與執(zhí)行部件間的數(shù)據(jù)通信,其總線規(guī)范現(xiàn)已被ISO國(guó)際標(biāo)準(zhǔn)制定為國(guó)際標(biāo)準(zhǔn)[3]。它廣泛的應(yīng)用于汽車電子、工業(yè)控制,其信號(hào)傳輸介質(zhì)為普通雙絞線,通信速率最高可達(dá)1Mbps。CAN總線具有較強(qiáng)的抗干擾能力。本系統(tǒng)采用CAN總線的通信方式,也方便了整車調(diào)試的接入。
2.3 軟件部分設(shè)計(jì)
2.3.1 DSP軟件部分
該部分軟件主要包括兩個(gè)部分:模擬信號(hào)的AD轉(zhuǎn)換和CAN總線通信。因?yàn)門MS320F2812內(nèi)置有12位AD轉(zhuǎn)換器,因此轉(zhuǎn)換部分可分為AD模塊配置和數(shù)據(jù)轉(zhuǎn)換處理;而AD模塊的配置主要包括工作和通道的選擇。在本系統(tǒng)中,選用連續(xù)轉(zhuǎn)換方式;需要采集的模擬量共四個(gè),加上A、B通道各配置兩個(gè)校正輸入端口,所以總共需要占用8個(gè)模擬輸入口。
50ms200ms集周期為,高、低壓采樣周期為。部分配置程序如下:…
AdcRegs.ADCTRL1.bit.SEQ_CASC=0;//雙排序發(fā)生
AdcRegs.ADCTRL1.bit.CONT_RUN=1;//連續(xù)轉(zhuǎn)換方式
AdcRegs.ADCTRL1.bit.CPS=0;//分頻系數(shù)為1
AdcRegs.ADCMAXCONV.all=0x0055;//共有12個(gè)轉(zhuǎn)換,采樣值取2次,標(biāo)準(zhǔn)值1次
AdcRegs.ADCCHSELSEQ1.all=0x1100;//轉(zhuǎn)換序列
CAN總線通信主要包括TMS320F2812中eCAN模塊郵箱的定義和郵箱中斷子程序的設(shè)置[6]。
部分配置程序如下:
ECanaMboxes.MBOX0.MSGID.all=0x003FFFFF;//mail0:00F
ECanaMboxes.MBOX5.MSGID.all=0x0FFFFFFF;//mail5:3FF
//ConfigureMailboxes0-3asTx,4,5asRx
ECanaRegs.CANMD.all=0x00000030;//EnableMailboxes
ECanaRegs.CANME.all=0x0000003F;//Specifythat2bitswillbesent
CAN模塊有兩種中斷形式,一種是與郵箱有關(guān)的中斷,另一種是系統(tǒng)中斷,用于處理錯(cuò)誤或者與系統(tǒng)相關(guān)的中斷源[4]。而本系統(tǒng)中CAN與上位機(jī)通信主要是通過(guò)郵箱中斷來(lái)實(shí)現(xiàn)。
CAN郵箱的中斷程序如下:
interruptvoidcan_send(void)
{
if((((int)ECanaRegs.CANGIF1.all)<0)&&(ECanaRegs.CANGIF1.bit.MIV1==4))
{IER|=M_INT1;}if((((int)ECanaRegs.CANGIF1.all)<0)&
(ECanaRegs.CANGIF1.bit.MIV1==5)){IER=M_INT9;
PieCtrlRegs.PIEACK.bit.ACK9=0x1;
}
以高電壓為例來(lái)說(shuō)明本系統(tǒng)在數(shù)據(jù)采集、數(shù)據(jù)轉(zhuǎn)換及發(fā)送的相應(yīng)任務(wù)。
Pre_High=ADCRegs.ADCRESULT6>>4+AdcRegs.ADCRESULT7>>4;Pre_High=Pre_High<<1;//高電壓值Pre_High=Ave_cur*CalGain-CalOffset*CalGain;ECanaMboxes.MBOX2.MDL.word.LOW_WORD=Pre_High;ECanaRegs.CANTRS.all=0x0000000C;
while(ECanaRegs.CANTA.all!=0x0000000C){}ECanaRegs.CANTA.all=0x0000000C;
經(jīng)實(shí)際運(yùn)行證明執(zhí)行結(jié)果達(dá)到了設(shè)計(jì)需要,說(shuō)明該部分程序設(shè)計(jì)完全滿足預(yù)期的任務(wù)調(diào)度規(guī)劃,并能與硬件平臺(tái)很好的配合工作。
2.3.2 PC機(jī)軟件部分
此部分軟件采用面向?qū)ο蟪绦蛟O(shè)計(jì)技術(shù),關(guān)于CAN232接口卡的硬件操作函數(shù)已經(jīng)封裝在ControlCAN.dll,在VisualC++的工程中添加ControlCAN.lib和ControlCAN.h這兩個(gè)庫(kù)文件和頭文件。方便在程序中調(diào)用。在編譯生成的應(yīng)用程序中設(shè)置好有關(guān)CAN232的相應(yīng)參數(shù),開始采集過(guò)程。每次將采集到的數(shù)據(jù)寫到數(shù)據(jù)文件并送到數(shù)據(jù)緩沖區(qū),以實(shí)現(xiàn)采集模塊和顯示模塊的數(shù)據(jù)共享。這部分的流程圖如圖2所示:
在此工程中,使用VC自帶的屬性頁(yè)對(duì)話框,并設(shè)置相應(yīng)的四個(gè)屬性頁(yè),可以方便的切換及觀察采集的數(shù)據(jù)波形、數(shù)據(jù)統(tǒng)計(jì)、數(shù)據(jù)幀、以及采集事件的統(tǒng)計(jì)。顯示模塊采用了MeasurementStudio的顯示控件(CNiGraph)。MeasurementStudio是NationalInstruments(美國(guó)國(guó)家儀器公司)專為測(cè)試和控制領(lǐng)域開發(fā)的工具軟件,將強(qiáng)大的數(shù)據(jù)采集分析功能無(wú)縫隙的集成到VisualStudio環(huán)境中。MeasurementStudio向用戶提供直觀的測(cè)量硬件接口、高級(jí)分析函數(shù)、科學(xué)的用戶界面控件及測(cè)量數(shù)據(jù)網(wǎng)絡(luò),可大大提高數(shù)據(jù)采集分析系統(tǒng)的開發(fā)效率[5]。
在本系統(tǒng)中。數(shù)據(jù)量龐大,針對(duì)此情況,建立了Access數(shù)據(jù)庫(kù)文件。Access是一個(gè)適應(yīng)于普通場(chǎng)合的、典型的關(guān)系型數(shù)據(jù)庫(kù),根據(jù)關(guān)系型數(shù)據(jù)庫(kù)的設(shè)計(jì)原理及本文的需求,對(duì)數(shù)據(jù)庫(kù)的操作轉(zhuǎn)化為對(duì)于相應(yīng)記錄集的操作,實(shí)現(xiàn)語(yǔ)言采用了SQL語(yǔ)言實(shí)現(xiàn)。圖3為空調(diào)壓縮機(jī)的四路數(shù)據(jù)的波形圖圖4為此四路數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)值的統(tǒng)計(jì)圖
3 結(jié)束語(yǔ)
本采集系統(tǒng)經(jīng)過(guò)多次的軟硬件測(cè)試,證實(shí)可以很好的滿足對(duì)汽車空調(diào)壓縮機(jī)系統(tǒng)相關(guān)參數(shù)的采集,所設(shè)計(jì)的上位機(jī)系統(tǒng)能夠配合采集節(jié)點(diǎn)實(shí)現(xiàn)數(shù)據(jù)的顯示、存儲(chǔ)、數(shù)據(jù)記錄、檢索等功能,采用多線程,臨界量等編程技術(shù),結(jié)合MeasurementStudio用戶界面控件與分析函數(shù)庫(kù),方便、快捷地在VisualC++環(huán)境下實(shí)現(xiàn)了數(shù)據(jù)采集系統(tǒng),有效地降低了該類程序開發(fā)的復(fù)雜性,縮短了程序開發(fā)的周期,實(shí)驗(yàn)證明本系統(tǒng)具有實(shí)時(shí)性、可擴(kuò)展性等優(yōu)點(diǎn)。本文作者創(chuàng)新點(diǎn):結(jié)合DSP和CAN總線技術(shù)應(yīng)用到在線檢測(cè)系統(tǒng)中,使得該系統(tǒng)的抗干擾能力、可靠性、準(zhǔn)確性得到保障;提高運(yùn)算速度和工作效率。