999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種支持USB和以太網(wǎng)端口的數(shù)據(jù)采集器設(shè)計(jì)

2014-06-27 03:43:00宋曉梅鞏學(xué)芳
關(guān)鍵詞:程序

李 楠,宋曉梅,鞏學(xué)芳

(西安工程大學(xué) 電子信息學(xué)院,陜西 西安 710048)

0 引 言

工業(yè)生產(chǎn)和科研研究等行業(yè)中,常需要利用工控機(jī)或PC機(jī)對(duì)溫度、電壓、壓力、電流等各種數(shù)據(jù)進(jìn)行采集處理.數(shù)據(jù)采集系統(tǒng)的任務(wù)是對(duì)生產(chǎn)現(xiàn)場(chǎng)各種參數(shù)進(jìn)行采集,送入計(jì)算機(jī),由計(jì)算機(jī)根據(jù)需要進(jìn)行相應(yīng)的計(jì)算和處理,得到所需數(shù)據(jù),同時(shí)根據(jù)需求對(duì)數(shù)據(jù)進(jìn)行處理[1].現(xiàn)存的多數(shù)數(shù)據(jù)采集系統(tǒng)通常只有一種通信傳輸端口[2-6],如文獻(xiàn)[2]中的系統(tǒng)采用CAN總線端口,文獻(xiàn)[3-4]中的系統(tǒng)采用USB端口,文獻(xiàn)[5-6]中的系統(tǒng)采用以太網(wǎng)端口.由于上述系統(tǒng)缺乏對(duì)多種端口與不同工作模式的支持,從而限制了其更廣泛地應(yīng)用.另外,考慮到USB和以太網(wǎng)通信端口是工業(yè)應(yīng)用中與PC機(jī)連接常用的端口,為此,本文提出了一種基于雙C8051F340處理器架構(gòu)可支持USB和以太網(wǎng)端口的數(shù)據(jù)采集器.該數(shù)據(jù)采集器特點(diǎn)是支持多種工作模式,同時(shí)可將采集數(shù)據(jù)傳輸給PC機(jī)GUI軟件進(jìn)行直觀顯示.

1 方案設(shè)計(jì)

提出的數(shù)據(jù)采集器可將采集的數(shù)據(jù)通過USB和以太網(wǎng)端口傳輸給PC機(jī)GUI軟件進(jìn)行直觀顯示,并具有多種工作模式.考慮到不同通信端口在啟動(dòng)時(shí)間、緩存大小、傳輸速率等方面有較大差異,為了在不同工作模式下既實(shí)現(xiàn)最大采樣頻率與傳輸速率,又防止數(shù)據(jù)丟失,設(shè)計(jì)了如下3種工作模式:(1)USB傳輸模式,A/D采樣頻率為200kHz,一幀數(shù)據(jù)長(zhǎng)度為1 500字節(jié);(2)以太網(wǎng)傳輸模式,A/D采樣頻率為75kHz, 一幀數(shù)據(jù)長(zhǎng)度為320字節(jié);(3)USB和以太網(wǎng)混合傳輸模式,A/D采樣頻率為70kHz, 一幀數(shù)據(jù)長(zhǎng)度為320字節(jié).

數(shù)據(jù)采集器的原理框圖如圖1所示,包括PC機(jī)GUI軟件模塊和數(shù)據(jù)采集、傳輸模塊.采用LabVIEW編寫的GUI軟件可通過USB和以太網(wǎng)端口獲取采集數(shù)據(jù)并直觀顯示;數(shù)據(jù)采集與傳輸模塊實(shí)現(xiàn)數(shù)據(jù)采集、控制和傳輸,包括USB傳輸子模塊和以太網(wǎng)傳輸子模塊,且兩個(gè)子模塊之間采用SPI總線進(jìn)行互聯(lián)通信;USB傳輸子模塊包括信號(hào)的采集、工作模式選擇、數(shù)據(jù)USB傳輸以及數(shù)據(jù)SPI發(fā)送,以太網(wǎng)傳輸子模塊實(shí)現(xiàn)數(shù)據(jù)采樣,帶鎖定按鍵1、2實(shí)現(xiàn)工作模式選擇,模式控制方式如下:若鍵1按下,為USB傳輸模式,采集數(shù)據(jù)由USB端口直接經(jīng)PC機(jī)USB傳給GUI軟件;若鍵2按下,為以太網(wǎng)傳輸模式,采集數(shù)據(jù)采用SPI通信傳給以太網(wǎng)子模塊,C8051F340(2)通過并口控制以太網(wǎng)控制器CP2200,經(jīng)RJ45集成以太網(wǎng)接口HR911175A傳給PC機(jī)GUI軟件;若鍵1,2均按下,則為USB和以太網(wǎng)混合傳輸模式.

