2、 USB接口示意圖
3、 應(yīng)用程序軟件流程圖1所示。
A/D,是虛擬儀器硬件設(shè)備中的關(guān)鍵環(huán)節(jié)。下位機(jī)通過特定接口接受來自上位機(jī)的指令并向上位機(jī)提供自身所處的狀態(tài):在收到采集指令后,對(duì)傳感器發(fā)送的模擬電信號(hào)進(jìn)行采樣以轉(zhuǎn)化為數(shù)字信號(hào),然后將數(shù)字信號(hào)通過接口傳給上位機(jī)。
2個(gè)通道的傳感器信號(hào)進(jìn)行轉(zhuǎn)換,其最高采樣效率為,采樣轉(zhuǎn)換精度為位,系統(tǒng)采用了一個(gè)內(nèi)含先進(jìn)先出內(nèi)存的控制芯片,該內(nèi)存用于存放轉(zhuǎn)換后的數(shù)據(jù),使用可以有效地緩沖采集數(shù)據(jù),減少頻繁的指令傳送,使上位機(jī)有更多的時(shí)間進(jìn)行其他處理,并且不容易丟失數(shù)據(jù)。該下位機(jī)可以編程控制采集頻率和采樣增益,具有較大的靈活性。
USB2.0的高速
USB設(shè)備接口模塊,其功能是由硬件和軟件共同來完成的。接口示意圖如圖所示。下面介紹一下主要功能模塊器件的選擇和功用。
AD9059。該器件是位單片雙通道,具有高速、高性能、低功耗及易使用等特性,的編碼速率和的最大功率模擬帶寬使其在多路數(shù)據(jù)采樣系統(tǒng)中表現(xiàn)出優(yōu)秀的動(dòng)態(tài)性能。大部分情況下,僅需要一個(gè)單極性的電源和一個(gè)編碼時(shí)鐘即能正常工作。編碼時(shí)鐘提供與兼容的邏輯數(shù)據(jù)輸出,并控制兩個(gè)轉(zhuǎn)換通道同時(shí)對(duì)數(shù)據(jù)進(jìn)行采樣。如長時(shí)間不需要采集數(shù)據(jù),可啟動(dòng)休眠模式使總功耗小于。的時(shí)鐘及控制信號(hào)等由提供。
CPLD來實(shí)現(xiàn)電路的數(shù)字控制功能。
EZ-USB FX2(即7C68013)處于模式時(shí)實(shí)現(xiàn)讀寫控制信號(hào)、時(shí)鐘、輸出使能、端點(diǎn)的選擇以及對(duì)放大器和的控制等功能。
CPLD容易開發(fā)升級(jí)的優(yōu)點(diǎn),在本設(shè)計(jì)中,所有的數(shù)字電路部分,全部是在內(nèi)實(shí)現(xiàn)的,本設(shè)計(jì)采用了公司的芯片,所用的軟件是公司的系統(tǒng),編程語言為語言。
ISP1032來實(shí)現(xiàn)數(shù)字邏輯電路功能,可以使高速數(shù)據(jù)采集卡工作穩(wěn)定,各方面性能良好。
現(xiàn)場輸入信號(hào)是高頻的模擬信號(hào),信號(hào)變化的范圍都比較大如果采用單一的增益放大那么放大以后的信號(hào)幅值有可能超過轉(zhuǎn)換的量程,所以必須根據(jù)信號(hào)的變化相應(yīng)地調(diào)整放大器的增益。在自動(dòng)化程度較高的系統(tǒng)中希望能夠在程序中用軟件控制放大器的增益,經(jīng)過考慮本文選擇具有增益可編程功能的芯片—。該芯片具有頻帶寬、噪聲低、增益可編程且易于與單片機(jī)進(jìn)行串行通信等優(yōu)點(diǎn),十分適合在數(shù)據(jù)采集系統(tǒng)做前置放大。程控放大模塊的的控制字可在設(shè)定,再經(jīng)過接口由傳給。
USB協(xié)議的芯片是關(guān)鍵。即7C68013)是世界上首批集成微控制器。其內(nèi)部集成了的收發(fā)器、串行接口引擎、增強(qiáng)的微控制器和一個(gè)可編程的串行接口。
USB接口接到機(jī)之前,外設(shè)上的固件存儲(chǔ)在上;一旦外設(shè)連接到機(jī)上,先確認(rèn)外設(shè)身份即讀設(shè)備描述符,然后將該外設(shè)的固件下載到芯片的中,這樣在開發(fā)過程中當(dāng)固件需要修改時(shí),可以在機(jī)上修改好后,下載到芯片中。
PC機(jī)發(fā)來的各種請(qǐng)求,以完成它們之間的數(shù)據(jù)傳輸。其主要功能包括控制放大模塊,實(shí)現(xiàn)通道選擇;控制模塊的數(shù)據(jù)采集;通過實(shí)時(shí)上傳采集數(shù)據(jù)給控制芯片接收并處理設(shè)備驅(qū)動(dòng)程序的請(qǐng)求如設(shè)置接口狀態(tài)等多種協(xié)議標(biāo)準(zhǔn)請(qǐng)求等。
C語言進(jìn)行開發(fā),這樣比較容易實(shí)現(xiàn)模塊化和分層結(jié)構(gòu)化的程序設(shè)計(jì)。
Keil C函數(shù)庫。軟件開發(fā)包提供了該庫的目標(biāo)文件,同時(shí)還提供了該函數(shù)庫的源代碼,用戶可以利用來重新編寫該函數(shù)庫。
EZ-USB FX2程序框架或直接使用固件庫開發(fā)的程序,這是開發(fā)外設(shè)的重要部分。在其固件程序中把自己定義為大存儲(chǔ)類、塊傳輸子類,操作系統(tǒng)中以上有相應(yīng)的類設(shè)備驅(qū)動(dòng)程序來支持這種類外設(shè)。在的固件程序中寫入通信模塊,就可以實(shí)現(xiàn)主機(jī)和設(shè)備的通信。
DSCR.A51(A51宏匯編器、目標(biāo)文件轉(zhuǎn)換器和編譯器庫文件和啟動(dòng)代碼。在固件程序框架中,定義了基本的設(shè)備的功能,一般不許修改。本設(shè)計(jì)要實(shí)現(xiàn)的具體功能則在應(yīng)用層中的固件程序中完成。
ADC、放大模塊、采集模塊進(jìn)行控制,同時(shí)還要接收或者發(fā)送數(shù)據(jù)。在采集開始前,可以先將命令發(fā)送出去,實(shí)現(xiàn)在固件程序中定義的相應(yīng)功能,如通過口線控制前置放大模塊等。然后可以讀取傳送到主機(jī)的數(shù)據(jù),或者向設(shè)備發(fā)送數(shù)據(jù)等。
Visual C++編寫好的應(yīng)用程序封裝成,即可在用編寫的虛擬儀器最上層應(yīng)用程序中直接調(diào)用。
USB2.0的高速數(shù)據(jù)采集卡在虛擬儀器中的應(yīng)用做了具體的闡述,將該系統(tǒng)應(yīng)用于虛擬儀器中可實(shí)現(xiàn)熱插拔,克服了傳統(tǒng)數(shù)據(jù)采集卡插拔麻煩且擴(kuò)展槽有限的缺點(diǎn)。傳輸率達(dá)到,可充分滿足高速采集的需求。所以,本文給出的基于的高速數(shù)據(jù)采集卡在虛擬儀器的研制開發(fā)中有著很強(qiáng)的實(shí)用性和廣闊的應(yīng)用前景。
-
usb
+關(guān)注
關(guān)注
60文章
7876瀏覽量
263697 -
虛擬儀器
+關(guān)注
關(guān)注
22文章
775瀏覽量
87273 -
數(shù)據(jù)采集
+關(guān)注
關(guān)注
38文章
5808瀏覽量
113424
發(fā)布評(píng)論請(qǐng)先 登錄
評(píng)論