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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于高速USB接口模塊的數(shù)據(jù)采集系統(tǒng)

          基于高速USB接口模塊的數(shù)據(jù)采集系統(tǒng)

          作者: 時間:2012-03-08 來源:網(wǎng)絡(luò) 收藏

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

          圖3 CY7C68013A原理圖

          CY7C68013A原理圖設(shè)計如圖3所示。其中包括9根地址線(GPIF_ADR0~8),16根數(shù)據(jù)線(PPB0~7、PPD0~7),以及相應(yīng)的控制線。

          FPGA與CY7C68013A連接軟件界面如圖4所示。配合CY7C68013A設(shè)計編寫的相應(yīng)讀寫控制時序,能夠與PC端進(jìn)行通信,同時根據(jù)獲得的控制命令來對ADC進(jìn)行操作,并將獲得的數(shù)據(jù)從FIFO中讀取出來,傳遞到PC端。

          圖4 FPGA與CY7C68013A連接軟件界面

          2 控制軟件設(shè)計

          的流程略--編者注。所有的初始化配置都是寫在一個TXT文件中,程序開始運行時會根據(jù)設(shè)置好的路徑讀取該文件,并初始化所有配置信息。該軟件采用了讀取PC環(huán)境變量的方法來增強(qiáng)軟件的可移植性。需要將該軟件系統(tǒng)從一臺PC轉(zhuǎn)移到另外一臺PC時,只需更改一下環(huán)境變量的定義。FPGA通過CY7C68013A從PC端接收數(shù)據(jù)和控制命令,將其轉(zhuǎn)化為存儲器讀寫、A/D轉(zhuǎn)換、前端電子學(xué)控制等命令,并最終將測量數(shù)據(jù)傳遞給PC。

          3 測試結(jié)果

          測試結(jié)果如圖5所示,利用直流電源作為測試源對系統(tǒng)進(jìn)行性能測試。分別測試OUT+和OUT-為0~1.2 V和-1.2~0 V的變化,然后從PC端得到ADC的轉(zhuǎn)換結(jié)果。圖中橫坐標(biāo)是|OUT+|與|OUT-|的和,縱坐標(biāo)是與模擬電壓相對應(yīng)的ADC數(shù)值。通過對圖中數(shù)據(jù)的擬合,得到模擬信號和數(shù)字信號的線性關(guān)系y=357.144+2.223x。這就意味著每m V電壓對應(yīng)2.2的數(shù)字輸出,也可以表示為每1個數(shù)字值對應(yīng)0.45 mV的模擬電壓。直線在Y軸上的截距被稱為基值,一般為300~400個ADC計數(shù)。

          圖5 系統(tǒng)的線性測試

          4 結(jié)語

          Quick的數(shù)據(jù)采集系統(tǒng)可以實現(xiàn)數(shù)據(jù)的快速采集與存儲,并且在體積、功耗方面都有明顯的優(yōu)勢。系統(tǒng)目前已經(jīng)應(yīng)用到很多實驗當(dāng)中[6](如PEBS實驗),都取得了很好的測試效果。


          上一頁 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); })();