汽車電動空調(diào)的數(shù)據(jù)采集系統(tǒng)的研究
1 引言
汽車空調(diào)作為車內(nèi)溫度小環(huán)境的控制中心,其作用不言而喻。由于過去的汽車空調(diào)檢測系統(tǒng)因為控制策略單調(diào)而沒有使用綜合檢測平臺的必要,即使有控制過程檢測,大都使用昂貴的采集設(shè)備如數(shù)據(jù)采集卡,其通信方式也以串行口通信為主,無法接入整車環(huán)境進行監(jiān)控[1]。針對這一情況,本文所設(shè)計開發(fā)的檢測系統(tǒng)主要對電動汽車空調(diào)運行過程中的四個工程物理量進行檢測分析:風機的電壓、電流,壓縮機端口的高壓、低壓。本課題來源于某汽車空調(diào)系統(tǒng)的開發(fā)過程中所需檢測系統(tǒng)的設(shè)計,主要用于使空調(diào)系統(tǒng)的控制策略的執(zhí)行更加透明化、直觀化,為控制策略的優(yōu)化提供數(shù)字依據(jù);為汽車空調(diào)后續(xù)開發(fā)提供可靠的保證。
2采集系統(tǒng)設(shè)計
2.1總體設(shè)計
500)this.style.width=500;" border="0" />
如圖 1所示,在該系統(tǒng)中, DSP部分的軟件設(shè)計主要完成以下工作:數(shù)據(jù)采集周期的設(shè)定、AD轉(zhuǎn)換、數(shù)據(jù)校正及濾波等。并可以接收上位機通過 CAN總線發(fā)來的采集開始指令打開采集或關(guān)閉采集功能,在采集開始后按照要求對四路信號進行采樣及軟件校正,校正完成后將采集結(jié)果保存在 CAN郵箱內(nèi),通過 CAN控制模塊進行發(fā)送。在本系統(tǒng)中,電壓、電流采
2.2硬件部分
以 TI公司的 TMS320F2812為該四通道數(shù)據(jù)采集系統(tǒng)的核心。該款 DSP芯片是 TI公司 2000系列中的一員,最高主頻可達到 150MHz,具有強大的數(shù)字信號處理能力[2]。片內(nèi)集成的 12位 AD轉(zhuǎn)換器共有 16個通道,轉(zhuǎn)換速率在可達到 12.5MSPS(ADC時鐘為 25MHz時),在采集速度及精度上均能達到本系統(tǒng)的設(shè)計要求。而且該 AD模塊可采用多種方式觸發(fā)能夠滿足不同的任務(wù)需要。輸入 2812 AD端的模擬信號由傳感器采集變換得到。本系統(tǒng)所用傳感器輸出信號為 4~20mA的電流環(huán)信號,而 AD模擬輸入范圍為 0~3V電壓信號。
CAN是控制器區(qū)域網(wǎng)絡(luò)( Control Area Network)的簡稱,最早是由德國 BOSCH公司推出的,用于汽車內(nèi)部測量與執(zhí)行部件間的數(shù)據(jù)通信,其總線規(guī)范現(xiàn)已被 ISO國際標準制定為國際標準[3]。它廣泛的應(yīng)用于汽車電子、工業(yè)控制,其信號傳輸介質(zhì)為普通雙絞線,通信速率最高可達 1Mbps。CAN總線具有較強的抗干擾能力。本系統(tǒng)采用 CAN總線的通信方式,也方便了整車調(diào)試的接入。
2.3軟件部分設(shè)計
2.3.1 DSP軟件部分
該部分軟件主要包括兩個部分:模擬信號的 AD轉(zhuǎn)換和CAN總線通信。因為TMS320F2812內(nèi)置有 12位 AD轉(zhuǎn)換器,因此轉(zhuǎn)換部分可分為 AD模塊配置和數(shù)據(jù)轉(zhuǎn)換處理;而 AD模塊的配置主要包括工作和通道的選擇。在本系統(tǒng)中,選用連續(xù)轉(zhuǎn)換方式;需要采集的模擬量共四個,加上 A、B通道各配置兩個校正輸入端口,所以總共需要占用 8個模擬輸入口。
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個轉(zhuǎn)換,采樣值取 2次,標準值 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
// Configure Mailboxes 0-3 as Tx, 4,5 as Rx
ECanaRegs.CANMD.all = 0x00000030; // Enable Mailboxes
ECanaRegs.CANME.all = 0x0000003F; // Specify that 2 bits will be sent
CAN模塊有兩種中斷形式,一種是與郵箱有關(guān)的中斷,另一種是系統(tǒng)中斷,用于處理錯誤
或者與系統(tǒng)相關(guān)的中斷源[4]。而本系統(tǒng)中 CAN與上位機通信主要是通過郵箱中斷來實現(xiàn)。
CAN郵箱的中斷程序如下:
interrupt void can_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;
}
以高電壓為例來說明本系統(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)實際運行證明執(zhí)行結(jié)果達到了設(shè)計需要,說明該部分程序設(shè)計完全滿足預(yù)期的任務(wù)調(diào)度規(guī)劃,并能與硬件平臺很好的配合工作。
2.3.2 PC機軟件部分此部分軟件采用面向?qū)ο蟪绦蛟O(shè)計技術(shù),關(guān)于 CAN232接口卡的硬件操作函數(shù)已經(jīng)封裝在 ControlCAN.dll,在 Visual C++的工程中添加 ControlCAN.lib和 ControlCAN.h這兩個庫文件和頭文件。方便在程序中調(diào)用。在編譯生成的應(yīng)用程序中設(shè)置好有關(guān) CAN232的相應(yīng)參數(shù),
開始采集過程。每次將采集到的數(shù)據(jù)寫到數(shù)據(jù)文件并送到數(shù)據(jù)緩沖區(qū),以實現(xiàn)采集模塊和顯示模塊的數(shù)據(jù)共享。這部分的流程圖如圖 2所示:
500)this.style.width=500;" border="0" />
在此工程中,使用 VC自帶的屬性頁對話框,并設(shè)置相應(yīng)的四個屬性頁,可以方便的切換及觀察采集的數(shù)據(jù)波形、數(shù)據(jù)統(tǒng)計、數(shù)據(jù)幀、以及采集事件的統(tǒng)計。顯示模塊采用了 Measurement Studio的顯示控件 (CNiGraph)。Measurement Studio是National Instruments(美國國家儀器公司)專為測試和控制領(lǐng)域開發(fā)的工具軟件,將強大的數(shù)據(jù)采集分析功能無縫隙的集成到Visual Studio環(huán)境中。Measurement Studio向用戶提供直觀的測量硬件接口、高級分析函數(shù)、科學的用戶界面控件及測量數(shù)據(jù)網(wǎng)絡(luò),可大大提高數(shù)據(jù)采集分析系統(tǒng)的開發(fā)效率[5]。
在本系統(tǒng)中。數(shù)據(jù)量龐大,針對此情況,建立了 Access數(shù)據(jù)庫文件。Access是一個適應(yīng)于普通場合的、典型的關(guān)系型數(shù)據(jù)庫,根據(jù)關(guān)系型數(shù)據(jù)庫的設(shè)計原理及本文的需求,對數(shù)據(jù)庫的操作轉(zhuǎn)化為對于相應(yīng)記錄集的操作,實現(xiàn)語言采用了 SQL語言實現(xiàn)。圖 3為空調(diào)壓縮機的四路數(shù)據(jù)的波形圖圖 4為此四路數(shù)據(jù)對應(yīng)的數(shù)據(jù)值的統(tǒng)計圖
3 結(jié)束語
本采集系統(tǒng)經(jīng)過多次的軟硬件測試,證實可以很好的滿足對汽車空調(diào)壓縮機系統(tǒng)相關(guān)參數(shù)的采集,所設(shè)計的上位機系統(tǒng)能夠配合采集節(jié)點實現(xiàn)數(shù)據(jù)的顯示、存儲、數(shù)據(jù)記錄、檢索等功能,采用多線程,臨界量等編程技術(shù),結(jié)合Measurement Studio用戶界面控件與分析函數(shù)庫,方便、快捷地在 Visual C++環(huán)境下實現(xiàn)了數(shù)據(jù)采集系統(tǒng),有效地降低了該類程序開發(fā)的復(fù)雜性,縮短了程序開發(fā)的周期,實驗證明本系統(tǒng)具有實時性、可擴展性等優(yōu)點。本文作者創(chuàng)新點:結(jié)合DSP和CAN總線技術(shù)應(yīng)用到在線檢測系統(tǒng)中,使得該系統(tǒng)的抗干擾能力、可靠性、準確性得到保障;提高運算速度和工作效率。