圖1 數(shù)據(jù)采集器原理框圖

2 硬件設(shè)計(jì)

數(shù)據(jù)采集器硬件主要涉及數(shù)據(jù)采集與傳輸模塊,該模塊又可細(xì)分為C8051F340單片機(jī)最小系統(tǒng)子模塊、USB傳輸子模塊、以太網(wǎng)傳輸子模塊、SPI通信子模塊,考慮到C8051F340最小系統(tǒng)參考文獻(xiàn)較多,文中不再贅述,下面主要給出其他子模塊的硬件連接關(guān)系.如圖2所示,USB傳輸子模塊中經(jīng)調(diào)理電路處理過的信號(hào)由C8051F340(1)的P2.0引腳輸入,利用片上A/D進(jìn)行采樣,P0.5、P0.7引腳接按鍵,鍵1、鍵2分別對(duì)應(yīng)USB傳輸和以太網(wǎng)傳輸選擇鍵.USB為C8051F340(1)和C8051F340(2)提供5V電壓,均經(jīng)各自REGIN引腳進(jìn)入片上電壓調(diào)節(jié)器生成工作所需的3.3V電壓.以太網(wǎng)傳輸子模塊中C8051F340(2)包括P3、P4在內(nèi)的一些I/O引腳與CP2200對(duì)應(yīng)引腳相連,它們之間是并行通信,CP2200其他引腳如TX-、TX+等與HR911175A對(duì)應(yīng)引腳相連.兩子模塊之間采用SPI通信,采用四線單主機(jī)方式,C8051F340(1)(SPI主機(jī))上P0.0~P0.3分別與C8051F340(2)(SPI從機(jī))上P0.0~P0.2,P0.4相連.

圖2 數(shù)據(jù)采集器主要器件硬件連接關(guān)系

3 軟件設(shè)計(jì)

數(shù)據(jù)采集器軟件設(shè)計(jì)包括單片機(jī)程序和PC機(jī)GUI軟件程序2部分.其中,單片機(jī)程序?qū)崿F(xiàn)工作模式選擇、SPI通信、數(shù)據(jù)采集并通過USB或以太網(wǎng)端口向GUI軟件傳輸數(shù)據(jù);GUI軟件從USB和以太網(wǎng)端口獲取采集數(shù)據(jù)并進(jìn)行圖形化顯示.

3.1 單片機(jī)程序設(shè)計(jì)

單片機(jī)程序設(shè)計(jì)包括C8051F340(1)程序和C8051F340(2)程序2部分.其中,C8051F340(1)程序需實(shí)現(xiàn)工作模式選擇、數(shù)據(jù)采集、數(shù)據(jù)SPI發(fā)送及USB傳輸;C8051F340(2)需通過SPI從C8051F340(1)獲取采集數(shù)據(jù)并實(shí)現(xiàn)以太網(wǎng)傳輸.

圖3 C8051F340(1)主程流程圖

3.1.1 C8051F340(1)程序設(shè)計(jì) C8051F340(1)程序主要包括A/D采樣程序、SPI主機(jī)程序、USB傳輸程序3部分,其主流程圖如圖3所示.C8051F340上電復(fù)位進(jìn)行初始化設(shè)置,包括USB和單片機(jī)初始化,單片機(jī)初始化實(shí)現(xiàn)對(duì)晶振,I/O、定時(shí)器、內(nèi)部中斷、A/D和SPI初始化.然后,掃描鍵1,2的值確定工作模式,若分別為1,0,則為USB工作模式,將采集的一幀數(shù)據(jù)經(jīng)SPI端口傳給PC機(jī);若分別為0,1,則為以太網(wǎng)工作模式,通過SPI通信方式將一幀數(shù)據(jù)發(fā)送給以太網(wǎng)傳輸子模塊,由其與PC機(jī)進(jìn)行以太網(wǎng)傳輸;若分別為1,1,則表示選擇USB和以太網(wǎng)混合傳輸模式.

