《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 設(shè)計應(yīng)用 > 基于LabVIEW與USB接口的實時數(shù)據(jù)采集系統(tǒng)
基于LabVIEW與USB接口的實時數(shù)據(jù)采集系統(tǒng)
摘要: 工程上使用具有PCI、PXI、USB,、并口以及串口的計算機來獲取測試數(shù)據(jù),,稱為基于PC的數(shù)據(jù)采集系統(tǒng)。其中一種是通過插入式的數(shù)據(jù)采集卡直接獲取數(shù)據(jù)傳輸給計算機,。鑒于數(shù)據(jù)采集卡的價格昂貴,且安裝不方便等缺點,本文提出使用STC單片機作為前端的數(shù)據(jù)采集系統(tǒng),,利用CH341T芯片的USB總線轉(zhuǎn)異步串口的功能,將采集數(shù)據(jù)只通過一條USB線傳輸給PC機,,最后在LabVIEW平臺下進行數(shù)據(jù)的顯示,、分析、處理,。
Abstract:
Key words :


1 數(shù)據(jù)采集系統(tǒng)   

工程上使用具有PCI,、PXI、USB,、并口以及串口的計算機來獲取測試數(shù)據(jù),,稱為基于PC的數(shù)據(jù)采集系統(tǒng)。其中一種是通過插入式的數(shù)據(jù)采集卡直接獲取數(shù)據(jù)傳輸給計算機,。鑒于數(shù)據(jù)采集卡的價格昂貴,,且安裝不方便等缺點,本文提出使用STC單片機作為前端的數(shù)據(jù)采集系統(tǒng),,利用CH341T芯片的USB總線轉(zhuǎn)異步串口的功能,,將采集數(shù)據(jù)只通過一條USB線傳輸給PC機,,最后在LabVIEW平臺下進行數(shù)據(jù)的顯示、分析,、處理,。

1.1 系統(tǒng)組成與工作原理   

本系統(tǒng)總體結(jié)構(gòu)框圖如圖1所示。主要包括有STC12C5410AD單片機和CH341T轉(zhuǎn)換芯片組成的數(shù)據(jù)采集,、轉(zhuǎn)換,、傳輸部分,以及基于PC機的LabVlEW軟件構(gòu)成的數(shù)據(jù)處理部分,。首先,,被測電壓模擬信號通過電平變換電路進入STC單片機的AD轉(zhuǎn)換通道,待轉(zhuǎn)換完成后利用CH341T芯片的USB轉(zhuǎn)串口的功能,,通過USB接口傳輸給PC機,,最后由LabVIEW軟件分析處理。

2 下位機系統(tǒng)設(shè)計   

2.1 硬件設(shè)計部分   

系統(tǒng)硬件原理圖如圖2所示,。系統(tǒng)采用的MCU為STC12C5410AD,,采用的USB接口芯片為CH- 341T,利用該芯片的USB轉(zhuǎn)串口的功能將數(shù)據(jù)傳輸?shù)缴衔粰C,,從而構(gòu)成數(shù)據(jù)采集系統(tǒng),。

2.1.1 STC12C5410AD單片機   

STC12C5410AD系列單片機是單時鐘/機器周期(1T)的兼容8051內(nèi)核單片機,是高速/低功耗的新一代增強型8051單片機,,內(nèi)部集成MAX810專用復(fù)位電路,。10KBFLASH程序存儲器,512字節(jié)SRAM,,有8路10位高速A/D轉(zhuǎn)換器,,速度可達100KHz。實際工作頻率可達48MHz,。在應(yīng)用時,,需根據(jù)實際情況設(shè)定晶振頻率,本系統(tǒng)采用11.0592MHz的晶振,。本例中采用P1.0作為A/D轉(zhuǎn)換通道,。由于各A/D轉(zhuǎn)換通道的輸入電壓范圍為0~5V,對于雙極性信號來說,,直接輸入會被削掉負半波,。為了解決上述問題,采用了高速低噪聲雙運算放大器NE5532,,根據(jù)運放電路的虛短,、虛斷原則,其輸出OUT=2.5-IN??梢詫?2.5v~2.5V的電平轉(zhuǎn)換到0~5v,,這樣滿足了輸入信號的雙極性要求。

2.1.2 CH341T芯片   

隨著計算機通訊技術(shù)的不斷發(fā)展,,串口的通訊速度越來越不能滿足現(xiàn)在的通信要求,。因此越來越多的計算機,尤其是筆記本電腦都不再保留串行接口,,取而代之的是方便,、高速、標準的USB接口,。然而對于需要用串口通信的設(shè)備來說,,是個麻煩的問題。為了解決這個問題,,本系統(tǒng)采用CH341T芯片將單片機通過USB接口直接連接到PC機上,方便了沒有串口的上位機與下位機的通信,,解決了上位機沒有串行接口的問題,。CH341T芯片的特點如下:   

(1)仿真標準串口,用于升級原串口外圍設(shè)備,,或者通過USB增加額外串口,。

(2)計算機端Windows操作系統(tǒng)下的串口應(yīng)用程序完全兼容,無需修改,。

(3)硬件全雙工串口,,內(nèi)置收發(fā)緩沖區(qū),支持通訊波特率50b/s~2Mb/s,。

(4)支持5,、6、7或者8個數(shù)據(jù)位,,支持奇校驗,、偶校驗、空白,、標志以及無校驗,。

2.2 軟件設(shè)計部分   

本系統(tǒng)將STCl2C5410AD的P1.0口作為A/D轉(zhuǎn)換的通道,要使用A/D轉(zhuǎn)換功能就必須進行相應(yīng)的寄存器設(shè)置,。STC單片機的寄存器見表1所示,。

