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

          關 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設計應用 > 通過USB接口實現(xiàn)FPGA的SelectMap配置

          通過USB接口實現(xiàn)FPGA的SelectMap配置

          作者: 時間:2009-12-25 來源:網(wǎng)絡 收藏

          1.引言
          器件結合了 ASIC的高性能和微處理器的靈活,不僅擁有豐富的邏輯資源,而且可以進行方便靈活的配置。主動配置方式盡管配置速度快、實現(xiàn)簡單,但并未發(fā)揮 配置靈活的特點,適合于 用作單一應用的場合,并且大容量的配置芯片及其占用的電路板面積也帶來了較高的成本;被動配置方式需要使用外部控制單元產(chǎn)生配置時序,實現(xiàn)一般較為復雜,而且在目前常見的方案中,常由于速率限制 [1]或者采用微處理器介入數(shù)據(jù)傳輸?shù)仍?,而造成配置速度不高?br /> 2.0協(xié)議在目前 PC外設的方案中非常流行,它支持高速率、多管道、多類型的數(shù)據(jù)傳輸,可以方便的構建出高性能的數(shù)據(jù)傳輸通道和靈活的控制通道。
          本文提出了一種基于 的 FPGA (并行被動)配置方式的實現(xiàn)方案,不但具有被動配置靈活、設計成本低的特點,而且實現(xiàn)簡單、配置快速。方案以 Xilinx Spartan3系列目前最大容量的 500萬門 FPGA(XC3S5000)作為配置目標,選用 Cypress EZ- FX2LP作為 USB設備芯片,并使用其內(nèi)部的大容量端點 FIFO,在 GPIF狀態(tài)機的控制下,實現(xiàn)了一個高性能的配置數(shù)據(jù)傳輸通道。配置的進程則由設計的 USB請求來控制。此配置方案具有開發(fā)簡單、配置成本低、速度快、使用靈活的特點,具有很強的實用性。
          2.系統(tǒng)的總體設計

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


          如圖 1所示,系統(tǒng)使用 USB通道連接上位機和 EZ-USB。EZ-USB是一塊高速 USB外設芯片,它支持 USB協(xié)議所描述全部四種傳輸模式,并擁有 1個 64Byte 的控制傳輸專用端點、2個緩存為 64Byte的普通端點和 4個緩存最大可達 1KB、并可以進行四倍緩沖的大數(shù)據(jù)從端點轉移到外設(FPGA)的過程中,如果使用 USB設備芯片內(nèi)嵌的 8051 MCU進行轉移的話,最快 8個時鐘周期才能傳輸一個字節(jié)的數(shù)據(jù)[2],在 8051的時鐘周期為 48MHz情況下,傳輸速度為 6MB/s,遠小于 USB通道的傳輸速率,會成為瓶頸而無法發(fā)揮出 USB傳輸通道高傳輸速率的優(yōu)勢;而如果通過位寬為 8bit的 FIFO來傳輸?shù)脑挘羁烨闆r下,每時鐘周期都可以傳輸一個字節(jié)數(shù)據(jù)[2]。在 EZ-USB中,大端點的緩存可以作為端點 FIFO直接連接 FPGA的配置數(shù)據(jù)輸入口形成高速傳輸通道,端點 FIFO的讀寫時序可由 EZ-USB內(nèi)嵌的 GPIF[4](General Programmable Interface)產(chǎn)生,MCU可以不參與端點到 FPGA的數(shù)據(jù)轉移,只起到配置和控制的作用,在 FIFO位寬為 8bit,GPIF時鐘頻率為 48MHz的情況下,傳輸速率為 48MB/s,這樣數(shù)據(jù)從端點到 FPGA的傳輸速度超過了上位機到端點的 USB中斷傳輸管道的最大速度,不對 USB傳輸通道構成瓶頸。


          上一頁 1 2 3 下一頁

          關鍵詞: SelectMap FPGA USB 接口

          評論


          相關推薦

          技術專區(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); })();