(1) A/D采樣程序設(shè)計(jì).設(shè)置A/D的參考電壓為VDD(3.3V),采用8位單端采樣,模擬輸入為P2.0引腳,由定時(shí)器2確定A/D采樣頻率(200kHz、75kHz、70kHz).每完成一次數(shù)據(jù)采樣,觸發(fā)A/D中斷,將采樣數(shù)據(jù)存儲(chǔ)到片上RAM中設(shè)置的存儲(chǔ)區(qū),當(dāng)存儲(chǔ)區(qū)采集數(shù)據(jù)長(zhǎng)度為一幀(1 500、320、320字節(jié))時(shí),根據(jù)需要將該幀數(shù)據(jù)通過相應(yīng)方式向外傳輸.另外,為了實(shí)現(xiàn)不間斷采樣,采用“乒乓”制實(shí)現(xiàn)兩存儲(chǔ)區(qū)交替完成數(shù)據(jù)采集和傳輸?shù)娜蝿?wù).

(2) SPI主機(jī)程序設(shè)計(jì).SPI采用四線單主機(jī)連接SPI0工作方式,主機(jī)只發(fā)送,從機(jī)只接收,這種狀態(tài)下從器件接收數(shù)據(jù)的最大傳輸速率為系統(tǒng)時(shí)鐘頻率(48MHz)的1/4.經(jīng)驗(yàn)證,本設(shè)計(jì)中8M為最大傳輸速率,下面為SPI主機(jī)向從機(jī)寫數(shù)據(jù)函數(shù):

void SPI-Write(uchar dat)

{

while(TXBMT==0);//等待發(fā)送緩沖存器為空

SPI0DAT=dat;//向數(shù)據(jù)寄存器寫數(shù)據(jù)

while(SPIF==0);//等待SPI寫完成

SPIF=0;//清除完成中斷標(biāo)志位

}

(3) USB傳輸程序設(shè)計(jì).在設(shè)計(jì)USB傳輸程序時(shí),直接調(diào)用Silicon Labs公司為C8051F340的USB功能開發(fā)的API函數(shù),如USB-Suspend()、Block-Write()等,可使USB通信更易于實(shí)現(xiàn).USB通信基本流程為:調(diào)用USB-Clock-Start(),初始化USB總線時(shí)鐘,調(diào)用USB-Init()使能USB總線,調(diào)用USB-Int-Enable()使能API中斷,調(diào)用Block-Write()向PC機(jī)GUI軟件寫采樣數(shù)據(jù),完成通信后,調(diào)用USB-Suspend()掛起USB中斷.

3.1.2 C8051F340(2)程序設(shè)計(jì) C8051F340(2)程序主要包括以太網(wǎng)傳輸程序、SPI從機(jī)程序,其主流程為單片主程序完成以太網(wǎng)傳輸?shù)某跏蓟O(shè)置,包括單片機(jī)初始化和以太網(wǎng)芯片初始化.建立網(wǎng)絡(luò)連接后,通過SPI口接收從USB傳輸子模塊傳來的一幀數(shù)據(jù),該幀數(shù)據(jù)接收完后,通過以太網(wǎng)接口將該幀數(shù)據(jù)傳輸給PC機(jī).