1)P1M0,P1M1:P1口工作模式設(shè)置PlM0=0x01,,P1M1=0x01,。將P1口設(shè)置為開漏模式。

2)ADC CONTR:A/D轉(zhuǎn)換控制器   ADC_POWER:ADC電源控制位,。

ADC_ POWER=0:關(guān)閉ADC電源,。ADC POWER=1:打開A/D轉(zhuǎn)換器電源,,初次打開內(nèi)部A/D轉(zhuǎn)換模擬電源,需適當延時,,等內(nèi)部模擬電源穩(wěn)定后,,再啟動A/D轉(zhuǎn)換。

ADC_START:模數(shù)轉(zhuǎn)換器(ADC)轉(zhuǎn)換啟動控制位,,設(shè)置為1時,,開始轉(zhuǎn)換,轉(zhuǎn)換結(jié)束后為0,。

SPEED1,,SPEED0:模數(shù)轉(zhuǎn)換器轉(zhuǎn)換速度控制位。

ADC_FLAG:模數(shù)轉(zhuǎn)換器轉(zhuǎn)換結(jié)束標志位,,當A/D轉(zhuǎn)換完成后,,ADC_FLAG=1,一定要軟件清0,。

CHS2/CHS1/CHS0:模擬輸入通道選擇如表2所示,。

下位機程序流程圖如圖3所示。

下位機的程序主要包括三個部分:串口初始化子程序,、A/D轉(zhuǎn)換初始化子程序,、串口發(fā)送子程序。其中A/D轉(zhuǎn)換初始化子程序主要是設(shè)置ADC CONTR,、P1M0,、P1M1等寄存器。

3 上位機系統(tǒng)設(shè)計   

3.1 CH341T驅(qū)動程序   

在與上位機通信之前,,必須安裝CH341T的驅(qū)動程序,,這可從公司網(wǎng)站下載。待其驅(qū)動程序安裝完成后,,會自動在計算機設(shè)備管理器的端口欄虛擬出一個串口,,這個虛擬串口與計算機原有的COM口對應(yīng)用程序來說是一樣的。通過選擇這個虛擬串口,,就可與下位機通信了,。

3.2 LabVIEW程序設(shè)計   

VISA(Virtual Instrument Software Architecture)是美國國家儀器公司開發(fā)的一種用來與各種儀器總線進行通信的高級應(yīng)用編程接口。VISA庫駐留于計算機系統(tǒng)中,,完成計算機與儀器之間軟件的連接,,用以實現(xiàn)對儀器的程序控制,其實質(zhì)是用于虛擬儀器系統(tǒng)的標準的API,,VISA本身不具備編程能力,,它是一個高層API,通過調(diào)用底層驅(qū)動程序來實現(xiàn)對儀器的編程。

本設(shè)計采用了LabviEW的VISA的串行通訊子VI來開發(fā)串行通信軟件,。其中包括VISA(Configure Serial Port.Vi:將指定的串口按特定設(shè)置初始化,。VISA Write.Vi:將寫入緩沖區(qū)的數(shù)據(jù)寫入指定的設(shè)備或接口中。VISA Read.vi:從指定的設(shè)備或接口中讀取指定數(shù)量的字節(jié),,并將數(shù)據(jù)返回至讀取緩沖區(qū),。VISA Close.Vi:將打開的串口關(guān)閉。首先利用VISA Conf- igure Serial Port.vi進行串口初始化,,其中設(shè)置讀取和寫入操作的超時為10s,,波特率為9600,8位數(shù)據(jù)位,,無奇偶校驗位,,1為停止位,無流控制,。然后打開串口,,將讀取緩沖區(qū)的數(shù)據(jù)傳輸?shù)讲ㄐ螆D表進行實時顯示,同時利用移位寄存器和連接字符串控件將采集的數(shù)據(jù)存儲在接收數(shù)據(jù)區(qū)中,,當采集的數(shù)據(jù)達到950個時,,對其進行幅值譜變換并顯示。同時清空接收數(shù)據(jù)區(qū),,為下一次采集做準備。LabVIEW程序框圖如圖4所示,。

4 系統(tǒng)測試與結(jié)果   

為了測試系統(tǒng)的可靠性,,將系統(tǒng)的P1.0口和電源地與DG 2041A數(shù)字信號發(fā)生器連接進行測試。信號發(fā)生器產(chǎn)生頻率為100Hz,,峰峰值為3V,,其中高電平1.5V,低電平-1.5V的正弦波信號,,通過電平變換電路得到低電平為1v,、高電平為4V的正弦波。將A/D轉(zhuǎn)換后的數(shù)據(jù)傳到Lab- VIEW中,,在顯示之前要減去2.5V電壓的A/D轉(zhuǎn)換值128,,同時還要設(shè)置波形圖表Y軸的縮放比例為0.02,這樣就可以正確顯示了,。通過設(shè)計的系統(tǒng)進行采集在LabVIEW軟件上顯示的結(jié)果如圖5所示,。

5 結(jié)束語   

本文將STC單片機作為數(shù)據(jù)采集的前端,經(jīng)過CH341T芯片的轉(zhuǎn)換,,利用USB接口與LabVIEW完成通訊,。同時利用LabVIEW強大的信號分析處理能力,對信號進行了實時顯示,并對信號進行了頻譜分析,。經(jīng)過對系統(tǒng)的調(diào)試和完善,,實驗證明,采集的信號可以滿足要求,,系統(tǒng)運行良好,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。