《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 通過USB接口實現FPGA的SelectMap配置
通過USB接口實現FPGA的SelectMap配置
摘要: 本文提出了一種基于 USB接口的 FPGA SelectMap配置方式的實現方案。方案以大容量 Spartan3 FPGA作為配置目標,選用 Cypress EZ-USB FX2LP作為 USB設備芯片,采用其內置的端點 FIFO和 GPIF狀態機實現了一個高性能的配置數據傳輸通道,并設計了 USB廠商請求來控制配置進程。方案具有配置靈活、成本低、速度快、實現簡單的特點,目前已在很多軟件無線電項目中得到應用,具有很強的實用性。
Abstract:
Key words :

 

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


如圖 1所示,系統使用 USB通道連接上位機和 EZ-USB。EZ-USB是一塊高速 USB外設芯片,它支持 USB協議所描述全部四種傳輸模式,并擁有 1個 64Byte 的控制傳輸專用端點、2個緩存為 64Byte的普通端點和 4個緩存最大可達 1KB、并可以進行四倍緩沖的大數據從端點轉移到外設(FPGA)的過程中,如果使用 USB設備芯片內嵌的 8051 MCU進行轉移的話,最快 8個時鐘周期才能傳輸一個字節的數據[2],在 8051的時鐘周期為 48MHz情況下,傳輸速度為 6MB/s,遠小于 USB通道的傳輸速率,會成為瓶頸而無法發揮出 USB傳輸通道高傳輸速率的優勢;而如果通過位寬為 8bit的 FIFO來傳輸的話,最快情況下,每時鐘周期都可以傳輸一個字節數據[2]。在 EZ-USB中,大端點的緩存可以作為端點 FIFO直接連接 FPGA的配置數據輸入口形成高速傳輸通道,端點 FIFO的讀寫時序可由 EZ-USB內嵌的 GPIF[4](General Programmable Interface)產生,MCU可以不參與端點到 FPGA的數據轉移,只起到配置和控制的作用,在 FIFO位寬為 8bit,GPIF時鐘頻率為 48MHz的情況下,傳輸速率為 48MB/s,這樣數據從端點到 FPGA的傳輸速度超過了上位機到端點的 USB中斷傳輸管道的最大速度,不對 USB傳輸通道構成瓶頸。 
3.配置時序的發生
配置數據需要在配置時序的配合下寫入 FPGA[5]。GPIF是一個可編程的狀態機,它可以采集 5個輸入引腳(RDY)的狀態,并通過 5個輸出引腳(CTL)對外產生任意時序,因此可用來產生 FPGA的配置時序。表 1說明了 FPGA在 SelectMap模式下各配置引腳的作用[5],如圖 1所示,CCLK連接 EZ-USB提供的界面時鐘 IFCLK,D[7:0]連接端點 FIFO,其它配置引腳連接著 GPIF狀態機的 RDY及 CTL引腳。為了確保各引腳的輸入有充足的建立時間供 FPGA采樣,FPGA的時鐘輸入應與 GPIF的內部時鐘倒相。

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


 

根據配置時序所設計的 GPIF狀態機的狀態轉移圖如圖 2所示。配置時鐘為 48MHz,所以 PROG低脈沖要維持 25個時鐘周期,狀態機會根據端點 FIFO的空滿狀態控制 FPGA的 CS引腳,確保 FPGA在 FIFO有配置數據輸出的情況下進行數據采樣,數據輸出在字節計數達到 FPGA配置比特流文件的字節數值時停止,500萬門的 XC3S5000為 13271936 bit[5]。


4.系統軟件的設計 
4.1 EZ-USB固件程序設計 
EZ-USB的固件框架[3]如圖 3所示,Cypress為大部分模塊提供了完整的代碼,本設計需要編寫的模塊有 TD_Init,TD_Poll和 USB請求解析模塊。 TD_Init模塊僅執行一次,作用是設置端點和 GPIF傳輸界面,以及將端點 2緩存的控制權交給邏輯單元使得邏輯單元可以將總線上收到的數據包裝入緩存。TD_Poll模塊會反復執行,作用是在端點 2的緩存填入數據包后,開啟 GPIF狀態機,將 FIFO內的配置數據寫入 FPGA。USB請求解析模塊需要解析本方案設計的 2條 USB廠商請求,0xB1和 0xB2,它們用于配置初始化和查詢配置狀態。


 