(1) 以太網(wǎng)傳輸程序設(shè)計(jì).在設(shè)計(jì)以太網(wǎng)傳輸程序時(shí),考慮到UDP協(xié)議傳輸速度快,不必在每次傳輸數(shù)據(jù)時(shí)建立連接,因此采用UDP通信.另外,直接調(diào)用Silicon Labs公司為以太網(wǎng)控制芯片CP2200開發(fā)的TCP/IP庫函數(shù),使UDP通信程序的設(shè)計(jì)簡(jiǎn)單方便.其基本流程為:調(diào)用mn-init()完成UDP協(xié)議棧初始化,調(diào)用establish-network-connection()建立網(wǎng)絡(luò)連接,調(diào)用mn-open()打開一個(gè)數(shù)據(jù)幀包,調(diào)用mn-send()發(fā)送一個(gè)數(shù)據(jù)幀包,調(diào)用mn-abort()關(guān)閉網(wǎng)絡(luò)連接.

(2) SPI從機(jī)程序設(shè)計(jì).SPI從機(jī)接收從主機(jī)傳來的采樣數(shù)據(jù),下面是SPI從機(jī)從主機(jī)讀數(shù)據(jù)函數(shù):

uchar SPI-Read(void)

{

uchar dat;

while(SPI0CFG & 0x01);//等待接收到數(shù)據(jù)

dat=SPI0DAT;//讀數(shù)據(jù)寄存器接收到新數(shù)據(jù)

while(SPIF==0);//等待SPI完成數(shù)據(jù)接收

SPIF=0;//清除傳輸完成中斷標(biāo)志位

return(dat);//從機(jī)返回一個(gè)隨機(jī)數(shù)據(jù)

}

此外,有兩點(diǎn)需要說明:第一,同一信號(hào)多次采樣值不可能完全相同,所以只由C8051F340(1)上A/D進(jìn)行采樣,然后根據(jù)需要將采集數(shù)據(jù)傳給PC機(jī)或以太網(wǎng)子模塊,保證任何傳輸模式中數(shù)據(jù)的一致性;第二,C8051F340片上USB傳輸速率可達(dá)12Mb/s,只進(jìn)行USB傳輸時(shí),設(shè)A/D采樣速率為最大值200ksps;當(dāng)進(jìn)行以太網(wǎng)傳輸時(shí),考慮到A/D采樣、SPI通信、以太網(wǎng)傳輸三者所用時(shí)間影響到采樣數(shù)據(jù)的準(zhǔn)確傳輸,所以對(duì)各自使用時(shí)間進(jìn)行測(cè)試,具體測(cè)試方法如下:使用C8051F340(1)上P1.0口產(chǎn)生方波方式測(cè)得通過SPI通信發(fā)送一幀(320字節(jié))數(shù)據(jù)所用時(shí)間T(spi)=0.66ms,測(cè)試代碼為do{P10=1;SPI-Wdata();P10=0; SPI-Wdata();}while(1);同理,使用C8051F340(2)上P14口產(chǎn)生方波,測(cè)得通過以太網(wǎng)發(fā)送一幀數(shù)據(jù)所用時(shí)間T(udp)=3.3ms,測(cè)試代碼為do{P14=~P14;status2=mn-send(socket-no2,send-data-buff1,SEND-DATA-BUFF-LEN);P14=~P14;status2=mn-send(socket-no2, send-data-buff2,SEND-DATA-BUFF-LEN);}while(1),此時(shí)設(shè)AD采樣速率為75ksps,則采樣時(shí)間T(ad)=4.27ms,此時(shí) T(spi)+T(udp)< T(ad),滿足系統(tǒng)正常工作需求.

3.2 PC機(jī)GUI軟件設(shè)計(jì)

LabVIEW編寫的PC機(jī)GUI軟件可將采集數(shù)據(jù)以圖形方式直觀顯示,包括USB傳輸子模塊和以太網(wǎng)傳輸子模塊2部分.LabVIEW開發(fā)程序分為前面板和程序面板兩部分,前面板是圖形化人機(jī)界面,主要將采集數(shù)據(jù)以圖形方式顯示,可直接獲得數(shù)據(jù)幅值和頻率信息;程序面板完成邏輯功能,主要實(shí)現(xiàn)PC機(jī)與C8051F340(1)的USB通信以及和C8051F340(2)的以太網(wǎng)通信功能.由于前面板較簡(jiǎn)單,故文中只對(duì)程序面板進(jìn)行說明.

