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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于USB 2.0的高速數(shù)據(jù)采集卡在虛擬儀器中的應(yīng)用

          基于USB 2.0的高速數(shù)據(jù)采集卡在虛擬儀器中的應(yīng)用

          作者: 時(shí)間:2013-10-26 來源:網(wǎng)絡(luò) 收藏

          控制器

            數(shù)據(jù)采集接口卡是硬件部分的核心,選擇合適的能適用于協(xié)議的芯片是關(guān)鍵。EZ- FX2(即CY7C68013)是世界上首批USB集成微控制器。其內(nèi)部集成了USB的收發(fā)器、串行接口引擎(SIE)、增強(qiáng)的8051微控制器和一個(gè)可編程的串行接口。

            在外設(shè)未通過USB接口接到PC機(jī)之前,外設(shè)上的固件存儲(chǔ)在PC上;一旦外設(shè)連接到PC機(jī)上,PC先確認(rèn)外設(shè)身份(即讀設(shè)備描述符),然后將該外設(shè)的固件下載到芯片的RAM中,這樣在開發(fā)過程中當(dāng)固件需要修改時(shí),可以在PC機(jī)上修改好后,下載到芯片中。

          固件開發(fā)

            設(shè)備固件是設(shè)備運(yùn)行的核心,它控制整個(gè)硬件系統(tǒng)的運(yùn)行,并負(fù)責(zé)處理PC機(jī)發(fā)來的各種USB請(qǐng)求,以完成它們之間的數(shù)據(jù)傳輸。其主要功能包括控制放大模塊,實(shí)現(xiàn)通道選擇;控制A/D模塊的數(shù)據(jù)采集;通過FX2實(shí)時(shí)上傳采集數(shù)據(jù)給PC;控制FX2芯片接收并處理USB設(shè)備驅(qū)動(dòng)程序的請(qǐng)求(如設(shè)置USB接口狀態(tài)等多種USB協(xié)議標(biāo)準(zhǔn)請(qǐng)求)等。

            由于固件的開發(fā)流程比較復(fù)雜,故本設(shè)計(jì)中采用C語言進(jìn)行開發(fā),這樣比較容易實(shí)現(xiàn)模塊化和分層結(jié)構(gòu)化的程序設(shè)計(jì)。

            EZ-USB FX2固件庫為用戶提供了底層Keil C函數(shù)庫。EZ-USB FX2軟件開發(fā)包提供了該庫的目標(biāo)文件,同時(shí)還提供了該函數(shù)庫的源代碼,用戶可以利用Keil C來重新編寫該函數(shù)庫。

            EZ-USB FX2固件是使用EZ-USB FX2程序框架或直接使用EZ-USB FX2固件庫開發(fā)的程序,這是開發(fā)USB外設(shè)的重要部分。EZ-USB FX2在其固件程序中把自己定義為USB大存儲(chǔ)類、塊傳輸子類,操作系統(tǒng)中(Win98以上)有相應(yīng)的USB類設(shè)備驅(qū)動(dòng)程序來支持這種USB類外設(shè)。在FX2的固件程序中寫入U(xiǎn)SB通信模塊,就可以實(shí)現(xiàn)主機(jī)和USB設(shè)備的通信。

            固件程序必須包括DSCR.A51(A51宏匯編器)、USBJmpTb.OBJ(目標(biāo)文件轉(zhuǎn)換器)和Ezusb.lib(Ezusb C編譯器庫文件和啟動(dòng)代碼)。在固件程序框架中,定義了基本的USB設(shè)備的功能,一般不許修改。本設(shè)計(jì)要實(shí)現(xiàn)的具體功能則在應(yīng)用層中的固件程序中完成。

          應(yīng)用程序開發(fā)

            根據(jù)實(shí)際要求,本系統(tǒng)需要通過軟件下載固件程序,以及對(duì)ADC、放大模塊、采集模塊進(jìn)行控制,同時(shí)還要接收或者發(fā)送數(shù)據(jù)。在采集開始前,可以先將命令發(fā)送出去,實(shí)現(xiàn)在固件程序中定義的相應(yīng)功能,如通過EZ-USB FX2口線控制前置放大模塊等。然后可以讀取傳送到主機(jī)的數(shù)據(jù),或者向設(shè)備發(fā)送數(shù)據(jù)等。

            Visual C++作為一種面向?qū)ο蟮募砷_發(fā)軟件,它最突出的特性就是封裝性、繼承性和多態(tài)性。所以,我們選用Visual C++來設(shè)計(jì)應(yīng)用程序。

            最后將用Visual C++編寫好的USB應(yīng)用程序封裝成DLL,即可在用Labview編寫的最上層應(yīng)用程序中直接調(diào)用。

          結(jié)語

            本文就基于USB的高速中的應(yīng)用做了具體的闡述,將該系統(tǒng)應(yīng)用于中可實(shí)現(xiàn)熱插拔,克服了傳統(tǒng)插拔麻煩且擴(kuò)展槽有限的缺點(diǎn)。USB2.0傳輸率達(dá)到480Mbps,可充分滿足高速采集的需求。所以,本文給出的基于USB2.0的高速在虛擬儀器的研制開發(fā)中有著很強(qiáng)的實(shí)用性和廣闊的應(yīng)用前景。

          參考文獻(xiàn):

          [1].AD9059datasheethttp://www.dzsc.com/datasheet/AD9059_122633.html.
          [2].CPLDdatasheethttp://www.dzsc.com/datasheet/CPLD_1136600.html.
          [3].AD8321datasheethttp://www.dzsc.com/datasheet/AD8321_1055558.html.

          紅外熱像儀相關(guān)文章:紅外熱像儀原理

          上一頁 1 2 下一頁

          評(píng)論


          相關(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); })();