于海征,馮國勝
(石家莊鐵道大學 機械工程學院,河北 石家莊 050043)
?
基于DSPF2812和Labview的數據采集系統設計
于海征,馮國勝
(石家莊鐵道大學 機械工程學院,河北石家莊050043)
摘要:為方便、快捷的完成信號采集,設計了一種基于數字信號處理器DSP和虛擬儀器技術Labview的數據采集系統。應用DSP內部的模數轉換器ADC模塊采集外部模擬信號并完成模擬量到數字量的轉換,從而實現模擬信號的采集,同時利用串口通訊SCI模塊與外設之間實現串行通訊的原理,通過R232串口完成DSP與Labview的通信,可實現數據的顯示和存儲。經測試該系統工作穩定,可實現多個通道的數據采集、監測和存儲。
關鍵詞:DSPF2812;Labview;數據采集
數據采集系統是指待測模擬信號進行采樣,轉換成數字信號后再由計算機進行顯示、存儲、處理等的系統[1]。將數據采集系統應用到實際的信號測試中可以實現信號采集的實時性監測,同時能夠完成對采集數據的記錄和存儲以及后續分析等功能。DSPF2812具有強大的數字信號處理能力,并且具備完善的時間管理能力和嵌入式控制能力,被廣泛用于工業控制[2]。LabVIEW是一種圖形化的編程語言和開發環境,其圖形化編程語言環境簡單直觀[3],通過R232實現DSP和Labview的串口通信,可將二者的優點相結合,實現信號的采集并完成相關數據的直觀顯示和數據存儲,為日后的數據分析和處理提供依據。
1總體設計
本系統應用DSPF2812內部AD采集模塊對外部模擬信號進行采集并轉換成數字量提供給控制器使用,將Labview作為上位機軟件,實現各路信號的實時監測和數據存儲,在不增加硬件成本的基礎上實現了多路模擬信號的實時監測[4]。基于DSPF2812和Labview的數據采集系統主要由外部信號、調理電路、AD轉換模塊、SCI數據發送模塊以及數據顯示和存儲模塊組成,該系統的總體設計框圖如圖1所示。

2信號調理電路設計

由于DSPF2812的AD模塊允許的輸入電壓在0~3 V,所以在外部信號進入AD之前必須進行調理,以確保在DSP的AD模塊采集范圍內,同時為了避免外部信號幅值過高而引起芯片燒毀,在調理電路后應附加鉗位電路,使電壓輸入保持在0~3.3 V,從而確保芯片的正常工作。圖2為單路信號調理電路的整體設計。圖2中輸入信號經R1和R2分壓,通過LM324運放組成的電壓跟隨器并經過鉗位電路輸出信號到DSP的AD采集端口。
3DSP軟件部分設計
3.1AD采集模塊軟件設計
DSP2812的AD模塊共有16個模擬輸入引腳,具有12位的ADC內核,內置有2個采樣保持器S/H-A和S/H-B,時鐘頻率最高為25 MHz。本設計取采用三路AD進行采集,采用級聯模式下的順序采樣,事件管理器的周期中斷啟動AD。AD模塊初始化部分程序如下所示。
void InitAdc(void)
{AdcRegs.ADCTRL1.bit.RESET=1;
AdcRegs.ADCTRL1.bit.SEQ_CASC=1;//單序列模式
AdcRegs.ADCTRL1.bit.CONT_RUN=0; //啟動停止模式
AdcRegs.ADCTRL1.bit.CPS=0;
AdcRegs.ADCTRL1.bit.ACQ_PS=0;//脈沖寬度1個ADC周期
AdcRegs.ADCTRL1.bit.SUSMOD=3;//仿真暫停模式
……
}
ADC模塊共有16個結果寄存器,每個寄存器都是16位,而DSP2812的ADC為12位,結果寄存器的高12位存放轉換結果,低4位被忽略,ADC的轉換特性為
ADResult=(VoltIput-ADCLO)/3.0x65520
式中,ADResult為結果寄存器中的數字量,VoltIput為模擬電壓的輸入值,ADCLO為轉換的參考電平(使用時參考電平接地,ADCLO=0)。本設計中ADC的結果寄存器的值采用AD中斷子程序中進行讀取。
3.2SCI串口發送模塊設計
DSPF2812的SCI模塊為8位的標準異步串行通信接口,可以實現半雙工、雙工或多機之間的通信,同時可以通過更改兩個8位波特率寄存器的值來實現64K種不同的傳輸速率,SCI實現接收或發送程序有查詢和中斷兩種方式實現,本設計中采用查詢方式實現數據的發送。在實際的發送過程中由于SCI的發送數據緩沖寄存器和發送移位寄存器都為8位,而ADC模塊的結果寄存器的值為12位,在發送過程中采用結果寄存器的高8位和低8位依次發送,在上位機接收到高、低8位后在進行重組、計算后得到實際的采樣值。為避免數據接收錯誤或各通道數據錯位等現象,軟件設計中添加了標志位作為發送和接收數據的校驗手段。數據發送和接收時的順序如圖3所示。