USB傳輸子模塊程序面板主要完成GUI軟件和C8051F340(1)之間USB通信,為了方便程序的編寫,直接調(diào)用Silicon LabS公司提供的USBxpress套件中USB主機(jī)API函數(shù)[7].其基本流程為:調(diào)用SI-GetNumDevices()獲取輸入U(xiǎn)SB器件相關(guān)信息,SI-SetTimerouts()設(shè)置USB總線讀延遲,SI-Open()打開USB器件,SI-Read()讀USB器件采集數(shù)據(jù),SI-close()關(guān)閉USB器件,完成整個(gè)通信過程.

以太網(wǎng)傳輸子模塊軟件程序面板主要完成GUI軟件和C8051F340(2)以太網(wǎng)通信.為了提高編程效率,直接調(diào)用LabVIEW軟件中UDP通信包內(nèi)的子VI.其基本流程為:調(diào)用UDP OPEN打開UDP端口,調(diào)用UDP Read從端口讀取數(shù)據(jù),調(diào)用UDP Close關(guān)閉UDP端口,若通信過程中出現(xiàn)錯(cuò)誤,則General Error Handler給出錯(cuò)誤警告.

4 實(shí)驗(yàn)測(cè)試

為了驗(yàn)證本文提出的數(shù)據(jù)采集器的可行性,設(shè)計(jì)了2個(gè)實(shí)驗(yàn),實(shí)驗(yàn)一用于驗(yàn)證USB端口傳輸,實(shí)驗(yàn)二用于驗(yàn)證以太網(wǎng)端口傳輸.信號(hào)源產(chǎn)生的信號(hào)經(jīng)調(diào)理電路處理后,由C8051F340(1)上P2.0引腳輸入,根據(jù)所需傳輸方式按下相應(yīng)按鍵,完成系統(tǒng)連接及操作過程.

4.1 USB端口傳輸

輸入峰峰值為3.3V,頻率為15kHz的正弦信號(hào),其實(shí)驗(yàn)結(jié)果如圖4(a),因?yàn)锳/D參考電壓為3.3V,采用8位采樣,采樣幅值結(jié)果應(yīng)為255滿格,但因參考電壓存在一定誤差,連接線路存在一定衰減,所以采樣得到的結(jié)果為252格(3.26V),由頻域波形圖可直觀得到其ω/2π為0.075,Ω=2πf(其中ω為數(shù)字域頻率,Ω為模擬角頻率,T為采樣時(shí)間間隔,f為輸入信號(hào)頻率),計(jì)算得f為15kHz,與實(shí)際輸入相符.

4.2 以太網(wǎng)端口傳輸

輸入峰峰值為3.3V,頻率為6kHz的正弦信號(hào),其實(shí)驗(yàn)結(jié)果如圖4(b)所示,采樣幅值結(jié)果為252格,頻域波形圖中ω/2π值為0.08.同理,經(jīng)計(jì)算得采樣信號(hào)幅值和頻率分別為3.26V和6kHz,可判斷采樣結(jié)果和實(shí)際輸入相符合.因此,實(shí)驗(yàn)證明本設(shè)計(jì)方案具有可行性.

圖4 不同實(shí)驗(yàn)GUI前面板實(shí)驗(yàn)結(jié)果圖

5 結(jié)束語

本文提出了一種支持USB和以太網(wǎng)端口的數(shù)據(jù)采集器,該采集器采用雙C8051F340架構(gòu),實(shí)現(xiàn)2種傳輸方式及3種工作模式,3種工作模式切換可通過按鍵選擇實(shí)現(xiàn),可方便應(yīng)用于更多場(chǎng)合;采用PC機(jī)LabVIEW編寫的GUI軟件方便采集數(shù)據(jù)直觀顯示,實(shí)驗(yàn)表明本文提出的設(shè)計(jì)方法合理可行且適用于15kHz以下低頻信號(hào).

參考文獻(xiàn):

[1] 孫偉超,尹德強(qiáng),汪定國(guó),等.基于C8051F040的環(huán)境數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].電子測(cè)量技術(shù),2011,34(10):91-95.

[2] 馬訓(xùn)鳴,林曉煥.CAN總線在多通道電液力協(xié)調(diào)加載系統(tǒng)中的應(yīng)用[J].西安工程大學(xué)學(xué)報(bào),2009,23(1):59-62.

