于海征,馮國勝
(石家莊鐵道大學(xué) 機(jī)械工程學(xué)院,河北 石家莊 050043)
?
基于DSPF2812和Labview的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
于海征,馮國勝
(石家莊鐵道大學(xué) 機(jī)械工程學(xué)院,河北石家莊050043)
摘要:為方便、快捷的完成信號(hào)采集,設(shè)計(jì)了一種基于數(shù)字信號(hào)處理器DSP和虛擬儀器技術(shù)Labview的數(shù)據(jù)采集系統(tǒng)。應(yīng)用DSP內(nèi)部的模數(shù)轉(zhuǎn)換器ADC模塊采集外部模擬信號(hào)并完成模擬量到數(shù)字量的轉(zhuǎn)換,從而實(shí)現(xiàn)模擬信號(hào)的采集,同時(shí)利用串口通訊SCI模塊與外設(shè)之間實(shí)現(xiàn)串行通訊的原理,通過R232串口完成DSP與Labview的通信,可實(shí)現(xiàn)數(shù)據(jù)的顯示和存儲(chǔ)。經(jīng)測試該系統(tǒng)工作穩(wěn)定,可實(shí)現(xiàn)多個(gè)通道的數(shù)據(jù)采集、監(jiān)測和存儲(chǔ)。
關(guān)鍵詞:DSPF2812;Labview;數(shù)據(jù)采集
數(shù)據(jù)采集系統(tǒng)是指待測模擬信號(hào)進(jìn)行采樣,轉(zhuǎn)換成數(shù)字信號(hào)后再由計(jì)算機(jī)進(jìn)行顯示、存儲(chǔ)、處理等的系統(tǒng)[1]。將數(shù)據(jù)采集系統(tǒng)應(yīng)用到實(shí)際的信號(hào)測試中可以實(shí)現(xiàn)信號(hào)采集的實(shí)時(shí)性監(jiān)測,同時(shí)能夠完成對(duì)采集數(shù)據(jù)的記錄和存儲(chǔ)以及后續(xù)分析等功能。DSPF2812具有強(qiáng)大的數(shù)字信號(hào)處理能力,并且具備完善的時(shí)間管理能力和嵌入式控制能力,被廣泛用于工業(yè)控制[2]。LabVIEW是一種圖形化的編程語言和開發(fā)環(huán)境,其圖形化編程語言環(huán)境簡單直觀[3],通過R232實(shí)現(xiàn)DSP和Labview的串口通信,可將二者的優(yōu)點(diǎn)相結(jié)合,實(shí)現(xiàn)信號(hào)的采集并完成相關(guān)數(shù)據(jù)的直觀顯示和數(shù)據(jù)存儲(chǔ),為日后的數(shù)據(jù)分析和處理提供依據(jù)。
1總體設(shè)計(jì)
本系統(tǒng)應(yīng)用DSPF2812內(nèi)部AD采集模塊對(duì)外部模擬信號(hào)進(jìn)行采集并轉(zhuǎn)換成數(shù)字量提供給控制器使用,將Labview作為上位機(jī)軟件,實(shí)現(xiàn)各路信號(hào)的實(shí)時(shí)監(jiān)測和數(shù)據(jù)存儲(chǔ),在不增加硬件成本的基礎(chǔ)上實(shí)現(xiàn)了多路模擬信號(hào)的實(shí)時(shí)監(jiān)測[4]?;贒SPF2812和Labview的數(shù)據(jù)采集系統(tǒng)主要由外部信號(hào)、調(diào)理電路、AD轉(zhuǎn)換模塊、SCI數(shù)據(jù)發(fā)送模塊以及數(shù)據(jù)顯示和存儲(chǔ)模塊組成,該系統(tǒng)的總體設(shè)計(jì)框圖如圖1所示。
2信號(hào)調(diào)理電路設(shè)計(jì)
由于DSPF2812的AD模塊允許的輸入電壓在0~3 V,所以在外部信號(hào)進(jìn)入AD之前必須進(jìn)行調(diào)理,以確保在DSP的AD模塊采集范圍內(nèi),同時(shí)為了避免外部信號(hào)幅值過高而引起芯片燒毀,在調(diào)理電路后應(yīng)附加鉗位電路,使電壓輸入保持在0~3.3 V,從而確保芯片的正常工作。圖2為單路信號(hào)調(diào)理電路的整體設(shè)計(jì)。圖2中輸入信號(hào)經(jīng)R1和R2分壓,通過LM324運(yùn)放組成的電壓跟隨器并經(jīng)過鉗位電路輸出信號(hào)到DSP的AD采集端口。
3DSP軟件部分設(shè)計(jì)
3.1AD采集模塊軟件設(shè)計(jì)
DSP2812的AD模塊共有16個(gè)模擬輸入引腳,具有12位的ADC內(nèi)核,內(nèi)置有2個(gè)采樣保持器S/H-A和S/H-B,時(shí)鐘頻率最高為25 MHz。本設(shè)計(jì)取采用三路AD進(jìn)行采集,采用級(jí)聯(lián)模式下的順序采樣,事件管理器的周期中斷啟動(dòng)AD。AD模塊初始化部分程序如下所示。
void InitAdc(void)
{AdcRegs.ADCTRL1.bit.RESET=1;
AdcRegs.ADCTRL1.bit.SEQ_CASC=1;//單序列模式
AdcRegs.ADCTRL1.bit.CONT_RUN=0; //啟動(dòng)停止模式
AdcRegs.ADCTRL1.bit.CPS=0;
AdcRegs.ADCTRL1.bit.ACQ_PS=0;//脈沖寬度1個(gè)ADC周期
AdcRegs.ADCTRL1.bit.SUSMOD=3;//仿真暫停模式
……
}
ADC模塊共有16個(gè)結(jié)果寄存器,每個(gè)寄存器都是16位,而DSP2812的ADC為12位,結(jié)果寄存器的高12位存放轉(zhuǎn)換結(jié)果,低4位被忽略,ADC的轉(zhuǎn)換特性為
ADResult=(VoltIput-ADCLO)/3.0x65520
式中,ADResult為結(jié)果寄存器中的數(shù)字量,VoltIput為模擬電壓的輸入值,ADCLO為轉(zhuǎn)換的參考電平(使用時(shí)參考電平接地,ADCLO=0)。本設(shè)計(jì)中ADC的結(jié)果寄存器的值采用AD中斷子程序中進(jìn)行讀取。
3.2SCI串口發(fā)送模塊設(shè)計(jì)
DSPF2812的SCI模塊為8位的標(biāo)準(zhǔn)異步串行通信接口,可以實(shí)現(xiàn)半雙工、雙工或多機(jī)之間的通信,同時(shí)可以通過更改兩個(gè)8位波特率寄存器的值來實(shí)現(xiàn)64K種不同的傳輸速率,SCI實(shí)現(xiàn)接收或發(fā)送程序有查詢和中斷兩種方式實(shí)現(xiàn),本設(shè)計(jì)中采用查詢方式實(shí)現(xiàn)數(shù)據(jù)的發(fā)送。在實(shí)際的發(fā)送過程中由于SCI的發(fā)送數(shù)據(jù)緩沖寄存器和發(fā)送移位寄存器都為8位,而ADC模塊的結(jié)果寄存器的值為12位,在發(fā)送過程中采用結(jié)果寄存器的高8位和低8位依次發(fā)送,在上位機(jī)接收到高、低8位后在進(jìn)行重組、計(jì)算后得到實(shí)際的采樣值。為避免數(shù)據(jù)接收錯(cuò)誤或各通道數(shù)據(jù)錯(cuò)位等現(xiàn)象,軟件設(shè)計(jì)中添加了標(biāo)志位作為發(fā)送和接收數(shù)據(jù)的校驗(yàn)手段。數(shù)據(jù)發(fā)送和接收時(shí)的順序如圖3所示。
設(shè)置SCI的波特率為39 200,數(shù)據(jù)格式為8位數(shù)據(jù)位,一位停止位,無奇偶校驗(yàn)位。DSP的串口發(fā)送程序如下:
while(1)
{while(SciaRegs.SCICTL2.bit.TXEMPTY==0){};
SciaRegs.SCITXBUF=0xAB;
while(SciaRegs.SCICTL2.bit.TXEMPTY==0){};
SciaRegs.SCITXBUF=0xCD;
while(SciaRegs.SCICTL2.bit.TXEMPTY==0){};
SciaRegs.SCITXBUF=adc[0]>>8;
while(SciaRegs.SCICTL2.bit.TXEMPTY==0){};
SciaRegs.SCITXBUF=adc[0];
……
}
4Labview程序設(shè)計(jì)
4.1數(shù)據(jù)接收程序設(shè)計(jì)
LABVIEW 的功能模板 Instrument I/O/VISA 中包含串行通信常用功能的模塊,串口通信使用的 VISA 庫中的串口通信函數(shù)包括VISA配置串口、VISA寫入、VISA讀取、VISA關(guān)閉等[5]。
本系統(tǒng)每次讀取2 000個(gè)字符數(shù),為確保接收數(shù)據(jù)的正確,首先通過程序判斷數(shù)據(jù)發(fā)送的標(biāo)志位AB、CD所在的位置,確定標(biāo)志位所在的位置后對(duì)后續(xù)三路信號(hào)的數(shù)據(jù)進(jìn)行讀取。
確定標(biāo)志位所在的位置后對(duì)后續(xù)三路信號(hào)的數(shù)據(jù)進(jìn)行讀取,字符串的第N+1、N+2位存放的是第一通道數(shù)據(jù)的高8位和低8位,通過索引取出高、低8位的值并進(jìn)行組合計(jì)算得到SCI發(fā)送的第一通道的數(shù)據(jù),第二通道與第三通道的數(shù)據(jù)與第一通道類似,分別為第N+3、N+4位的組合與N+5、N+6的組合。
圖4為循環(huán)讀取通道數(shù)據(jù)的程序,通過循環(huán)讀數(shù)依次得到各通道的數(shù)據(jù)并通過重組得到采集的真實(shí)數(shù)據(jù)值從而實(shí)現(xiàn)數(shù)據(jù)的連續(xù)采集。
4.2數(shù)據(jù)存儲(chǔ)程序設(shè)計(jì)
為了便于數(shù)據(jù)的后續(xù)處理和儲(chǔ)存,本系統(tǒng)增加了數(shù)據(jù)采集的存儲(chǔ)模塊。
5實(shí)驗(yàn)結(jié)果與結(jié)論
通過采集由三組蓄電池的三路電壓信號(hào)對(duì)該設(shè)計(jì)進(jìn)行實(shí)際測試和驗(yàn)證,實(shí)際測試的三路電壓值輸出前面板圖如圖5所示。通過驗(yàn)證采集系統(tǒng)采集數(shù)據(jù)的精度,應(yīng)用萬用表同時(shí)測量穩(wěn)壓電源輸出的電壓值并與采集系統(tǒng)的測量值進(jìn)行比較可得,該系統(tǒng)采集的電壓值具有較高的精度,測量數(shù)據(jù)如表1所示。
通過實(shí)際測試表明,該系統(tǒng)可實(shí)現(xiàn)外部信號(hào)的數(shù)據(jù)采集,同時(shí)可實(shí)現(xiàn)采集數(shù)據(jù)的圖像實(shí)時(shí)顯示、監(jiān)測和數(shù)據(jù)存儲(chǔ),為分析和研究實(shí)驗(yàn)數(shù)據(jù)提供了參考依據(jù),本設(shè)計(jì)在實(shí)際測試中通道數(shù)量為三路,而該系統(tǒng)可根據(jù)實(shí)際需要增加采集通道數(shù)量。數(shù)據(jù)采集系統(tǒng)已成功用于車輛狀態(tài)監(jiān)測系統(tǒng),可實(shí)現(xiàn)對(duì)車輛的實(shí)時(shí)信號(hào)進(jìn)行監(jiān)測,經(jīng)測試,該系統(tǒng)可以完成至少7路通道的數(shù)據(jù)采集和存儲(chǔ)。
表1 測量數(shù)據(jù)
參考文獻(xiàn):
[1]田瑩瑩,劉鳳林,趙洪亮.基于 LabVIEW 和 DSP 的多路數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)[J].科技信息,2013(7):227-267.
[2]韓豐田.TMS320F281xDSP原理及應(yīng)用技術(shù)[M].北京:清華大學(xué)出版社,2009.
[3]張雪華,萬舟,吳建德.基于LabVIEW與DSP串口通信的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].云南大學(xué)學(xué)報(bào),2009,31(S2):106-111.
[4]徐華中,黃麗萍.基于LabVIEW和DSP串口的多通道電機(jī)參數(shù)采集系統(tǒng)[J].電子測量技術(shù),2011,34(4):66-69.
[5]熊玉, 韓峻峰 ,潘盛輝. 基于DSP和LabVIEW的汽車行駛姿態(tài)參數(shù)采集系統(tǒng)設(shè)計(jì)[J].電子技術(shù)應(yīng)用.2011(1):80-83.
Design of Data Acquisition System Based on DSPF2812 and Labview
YU Hai-zheng, FENG Guo-sheng
(School of Mechanical Engineering,Shijiazhuang Tiedao University,Shijiazhuang 050043,Hebei, China)
Abstract:A data acquisition system based on digital signal processor DSP and virtual instrument Labview was designed. We completed the conversion of the analog to digital by the module of the DSP, so as to realize the analog signal acquisition. At the same time, the serial communication was realized through the RS232 serial port to complete the communication of DSP and Labview, which can achieve the data displaying and storage. After testing the system, we realized the multiple channels of data acquisition, monitoring and storage.
Key words:DSPF2812; Labview; data acquisition
收稿日期:2015-09-03
作者簡介:于海征(1990-),男 ,河北保定人,石家莊鐵道大學(xué)機(jī)械工程學(xué)院在讀碩士研究生,研究方向?yàn)檐囕v電子控制技術(shù)。
中圖分類號(hào):TP274
文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1008-9446(2016)03-0038-05