4.2上位機程序設計
由于 Cypress已提供 USB設備驅動,因此上位機程序只需要獲得了一個至 USB 設備驅動程序的句柄,打開包含配置代碼的文件并對其進行語法分析,在 USB 中斷傳輸的每次調用過程中傳送取自配置文件的 1024字節發送出去,這一過程將繼續下去,直到配置文件中沒有剩余字節為止。 
5.配置性能的實際測試

配置數據傳輸的瓶頸在 USB傳輸通道,而采用中斷端點時, USB傳輸通道的速度極限值應為 24000KB/s,對于 500萬門的 XC3S5000而言,傳輸 13271936bit配置數據的理論時間約為 527.4ms。
對配置時間進行的實際測試中,使用 500萬門的 XC3S5000作為配置對象,使用測量精度為 10ms的碼表測量從送出配置文件到 FPGA的 Done引腳所連接的 LED點亮的時間差,經測量,配置實際使用時間為 540ms。考慮到 MCU判斷端點緩存和開啟標志,以及開啟狀態機所用時間,實測值比理論值多出的時間是合理的。 
6.結論
采用 Cypress EZ-USB及其內置的 GPIF狀態機對大容量 FPGA進行 SelectMap方式配置的方案,不僅具有被動配置方式靈活性高的優點,而且因為不需要大容量配置存儲器、同時可以節約電路板空間,所以實現成本較低。另外 Cypress完善的開發工具也使得方案的實現非常簡單。經過實際測試,本方案的配置速度非常快,對于大規模 FPGA配置時間也能在一秒之內完成,因此本方案具有很好的實用價值。
本文作者創新點:設計了一種針對大規模 FPGA的實用配置方案,配置方式靈活、配置速度快、配置成本低、系統開發簡單。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美在线播放| 日韩亚洲精品电影| 在线日本成人| 国产欧美精品va在线观看| 欧美日韩国产成人| 久久综合色8888| 久久不射网站| 性伦欧美刺激片在线观看| 亚洲视频中文| 99亚洲一区二区| 亚洲精品久久| 亚洲精品一二三区| 欧美成人精品1314www| 欧美亚洲日本国产| 亚洲综合第一页| 亚洲欧美国产另类| aa亚洲婷婷| 亚洲免费观看高清在线观看| 激情欧美日韩| 国内久久视频| 国产一级揄自揄精品视频| 国产精品资源| 国产欧美二区| 国产欧美一区二区三区在线看蜜臀| 欧美午夜精品伦理| 欧美主播一区二区三区| 亚洲欧美国产视频| 亚洲永久字幕| 欧美一乱一性一交一视频| 亚洲欧美日本精品| 午夜久久黄色| 欧美一区激情| 欧美一区二区三区精品| 欧美一区二区女人| 久久精品亚洲| 另类激情亚洲| 欧美激情中文字幕在线| 欧美日韩免费看| 国产精品国产三级国产专播精品人| 国产精品国产三级国产aⅴ9色| 国产精品国产精品| 国产日韩在线播放| 狠狠色狠狠色综合日日小说| 欧美精品九九| 欧美日韩国产综合视频在线观看中文 | 伊人夜夜躁av伊人久久| 影音先锋久久精品| 亚洲精品免费一区二区三区| 夜夜嗨av一区二区三区网站四季av| 一本色道**综合亚洲精品蜜桃冫| 亚洲一区二区三区在线视频| 欧美一级专区| 亚洲激情网站| 国产精品99久久久久久宅男| 小黄鸭精品密入口导航| 久久免费偷拍视频| 欧美人与性动交a欧美精品| 欧美三级网址| 国产欧美一区二区色老头| 一区二区三区中文在线观看| 日韩视频免费观看高清在线视频| 亚洲性感美女99在线| 久久国产精品亚洲77777| 亚洲欧洲在线免费| 亚洲一区二区在线视频 | 欧美日韩不卡视频| 国产精品一区免费在线观看| 红桃视频欧美| 夜夜嗨av一区二区三区网站四季av | 亚洲欧美另类综合偷拍| 久久午夜精品一区二区| 欧美日韩国产a| 国产一区二区三区视频在线观看| 亚洲激情二区| 午夜精品福利一区二区三区av| 亚洲片国产一区一级在线观看| 亚洲免费在线| 蘑菇福利视频一区播放| 国产精品男人爽免费视频1| 1024日韩| 香蕉久久夜色精品国产| 99精品视频免费观看| 欧美在线免费视频| 欧美日韩国内| 在线观看日韩av先锋影音电影院| 亚洲一二三区在线| 日韩亚洲不卡在线| 麻豆成人91精品二区三区| 国产精品视频999| 亚洲三级电影在线观看 | 亚洲欧洲日韩女同| 久久国产精品黑丝| 国产精品二区在线观看| 亚洲黄色在线| 亚洲成人自拍视频| 性久久久久久久久久久久| 亚洲毛片一区二区| 久久精品国内一区二区三区| 欧美午夜视频在线| 最新亚洲电影| 亚洲二区在线观看| 久久精品日产第一区二区三区| 欧美日韩免费精品| 亚洲狠狠丁香婷婷综合久久久| 久久精品国产77777蜜臀| 欧美一级理论性理论a| 欧美新色视频| 亚洲精品一区二区三区婷婷月| 亚洲第一搞黄网站| 久久国内精品自在自线400部| 国产精品成人午夜| 日韩视频一区二区三区在线播放| 最新国产の精品合集bt伙计| 久久久久久一区二区| 国产欧美视频一区二区三区| 亚洲午夜精品17c| 亚洲一区二区三区高清不卡| 久久综合九色| 红桃视频一区| 欧美一区三区二区在线观看| 欧美亚洲三级| 国产精品视频午夜| 亚洲一区国产精品| 亚洲欧美日韩国产综合精品二区| 欧美日韩一级大片网址| 亚洲精品视频在线| 日韩五码在线| 欧美精品一区二区在线播放| 亚洲品质自拍| 日韩一区二区精品视频| 欧美精品福利| 亚洲精品资源| 一区二区欧美精品| 欧美日韩精品欧美日韩精品| 亚洲乱码国产乱码精品精98午夜| 亚洲免费电影在线| 欧美激情一区二区三区在线视频 | 免费成年人欧美视频| 亚洲电影av在线| 亚洲欧洲日韩女同| 欧美精品在线观看| 99re热这里只有精品视频| 一区二区三区视频免费在线观看| 欧美啪啪成人vr| 99视频一区二区三区| 亚洲综合欧美| 国产欧美一区二区三区久久 | 亚洲国产成人在线| 你懂的成人av| 亚洲日本中文| 亚洲午夜电影网| 亚洲欧美日韩第一区| 国产精品久久久久久久浪潮网站| 亚洲一本大道在线| 久久精品免费电影| 在线电影一区| 一区二区三区久久网| 国产精品久久久久77777| 午夜精品免费| 免费成人黄色av| 日韩亚洲欧美一区| 欧美怡红院视频| 韩国一区二区三区美女美女秀| 亚洲欧洲在线看| 欧美体内she精视频在线观看| 亚洲欧美国产视频| 久久夜色精品国产欧美乱极品| 亚洲国产美女久久久久| 亚洲一区图片| 韩国精品在线观看| 99综合精品| 国产欧美另类| 亚洲精品在线免费| 国产精品成人在线| 久久成人国产| 欧美日本久久| 午夜亚洲一区| 欧美成黄导航| 亚洲视频一二区| 噜噜噜在线观看免费视频日韩 | 亚洲美女中出| 欧美在线免费视频| 亚洲国产精品激情在线观看| 亚洲欧美日本在线| 亚洲第一视频| 午夜精品一区二区三区在线视| 精品99视频| 午夜日韩在线| 亚洲国产精品电影| 欧美一级久久久| 亚洲欧洲日本mm| 久久精品亚洲乱码伦伦中文 | 欧美中文字幕久久| 日韩亚洲精品电影| 久久躁日日躁aaaaxxxx| 亚洲视频一区在线观看| 欧美成人中文| 欧美亚洲一级| 国产精品成人一区二区网站软件| 91久久久久久久久久久久久|