設置SCI的波特率為39 200,數據格式為8位數據位,一位停止位,無奇偶校驗位。DSP的串口發送程序如下:
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程序設計
4.1數據接收程序設計
LABVIEW 的功能模板 Instrument I/O/VISA 中包含串行通信常用功能的模塊,串口通信使用的 VISA 庫中的串口通信函數包括VISA配置串口、VISA寫入、VISA讀取、VISA關閉等[5]。
本系統每次讀取2 000個字符數,為確保接收數據的正確,首先通過程序判斷數據發送的標志位AB、CD所在的位置,確定標志位所在的位置后對后續三路信號的數據進行讀取。
確定標志位所在的位置后對后續三路信號的數據進行讀取,字符串的第N+1、N+2位存放的是第一通道數據的高8位和低8位,通過索引取出高、低8位的值并進行組合計算得到SCI發送的第一通道的數據,第二通道與第三通道的數據與第一通道類似,分別為第N+3、N+4位的組合與N+5、N+6的組合。
圖4為循環讀取通道數據的程序,通過循環讀數依次得到各通道的數據并通過重組得到采集的真實數據值從而實現數據的連續采集。

4.2數據存儲程序設計
為了便于數據的后續處理和儲存,本系統增加了數據采集的存儲模塊。
5實驗結果與結論
通過采集由三組蓄電池的三路電壓信號對該設計進行實際測試和驗證,實際測試的三路電壓值輸出前面板圖如圖5所示。通過驗證采集系統采集數據的精度,應用萬用表同時測量穩壓電源輸出的電壓值并與采集系統的測量值進行比較可得,該系統采集的電壓值具有較高的精度,測量數據如表1所示。

通過實際測試表明,該系統可實現外部信號的數據采集,同時可實現采集數據的圖像實時顯示、監測和數據存儲,為分析和研究實驗數據提供了參考依據,本設計在實際測試中通道數量為三路,而該系統可根據實際需要增加采集通道數量。數據采集系統已成功用于車輛狀態監測系統,可實現對車輛的實時信號進行監測,經測試,該系統可以完成至少7路通道的數據采集和存儲。

表1 測量數據
參考文獻:
[1]田瑩瑩,劉鳳林,趙洪亮.基于 LabVIEW 和 DSP 的多路數據采集系統的設計[J].科技信息,2013(7):227-267.
[2]韓豐田.TMS320F281xDSP原理及應用技術[M].北京:清華大學出版社,2009.
[3]張雪華,萬舟,吳建德.基于LabVIEW與DSP串口通信的數據采集系統設計[J].云南大學學報,2009,31(S2):106-111.
[4]徐華中,黃麗萍.基于LabVIEW和DSP串口的多通道電機參數采集系統[J].電子測量技術,2011,34(4):66-69.
[5]熊玉, 韓峻峰 ,潘盛輝. 基于DSP和LabVIEW的汽車行駛姿態參數采集系統設計[J].電子技術應用.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-),男 ,河北保定人,石家莊鐵道大學機械工程學院在讀碩士研究生,研究方向為車輛電子控制技術。
中圖分類號:TP274
文獻標識碼:A
文章編號:1008-9446(2016)03-0038-05