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

          新聞中心

          EEPW首頁 > EDA/PCB > 設計應用 > 基于FPGA的PCI數(shù)據(jù)采集卡設計

          基于FPGA的PCI數(shù)據(jù)采集卡設計

          作者: 時間:2013-08-22 來源:網(wǎng)絡 收藏

          摘要 論述了基于設計,板卡實現(xiàn)了查詢、中斷和DMA等多種方式讀取數(shù)據(jù),可以實時采集數(shù)據(jù)、實現(xiàn)大容量數(shù)據(jù)的緩存,還有效地解決了對數(shù)據(jù)高速采集、傳輸?shù)男枨?,設計采用實現(xiàn)數(shù)據(jù)采集控制邏輯,減少了開發(fā)周期,并可在線修改設計和進行設計升級。
          關鍵詞 ;;數(shù)據(jù)采集

          數(shù)字信號處理的出現(xiàn)改變了信息與信號處理技術,而數(shù)據(jù)采集作為數(shù)字信號處理的前期工作,在整個數(shù)字系統(tǒng)中起到關鍵性作用。

          1 數(shù)據(jù)采集系統(tǒng)
          數(shù)據(jù)采集是指從待測設備中自動采集信息的過程。圖1顯示了基于PC機的典型數(shù)據(jù)采集系統(tǒng)的各項組成部分。

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

          a.JPG


          選用PC機作為控制系統(tǒng)操作平臺,為了能和外部設備通信,PC機提供了外置的USB、串口、并口及內(nèi)置的ISA、等接口。PCI總線接口速度快、系統(tǒng)占用率低,有完備的即插即用管理體制,是目前計算機插卡式外設總線的事實標準。本文利用FPGA通過PCI接口芯片與計算機進行通信,F(xiàn)PGA外接FIFO存儲器,A/D轉換數(shù)據(jù)直接存儲在FIFO中,實現(xiàn)了數(shù)據(jù)的高速采集與連續(xù)穩(wěn)定數(shù)據(jù)流的輸出。

          2 數(shù)據(jù)采集硬件設計
          PCI數(shù)據(jù)采集板卡的硬件整體框架如圖2所示。

          b.JPG


          2.1 PCI總線接口設計
          PCI總線是一個地址/數(shù)據(jù)、命令/字節(jié)選擇信號復用的總線。它采用主從信號雙向握手的方式來控制數(shù)據(jù)的傳輸,其接口電路設計和傳統(tǒng)總線接口電路設計有較大的差別,所以必須嚴格遵守PCI總線規(guī)范所規(guī)定的技術規(guī)范。本文采用PLX公司的PC19054作為PCI總線的接口控制器。PCI9054是專用的PCI接口芯片,它主要是將復雜的PCI時序轉換為簡單的時序。
          2.2 FPGA設計
          FPGA設計用超高速集成電路硬件描述語言(Very High Speed Integrated Circuit hardware Dessription Language,VHDL)實現(xiàn),設計軟件選用Quartus II。VHDL設計主要分為:總線讀寫設計,A/D控制設計,D/A控制設計,定時/計數(shù)器設計及DIO設計。

          fpga相關文章:fpga是什么



          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();