<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > 基于USB接口的通用測試儀的設(shè)計與實(shí)現(xiàn)

          基于USB接口的通用測試儀的設(shè)計與實(shí)現(xiàn)

          作者: 時間:2008-05-15 來源:無憂電子開發(fā)網(wǎng) 收藏

            3 系統(tǒng)軟件設(shè)計[5-7]

          本文引用地址:http://www.ex-cimer.com/article/82648.htm

            F020有8通道100Kbps、12位精度的ADC0以及8通道500Kbps、8位精度的ADC1。考慮到系統(tǒng)靈活性,我們編程使得通道選擇,采樣時間,采樣周期,開關(guān)量的狀態(tài)由用戶在上指定,然后以命令字傳給,具體為:用兩個字節(jié)分別表示該通道是否被選中,每個字節(jié)位上為1表示該通道被選中,否則不被選中。用3個字節(jié)存放采樣周期,其最小單位為50微妙(即最大采樣速率為20K bps),5個字節(jié)存放采樣時間,一個字節(jié)用于開關(guān)量的通斷狀態(tài),為1則接通,反之為切斷。

            3.1 軟件

            為減輕的任務(wù),其采集的原始數(shù)據(jù)直接送給進(jìn)行處理,下位機(jī)的任務(wù)就是進(jìn)行數(shù)據(jù)采集,并把所采集的數(shù)據(jù)通過100傳給,以保證下位機(jī)有高的采樣速率。下位機(jī)的工作流程見圖4。

                  

            3.1.1  下位機(jī)發(fā)送數(shù)據(jù)子程序

            函數(shù): Send_AD_Result();

            參數(shù): 無

            功能: 將AD轉(zhuǎn)換結(jié)果組成幀后,以幀格式發(fā)送給上位機(jī)

                   void Send_AD_Result (void){

                   if(txe==0){

                   wr="0";

                   for(i=0;i

                   wr="1";

                   PORT4=MyData[i];/*數(shù)據(jù)順序存放在內(nèi)存MyData中*/

                   wr="0";

                   }

                   }

                    }

            3.1.2  下位機(jī)接收數(shù)據(jù)子程序

            同理,當(dāng)檢測到100 模塊RXF 為低時,表示內(nèi)部接收緩沖區(qū)有來自100端口的數(shù)據(jù),可以通過八位數(shù)據(jù)總線D0~D7 將數(shù)據(jù)讀出。

            函數(shù): ReceiveData()

            參數(shù): 無

            功能: 查看PC端是否有數(shù)據(jù)送來,如有,則置收到數(shù)據(jù)標(biāo)志

                  void  ReceiveData (void){

                 rd="1";

                 if(rxf==0){/*數(shù)據(jù)緩沖區(qū)有數(shù)據(jù)*/

                 DataNumber+=0x01;//接收數(shù)據(jù)長度加1

                 rd="0"; //讀操作,低電平有效

                 Receive_Data=PINB;//接收數(shù)據(jù)

                  rd="1";

                 }

            3.2  上位機(jī)軟件

            用戶在PC機(jī)上安裝USB100模塊驅(qū)動程序之后,該USB100默認(rèn)成該P(yáng)C的一個虛擬串口,因此在上位機(jī)可以將它當(dāng)作一個串口進(jìn)行處理。上位機(jī)軟件開發(fā)是用VB完成的,與下位機(jī)的通信使用串口控件MSComm。上位機(jī)的主要功能有:

            1) 采樣通道以及開關(guān)量的設(shè)置,輸入模擬量的選擇(電壓、電流,電阻),變換器輸出的單位選擇。

            2) 對下位機(jī)傳來的原始數(shù)據(jù)進(jìn)行處理,并根據(jù)傳感器參數(shù)轉(zhuǎn)換為對應(yīng)的實(shí)際測量值。

            3) 實(shí)時在計算機(jī)屏幕上顯示采樣曲線,并把所采集的數(shù)據(jù)存入數(shù)據(jù)庫,以便能夠隨時查閱。

            4) 對采集的數(shù)據(jù)進(jìn)行頻譜分析,并將分析結(jié)果以曲線形式顯示在屏幕上。

            4   結(jié)束語

            我們采用USB100 專用模塊和C8051F020高速嵌入式設(shè)計的,不僅滿足現(xiàn)場數(shù)據(jù)采集以及相應(yīng)的控制,而且方便與筆記本電腦或臺式機(jī)構(gòu)建虛擬儀器系統(tǒng)。我們在上位機(jī)軟件設(shè)計時考慮到其通用性,根據(jù)實(shí)際需求選用不同的傳感器,在上位機(jī)上進(jìn)行相應(yīng)的選擇,就能得到所需的測量數(shù)據(jù)及曲線,因而該有較強(qiáng)的通用性。本經(jīng)過兩年多來的實(shí)際運(yùn)行,系統(tǒng)運(yùn)行穩(wěn)定可靠,滿足用戶需求。

            參考文獻(xiàn):

            [1] 潘琢金,施國君. C8051FXXX高速SOC單片機(jī)原理及應(yīng)用. 北京:北京航空航天大學(xué)出版社,2002.

            [2] 迅通科技.  USB100數(shù)據(jù)手冊[M]. 哈爾濱:迅通科技有限公,2002.

            [3] 馮國飛,宋蘊(yùn)興. 基于USB數(shù)據(jù)采集卡的設(shè)計與實(shí)現(xiàn)[J]. 微計算機(jī)信息,2005.11:75-76

            [4] 張厚武,姚凱學(xué). 基于C8051F020微控制器的動態(tài)測試儀的設(shè)計[J]. 機(jī)械與電子,2006(8):12-14.

            [5] 陳建平,姚凱學(xué),等. 通用動態(tài)測試系統(tǒng)的設(shè)計與實(shí)現(xiàn). 貴州大學(xué)學(xué)報(自然科學(xué)版), 2004,21(1):79-82.

            [6] 謝瑞和.串行技術(shù)大全.北京:清華大學(xué)出版社,2003.4

            [7] 鄭阿奇,曹戈.Visual Basic實(shí)用教程 北京:電子工業(yè)出版社,2003.


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();