[3] 袁寶紅,付奎,張德祥.基于FPGA和LabVIEW的USB數(shù)據(jù)采集與傳輸系統(tǒng)[J].儀表技術(shù)與傳感器,2013(9):24-27.

[4] 張青春.基于LabVIEW和USB接口數(shù)據(jù)采集器的設(shè)計(jì)[J].儀表技術(shù)與傳感器,2012(12):32-34.

[5] 王長(zhǎng)清,張素娟,蔣景紅.基于以太網(wǎng)幀的嵌入式數(shù)據(jù)傳輸方案及實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2011,32(6):1952-1956.

[6] 朱磊,薛謙,石教雄.基于LabVIEW的以太網(wǎng)接口數(shù)據(jù)采集器設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2009,17(4):788-790.

[7] 朱磊,劉東.C8051F340與LabView基于API的USB通信[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2007,11(1): 35-37.

猜你喜歡
程序
給Windows添加程序快速切換欄
電腦愛好者(2020年6期)2020-05-26 09:27:33
試論我國(guó)未決羈押程序的立法完善
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國(guó)與歐盟正式啟動(dòng)“離婚”程序程序
基于VMM的程序行為異常檢測(cè)
偵查實(shí)驗(yàn)批準(zhǔn)程序初探
我國(guó)刑事速裁程序的構(gòu)建
創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
恐怖犯罪刑事訴訟程序的完善
主站蜘蛛池模板: 国产玖玖视频| 久久久久亚洲AV成人网站软件| 免费无码一区二区| 一级香蕉视频在线观看| 找国产毛片看| 自拍偷拍欧美日韩| 国产十八禁在线观看免费| 免费毛片视频| 亚洲无线观看| 伊人久久大香线蕉aⅴ色| 婷婷亚洲视频| 亚洲精品在线影院| 日本精品影院| 91啦中文字幕| 亚洲AV无码久久精品色欲| 黄色网页在线观看| 日本人妻一区二区三区不卡影院| 少妇露出福利视频| 国产一国产一有一级毛片视频| 亚洲精选无码久久久| 国产区精品高清在线观看| 亚洲精品福利网站| 3344在线观看无码| 无套av在线| 亚洲乱码视频| 26uuu国产精品视频| 一区二区在线视频免费观看| 亚洲色图欧美激情| 爽爽影院十八禁在线观看| 久久国产精品麻豆系列| 国产情侣一区二区三区| 国产超碰一区二区三区| 人妖无码第一页| 午夜无码一区二区三区在线app| 亚洲最大看欧美片网站地址| 在线免费观看a视频| 国产91小视频| 亚洲天堂网在线视频| 欧美人与性动交a欧美精品| 国产在线精品香蕉麻豆| 久久综合色88| 亚洲另类第一页| 午夜色综合| 国产一级毛片yw| 多人乱p欧美在线观看| 国产精品女熟高潮视频| 人妻91无码色偷偷色噜噜噜| 91一级片| 91啦中文字幕| 正在播放久久| 国产色网站| 日本少妇又色又爽又高潮| 婷婷综合色| 精品国产免费第一区二区三区日韩| 日韩美毛片| 亚洲日本一本dvd高清| 亚洲中文字幕久久精品无码一区| 久久免费成人| 91精品久久久久久无码人妻| 中文字幕乱妇无码AV在线| 久久精品日日躁夜夜躁欧美| 亚洲成人黄色在线| 免费国产高清视频| 99福利视频导航| 中文字幕va| 精品一区二区三区自慰喷水| 99在线观看免费视频| 久久综合干| 国产精品无码翘臀在线看纯欲| 久久公开视频| av在线人妻熟妇| 手机成人午夜在线视频| 在线视频亚洲欧美| 欧美一区二区自偷自拍视频| 91福利片| 亚洲精品成人福利在线电影| 久久精品女人天堂aaa| 亚洲日本韩在线观看| 欧美无专区| 国产aⅴ无码专区亚洲av综合网 | 乱人伦99久久| 538国产视频|