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

一種支持USB和以太網端口的數據采集器設計

2014-06-27 03:43:00宋曉梅鞏學芳
西安工程大學學報 2014年5期
關鍵詞:程序

李 楠,宋曉梅,鞏學芳

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

0 引 言

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

1 方案設計

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

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

圖1 數據采集器原理框圖

2 硬件設計

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

圖2 數據采集器主要器件硬件連接關系

3 軟件設計

數據采集器軟件設計包括單片機程序和PC機GUI軟件程序2部分.其中,單片機程序實現工作模式選擇、SPI通信、數據采集并通過USB或以太網端口向GUI軟件傳輸數據;GUI軟件從USB和以太網端口獲取采集數據并進行圖形化顯示.

3.1 單片機程序設計

單片機程序設計包括C8051F340(1)程序和C8051F340(2)程序2部分.其中,C8051F340(1)程序需實現工作模式選擇、數據采集、數據SPI發送及USB傳輸;C8051F340(2)需通過SPI從C8051F340(1)獲取采集數據并實現以太網傳輸.

圖3 C8051F340(1)主程流程圖

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

(1) A/D采樣程序設計.設置A/D的參考電壓為VDD(3.3V),采用8位單端采樣,模擬輸入為P2.0引腳,由定時器2確定A/D采樣頻率(200kHz、75kHz、70kHz).每完成一次數據采樣,觸發A/D中斷,將采樣數據存儲到片上RAM中設置的存儲區,當存儲區采集數據長度為一幀(1 500、320、320字節)時,根據需要將該幀數據通過相應方式向外傳輸.另外,為了實現不間斷采樣,采用“乒乓”制實現兩存儲區交替完成數據采集和傳輸的任務.

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

void SPI-Write(uchar dat)

{

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

SPI0DAT=dat;//向數據寄存器寫數據

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

SPIF=0;//清除完成中斷標志位

}

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

3.1.2 C8051F340(2)程序設計 C8051F340(2)程序主要包括以太網傳輸程序、SPI從機程序,其主流程為單片主程序完成以太網傳輸的初始化設置,包括單片機初始化和以太網芯片初始化.建立網絡連接后,通過SPI口接收從USB傳輸子模塊傳來的一幀數據,該幀數據接收完后,通過以太網接口將該幀數據傳輸給PC機.

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

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

uchar SPI-Read(void)

{

uchar dat;

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

dat=SPI0DAT;//讀數據寄存器接收到新數據

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

SPIF=0;//清除傳輸完成中斷標志位

return(dat);//從機返回一個隨機數據

}

此外,有兩點需要說明:第一,同一信號多次采樣值不可能完全相同,所以只由C8051F340(1)上A/D進行采樣,然后根據需要將采集數據傳給PC機或以太網子模塊,保證任何傳輸模式中數據的一致性;第二,C8051F340片上USB傳輸速率可達12Mb/s,只進行USB傳輸時,設A/D采樣速率為最大值200ksps;當進行以太網傳輸時,考慮到A/D采樣、SPI通信、以太網傳輸三者所用時間影響到采樣數據的準確傳輸,所以對各自使用時間進行測試,具體測試方法如下:使用C8051F340(1)上P1.0口產生方波方式測得通過SPI通信發送一幀(320字節)數據所用時間T(spi)=0.66ms,測試代碼為do{P10=1;SPI-Wdata();P10=0; SPI-Wdata();}while(1);同理,使用C8051F340(2)上P14口產生方波,測得通過以太網發送一幀數據所用時間T(udp)=3.3ms,測試代碼為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),此時設AD采樣速率為75ksps,則采樣時間T(ad)=4.27ms,此時 T(spi)+T(udp)< T(ad),滿足系統正常工作需求.

3.2 PC機GUI軟件設計

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

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

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

4 實驗測試

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

4.1 USB端口傳輸

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

4.2 以太網端口傳輸

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

圖4 不同實驗GUI前面板實驗結果圖

5 結束語

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

參考文獻:

[1] 孫偉超,尹德強,汪定國,等.基于C8051F040的環境數據采集系統設計[J].電子測量技術,2011,34(10):91-95.

[2] 馬訓鳴,林曉煥.CAN總線在多通道電液力協調加載系統中的應用[J].西安工程大學學報,2009,23(1):59-62.

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

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

[5] 王長清,張素娟,蔣景紅.基于以太網幀的嵌入式數據傳輸方案及實現[J].計算機工程與設計,2011,32(6):1952-1956.

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

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

猜你喜歡
程序
給Windows添加程序快速切換欄
電腦愛好者(2020年6期)2020-05-26 09:27:33
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
基于VMM的程序行為異常檢測
偵查實驗批準程序初探
我國刑事速裁程序的構建
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
恐怖犯罪刑事訴訟程序的完善
主站蜘蛛池模板: 亚洲福利视频一区二区| 国产一区二区三区在线无码| 欧美人与牲动交a欧美精品| 国产亚洲精品在天天在线麻豆 | h网址在线观看| 在线免费看黄的网站| 亚洲成年人网| 国外欧美一区另类中文字幕| 国产一区二区精品福利| 国产最爽的乱婬视频国语对白 | 美女一区二区在线观看| 一级毛片在线直接观看| WWW丫丫国产成人精品| 亚洲精品无码抽插日韩| 污污网站在线观看| 国产农村1级毛片| 99久久精品免费观看国产| 精品久久久久久中文字幕女| 亚洲制服中文字幕一区二区| 亚洲三级a| 亚洲色中色| 国产日产欧美精品| 香蕉久久永久视频| 亚洲成a人片7777| 男人天堂亚洲天堂| 久久综合AV免费观看| 国产一区免费在线观看| 亚洲无码熟妇人妻AV在线| 国产在线视频欧美亚综合| 免费在线一区| 亚洲日本中文字幕天堂网| 中国一级毛片免费观看| 日本成人一区| 亚洲国产精品无码AV| 国产爽歪歪免费视频在线观看| 久久综合色播五月男人的天堂| 国产区免费| 久久这里只有精品2| 亚洲日产2021三区在线| 激情六月丁香婷婷四房播| 国产成人综合网| 国产成人精品2021欧美日韩| 久久国产精品麻豆系列| 国产剧情一区二区| 综1合AV在线播放| 欧美一区二区福利视频| 91在线精品麻豆欧美在线| 亚洲妓女综合网995久久| 国产成人无码综合亚洲日韩不卡| 国产成人做受免费视频| 欧美 亚洲 日韩 国产| 国产区人妖精品人妖精品视频| 99中文字幕亚洲一区二区| 国产精品第一区在线观看| 欧美精品啪啪| 久久久亚洲国产美女国产盗摄| 亚洲人成网站观看在线观看| 国产97色在线| 三级毛片在线播放| 伊人色天堂| 精品国产成人a在线观看| 久久精品一品道久久精品| 色噜噜狠狠色综合网图区| 亚洲成aⅴ人片在线影院八| 国产高清无码麻豆精品| 国产va在线观看| 国产老女人精品免费视频| 欧美成人午夜在线全部免费| 国产精品久久久久久久久| 久久精品丝袜| 毛片基地美国正在播放亚洲 | 香蕉网久久| 欧亚日韩Av| 在线观看国产精美视频| 一级看片免费视频| 在线国产三级| 免费观看三级毛片| 秘书高跟黑色丝袜国产91在线| 久热这里只有精品6| 国产亚洲高清视频| 中文字幕乱码二三区免费| 精品色综合|