新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 基于USB接口的通用測試儀的設計與實現

        基于USB接口的通用測試儀的設計與實現

        作者: 時間:2008-05-15 來源:無憂電子開發網 收藏

          3 系統軟件設計[5-7]

        本文引用地址:http://www.104case.com/article/82648.htm

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

          3.1 軟件

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

                

          3.1.1  下位機發送數據子程序

          函數: Send_AD_Result();

          參數: 無

          功能: 將AD轉換結果組成幀后,以幀格式發送給上位機

                 void Send_AD_Result (void){

                 if(txe==0){

                 wr="0";

                 for(i=0;i

                 wr="1";

                 PORT4=MyData[i];/*數據順序存放在內存MyData中*/

                 wr="0";

                 }

                 }

                  }

          3.1.2  下位機接收數據子程序

          同理,當檢測到100 模塊RXF 為低時,表示內部接收緩沖區有來自100端口的數據,可以通過八位數據總線D0~D7 將數據讀出。

          函數: ReceiveData()

          參數: 無

          功能: 查看PC端是否有數據送來,如有,則置收到數據標志

                void  ReceiveData (void){

               rd="1";

               if(rxf==0){/*數據緩沖區有數據*/

               DataNumber+=0x01;//接收數據長度加1

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

               Receive_Data=PINB;//接收數據

                rd="1";

               }

          3.2  上位機軟件

          用戶在PC機上安裝USB100模塊驅動程序之后,該USB100默認成該PC的一個虛擬串口,因此在上位機可以將它當作一個串口進行處理。上位機軟件開發是用VB完成的,與下位機的通信使用串口控件MSComm。上位機的主要功能有:

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

          2) 對下位機傳來的原始數據進行處理,并根據傳感器參數轉換為對應的實際測量值。

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

          4) 對采集的數據進行頻譜分析,并將分析結果以曲線形式顯示在屏幕上。

          4   結束語

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

          參考文獻:

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

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

          [3] 馮國飛,宋蘊興. 基于USB數據采集卡的設計與實現[J]. 微計算機信息,2005.11:75-76

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

          [5] 陳建平,姚凱學,等. 通用動態測試系統的設計與實現. 貴州大學學報(自然科學版), 2004,21(1):79-82.

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

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


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 宁都县| 萨迦县| 方正县| 贺兰县| 忻城县| 邮箱| 大同县| 凤山县| 阳泉市| 昭平县| 寿光市| 长汀县| 新疆| 永清县| 大邑县| 海宁市| 上思县| 阿尔山市| 丰原市| 师宗县| 股票| 安丘市| 元谋县| 邯郸县| 辉南县| 商城县| 汉阴县| 沙湾县| 锡林郭勒盟| 格尔木市| 车险| 介休市| 桐乡市| 海伦市| 庄河市| 巨鹿县| 华宁县| 湘阴县| 新建县| 鞍山市| 城固县|