1 數據采集系統 工程上使用具有PCI、PXI、USB、并口以及串口的計算機來(lái)獲取測試數據,稱(chēng)為基于PC的數據采集系統。其中一種是通過(guò)插入式的數據采集卡直接獲取數據傳輸給計算機。鑒于數據采集卡的價(jià)格昂貴,且安裝不方便等缺點(diǎn),本文提出使用STC單片機作為前端的數據采集系統,利用CH341T芯片的USB總線(xiàn)轉異步串口的功能,將采集數據只通過(guò)一條USB線(xiàn)傳輸給PC機,最后在LabVIEW平臺下進(jìn)行數據的顯示、分析、處理。 1.1 系統組成與工作原理 本系統總體結構框圖如圖1所示。主要包括有STC12C5410AD單片機和CH341T轉換芯片組成的數據采集、轉換、傳輸部分,以及基于PC機的 LabVlEW軟件構成的數據處理部分。首先,被測電壓模擬信號通過(guò)電平變換電路進(jìn)入STC單片機的AD轉換通道,待轉換完成后利用CH341T芯片的 USB轉串口的功能,通過(guò)USB接口傳輸給PC機,最后由LabVIEW軟件分析處理。 ![]() 2 下位機系統設計 2.1 硬件設計部分 系統硬件原理圖如圖2所示。系統采用的MCU為STC12C5410AD,采用的USB接口芯片為CH- 341T,利用該芯片的USB轉串口的功能將數據傳輸到上位機,從而構成數據采集系統。 ![]() 2.1.1 STC12C5410AD單片機 STC12C5410AD系列單片機是單時(shí)鐘/機器周期(1T)的兼容8051內核單片機,是高速/低功耗的新一代增強型8051單片機,內部集成MAX810專(zhuān)用復位電路。10KBFLASH程序存儲器,512字節SRAM,有8路10位高速A/D轉換器,速度可達100KHz。實(shí)際工作頻率可達48MHz。在應用時(shí),需根據實(shí)際情況設定晶振頻率,本系統采用11.0592MHz的晶振。本例中采用P1.0作為A/D轉換通道。由于各A/D轉換通道的輸入電壓范圍為0~5V,對于雙極性信號來(lái)說(shuō),直接輸入會(huì )被削掉負半波。為了解決上述問(wèn)題,采用了高速低噪聲雙運算放大器NE5532,根據運放電路的虛短、虛斷原則,其輸出OUT=2.5-IN?梢詫-2.5v~2.5V的電平轉換到0~5v,這樣滿(mǎn)足了輸入信號的雙極性要求。 2.1.2 CH341T芯片 隨著(zhù)計算機通訊技術(shù)的不斷發(fā)展,串口的通訊速度越來(lái)越不能滿(mǎn)足現在的通信要求。因此越來(lái)越多的計算機,尤其是筆記本電腦都不再保留串行接口,取而代之的是方便、高速、標準的USB接口。然而對于需要用串口通信的設備來(lái)說(shuō),是個(gè)麻煩的問(wèn)題。為了解決這個(gè)問(wèn)題,本系統采用CH341T芯片將單片機通過(guò)USB接口直接連接到PC機上,方便了沒(méi)有串口的上位機與下位機的通信,解決了上位機沒(méi)有串行接口的問(wèn)題。CH341T芯片的特點(diǎn)如下: (1)仿真標準串口,用于升級原串口外圍設備,或者通過(guò)USB增加額外串口。 (2)計算機端Windows操作系統下的串口應用程序完全兼容,無(wú)需修改。 (3)硬件全雙工串口,內置收發(fā)緩沖區,支持通訊波特率50b/s~2Mb/s。 (4)支持5、6、7或者8個(gè)數據位,支持奇校驗、偶校驗、空白、標志以及無(wú)校驗。 2.2 軟件設計部分 本系統將STCl2C5410AD的P1.0口作為A/D轉換的通道,要使用A/D轉換功能就必須進(jìn)行相應的寄存器設置。STC單片機的寄存器見(jiàn)表1所示。 1)P1M0,P1M1:P1口工作模式設置PlM0=0x01,P1M1=0x01。將P1口設置為開(kāi)漏模式。 2)ADC CONTR:A/D轉換控制器 ADC_POWER:ADC電源控制位。 ADC_ POWER=0:關(guān)閉ADC電源。ADC POWER=1:打開(kāi)A/D轉換器電源,初次打開(kāi)內部A/D轉換模擬電源,需適當延時(shí),等內部模擬電源穩定后,再啟動(dòng)A/D轉換。 ADC_START:模數轉換器(ADC)轉換啟動(dòng)控制位,設置為1時(shí),開(kāi)始轉換,轉換結束后為0。 SPEED1,SPEED0:模數轉換器轉換速度控制位。 ADC_FLAG:模數轉換器轉換結束標志位,當A/D轉換完成后,ADC_FLAG=1,一定要軟件清0。 CHS2/CHS1/CHS0:模擬輸入通道選擇如表2所示。 ![]() 下位機程序流程圖如圖3所示。下位機的程序主要包括三個(gè)部分:串口初始化子程序、A/D轉換初始化子程序、串口發(fā)送子程序。其中A/D轉換初始化子程序主要是設置ADC CONTR、P1M0、P1M1等寄存器。 ![]() 3 上位機系統設計 3.1 CH341T驅動(dòng)程序 在與上位機通信之前,必須安裝CH341T的驅動(dòng)程序,這可從公司網(wǎng)站下載。待其驅動(dòng)程序安裝完成后,會(huì )自動(dòng)在計算機設備管理器的端口欄虛擬出一個(gè)串口,這個(gè)虛擬串口與計算機原有的COM口對應用程序來(lái)說(shuō)是一樣的。通過(guò)選擇這個(gè)虛擬串口,就可與下位機通信了。 3.2 LabVIEW程序設計 VISA(Virtual Instrument Software Architecture)是美國國家儀器公司開(kāi)發(fā)的一種用來(lái)與各種儀器總線(xiàn)進(jìn)行通信的高級應用編程接口。VISA庫駐留于計算機系統中,完成計算機與儀器之間軟件的連接,用以實(shí)現對儀器的程序控制,其實(shí)質(zhì)是用于虛擬儀器系統的標準的API,VISA本身不具備編程能力,它是一個(gè)高層API,通過(guò)調用底層驅動(dòng)程序來(lái)實(shí)現對儀器的編程。 本設計采用了LabviEW的VISA的串行通訊子VI來(lái)開(kāi)發(fā)串行通信軟件。其中包括VISA(Configure Serial Port.Vi:將指定的串口按特定設置初始化。VISA Write.Vi:將寫(xiě)入緩沖區的數據寫(xiě)入指定的設備或接口中。VISA Read.vi:從指定的設備或接口中讀取指定數量的字節,并將數據返回至讀取緩沖區。VISA Close.Vi:將打開(kāi)的串口關(guān)閉。首先利用VISA Conf- igure Serial Port.vi進(jìn)行串口初始化,其中設置讀取和寫(xiě)入操作的超時(shí)為10s,波特率為9600,8位數據位,無(wú)奇偶校驗位,1為停止位,無(wú)流控制。然后打開(kāi)串口,將讀取緩沖區的數據傳輸到波形圖表進(jìn)行實(shí)時(shí)顯示,同時(shí)利用移位寄存器和連接字符串控件將采集的數據存儲在接收數據區中,當采集的數據達到950個(gè)時(shí),對其進(jìn)行幅值譜變換并顯示。同時(shí)清空接收數據區,為下一次采集做準備。LabVIEW程序框圖如圖4所示。 ![]() 4 系統測試與結果 為了測試系統的可靠性,將系統的P1.0口和電源地與DG 2041A數字信號發(fā)生器連接進(jìn)行測試。信號發(fā)生器產(chǎn)生頻率為100Hz,峰峰值為3V,其中高電平1.5V,低電平-1.5V的正弦波信號,通過(guò)電平變換電路得到低電平為1v、高電平為4V的正弦波。將A/D轉換后的數據傳到Lab- VIEW中,在顯示之前要減去2.5V電壓的A/D轉換值128,同時(shí)還要設置波形圖表Y軸的縮放比例為0.02,這樣就可以正確顯示了。通過(guò)設計的系統進(jìn)行采集在LabVIEW軟件上顯示的結果如圖5所示。 ![]() 5 結束語(yǔ) 本文將STC單片機作為數據采集的前端,經(jīng)過(guò)CH341T芯片的轉換,利用USB接口與LabVIEW完成通訊。同時(shí)利用LabVIEW強大的信號分析處理能力,對信號進(jìn)行了實(shí)時(shí)顯示,并對信號進(jìn)行了頻譜分析。經(jīng)過(guò)對系統的調試和完善,實(shí)驗證明,采集的信號可以滿(mǎn)足要求,系統運行良好。 作者:鄭雁階 黃惟公 張丹 來(lái)源:電子技術(shù) |