基于USB接口的通用測試儀的設計與實現(xiàn)
3 系統(tǒng)軟件設計[5-7]
本文引用地址:http://m.butianyuan.cn/article/82648.htmF020有8通道100Kbps、12位精度的ADC0以及8通道500Kbps、8位精度的ADC1??紤]到系統(tǒng)靈活性,我們編程使得通道選擇,采樣時間,采樣周期,開關量的狀態(tài)由用戶在上位機上指定,然后以命令字傳給下位機,具體為:用兩個字節(jié)分別表示該通道是否被選中,每個字節(jié)位上為1表示該通道被選中,否則不被選中。用3個字節(jié)存放采樣周期,其最小單位為50微妙(即最大采樣速率為20K bps),5個字節(jié)存放采樣時間,一個字節(jié)用于開關量的通斷狀態(tài),為1則接通,反之為切斷。
3.1 下位機軟件
為減輕下位機的任務,其采集的原始數(shù)據(jù)直接送給上位機進行處理,下位機的任務就是進行數(shù)據(jù)采集,并把所采集的數(shù)據(jù)通過USB100傳給上位機,以保證下位機有高的采樣速率。下位機的工作流程見圖4。
3.1.1 下位機發(fā)送數(shù)據(jù)子程序
函數(shù): Send_AD_Result();
參數(shù): 無
功能: 將AD轉換結果組成幀后,以幀格式發(fā)送給上位機
void Send_AD_Result (void){
if(txe==0){
wr="0";
for(i=0;i
wr="1";
PORT4=MyData[i];/*數(shù)據(jù)順序存放在內存MyData中*/
wr="0";
}
}
}
3.1.2 下位機接收數(shù)據(jù)子程序
同理,當MCU檢測到USB100 模塊RXF 為低時,表示內部接收緩沖區(qū)有來自USB100端口的數(shù)據(jù),可以通過八位數(shù)據(jù)總線D0~D7 將數(shù)據(jù)讀出。
函數(shù): ReceiveData()
參數(shù): 無
功能: 查看PC端是否有數(shù)據(jù)送來,如有,則置收到數(shù)據(jù)標志
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 上位機軟件
用戶在PC機上安裝USB100模塊驅動程序之后,該USB100默認成該PC的一個虛擬串口,因此在上位機可以將它當作一個串口進行處理。上位機軟件開發(fā)是用VB完成的,與下位機的通信使用串口控件MSComm。上位機的主要功能有:
1) 采樣通道以及開關量的設置,輸入模擬量的選擇(電壓、電流,電阻),變換器輸出的單位選擇。
2) 對下位機傳來的原始數(shù)據(jù)進行處理,并根據(jù)傳感器參數(shù)轉換為對應的實際測量值。
3) 實時在計算機屏幕上顯示采樣曲線,并把所采集的數(shù)據(jù)存入數(shù)據(jù)庫,以便能夠隨時查閱。
4) 對采集的數(shù)據(jù)進行頻譜分析,并將分析結果以曲線形式顯示在屏幕上。
4 結束語
我們采用USB100 專用模塊和C8051F020高速嵌入式MCU設計的測試儀,不僅滿足現(xiàn)場數(shù)據(jù)采集以及相應的控制,而且方便與筆記本電腦或臺式機構建虛擬儀器系統(tǒng)。我們在上位機軟件設計時考慮到其通用性,根據(jù)實際需求選用不同的傳感器,在上位機上進行相應的選擇,就能得到所需的測量數(shù)據(jù)及曲線,因而該測試儀有較強的通用性。本測試儀經(jīng)過兩年多來的實際運行,系統(tǒng)運行穩(wěn)定可靠,滿足用戶需求。
參考文獻:
[1] 潘琢金,施國君. C8051FXXX高速SOC單片機原理及應用. 北京:北京航空航天大學出版社,2002.
[2] 迅通科技. USB100數(shù)據(jù)手冊[M]. 哈爾濱:迅通科技有限公,2002.
[3] 馮國飛,宋蘊興. 基于USB數(shù)據(jù)采集卡的設計與實現(xiàn)[J]. 微計算機信息,2005.11:75-76
[4] 張厚武,姚凱學. 基于C8051F020微控制器的動態(tài)測試儀的設計[J]. 機械與電子,2006(8):12-14.
[5] 陳建平,姚凱學,等. 通用動態(tài)測試系統(tǒng)的設計與實現(xiàn). 貴州大學學報(自然科學版), 2004,21(1):79-82.
[6] 謝瑞和.串行技術大全.北京:清華大學出版社,2003.4
[7] 鄭阿奇,曹戈.Visual Basic實用教程 北京:電子工業(yè)出版社,2003.
評論