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

          關(guān) 閉

          新聞中心

          EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 通過(guò)USB接口實(shí)現(xiàn)FPGA的SelectMap配置

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

          作者: 時(shí)間:2009-12-25 來(lái)源:網(wǎng)絡(luò) 收藏

          3.配置時(shí)序的發(fā)生
          配置數(shù)據(jù)需要在配置時(shí)序的配合下寫(xiě)入 [5]。GPIF是一個(gè)可編程的狀態(tài)機(jī),它可以采集 5個(gè)輸入引腳(RDY)的狀態(tài),并通過(guò) 5個(gè)輸出引腳(CTL)對(duì)外產(chǎn)生任意時(shí)序,因此可用來(lái)產(chǎn)生 的配置時(shí)序。表 1說(shuō)明了 模式下各配置引腳的作用[5],如圖 1所示,CCLK連接 EZ-提供的界面時(shí)鐘 IFCLK,D[7:0]連接端點(diǎn) FIFO,其它配置引腳連接著 GPIF狀態(tài)機(jī)的 RDY及 CTL引腳。為了確保各引腳的輸入有充足的建立時(shí)間供 FPGA采樣,F(xiàn)PGA的時(shí)鐘輸入應(yīng)與 GPIF的內(nèi)部時(shí)鐘倒相。

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

          本設(shè)計(jì)方案使用了一個(gè)控制端點(diǎn)(端點(diǎn) 0)和一個(gè)大端點(diǎn)(端點(diǎn) 2)傳輸數(shù)據(jù)。其中控制端點(diǎn)是所有 設(shè)備所必備的,它用于在設(shè)備枚舉時(shí)傳輸 請(qǐng)求和相關(guān)數(shù)據(jù),在本設(shè)計(jì)中,控制端點(diǎn)還用來(lái)傳輸專(zhuān)門(mén)設(shè)計(jì)的 USB廠商請(qǐng)求來(lái)控制配置進(jìn)程、獲取配置狀態(tài)。大端點(diǎn)用來(lái)傳輸配置數(shù)據(jù),由于配置數(shù)據(jù)需要及時(shí)、無(wú)誤的傳輸,因此使用可以同時(shí)保證傳輸準(zhǔn)確性和最大延時(shí)的中斷傳輸方式,并設(shè)置端點(diǎn)緩存為 1KB、做 4倍緩沖,最大傳輸間隔為一個(gè)微幀(125us),且每個(gè)傳輸間隔內(nèi)傳輸 3個(gè)有效載荷為 1KB的包(最后一個(gè)包的載荷可能小于 1KB),這樣配置數(shù)據(jù)在 USB通道中的傳輸速率可達(dá)到 3*1KB*(1/125us) =24000KB/s。

          根據(jù)配置時(shí)序所設(shè)計(jì)的 GPIF狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)移圖如圖 2所示。配置時(shí)鐘為 48MHz,所以 PROG低脈沖要維持 25個(gè)時(shí)鐘周期,狀態(tài)機(jī)會(huì)根據(jù)端點(diǎn) FIFO的空滿狀態(tài)控制 FPGA的 CS引腳,確保 FPGA在 FIFO有配置數(shù)據(jù)輸出的情況下進(jìn)行數(shù)據(jù)采樣,數(shù)據(jù)輸出在字節(jié)計(jì)數(shù)達(dá)到 FPGA配置比特流文件的字節(jié)數(shù)值時(shí)停止,500萬(wàn)門(mén)的 XC3S5000為 13271936 bit[5]。



          關(guān)鍵詞: SelectMap FPGA USB 接口

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(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); })();