無線工程師經(jīng)常希望使用無線信號實現(xiàn)從概念到原型。諸如USRP(通用軟件無線電外設(shè))設(shè)備的軟件無線電(SDR)提供了滿足該需求的靈活解決方案。由于當今的應(yīng)用需要更高的帶寬和更短的延遲,因此需要在SDR的FPGA上實現(xiàn)更多的信號處理。但編程FPGA的無線工程師經(jīng)常面臨下列挑戰(zhàn):
1. FPGA與輸入/輸出(如RF信號或主機CPU)之間的接口困難2. 不熟悉用于算法實現(xiàn)的編程樣式,及3. 編譯時間長
在本系列適用于無線工程師的FPGA原型設(shè)計中,了解LabVIEW Communications System Design Suite (LabVIEW Communications)和NI SDR硬件如何幫助您克服關(guān)鍵性挑戰(zhàn),并快速創(chuàng)建無需FPGA知識的實時、無線測試平臺。
第1部分. 立即連接FPGA算法至I/O
FPGA設(shè)計通常需要多個VHDL代碼組件以用于模數(shù)轉(zhuǎn)換器(ADC)、數(shù)模轉(zhuǎn)換器(DAC)、PCI Express總線、存儲器、時鐘等接口(圖1A)。其中的每一部分通常來自于:從零開發(fā)、重用現(xiàn)有的設(shè)計或從Xilinx或其他IP供應(yīng)商處獲得的IP。這意味著必須完成重要的集成工作以連接上述各部分,該集成工作通常比算法實現(xiàn)本身工作量更大。
盡管這些硬件接口實現(xiàn)起來很難,但定制它們的意義不大。例如,通過ADC接口關(guān)閉靜態(tài)定時和計算同步可能較難實現(xiàn),但它在不同項目中的模數(shù)轉(zhuǎn)換功能基本相同。為了消除此瓶頸,LabVIEW Communications提供了SDR印刷電路板上所有硬件的接口。例如,ADC數(shù)據(jù)作為已被正確采樣且已轉(zhuǎn)換為正確的數(shù)據(jù)類型的采樣提供給FPGA程序框圖,用戶僅需在程序框圖上放置讀取I/O節(jié)點即可訪問這些數(shù)據(jù)。同樣,如要將數(shù)據(jù)以數(shù)據(jù)流方式從FPGA傳輸至CPU,僅需使用寫入FIFO節(jié)點而無需考慮實際的數(shù)據(jù)流實現(xiàn)方式。
在無線工程師適用的FPGA原型的第一部分,我們將介紹如何利用LabVIEW Communications快速在FPGA上傳輸數(shù)據(jù),即讓用戶專注于算法的實現(xiàn)。
圖1.(A)在帶有I/O的典型自定義FPGA設(shè)計中,設(shè)計團隊通常在集成I/O接口上花費的時間要高于實現(xiàn)算法或IP。(B)在LabVIEW Communications中已經(jīng)實現(xiàn)了這些接口,因此設(shè)計團隊可以專注于實現(xiàn)信號處理而不是系統(tǒng)集成。
第1步. 放置I/O節(jié)點
如要將FPGA算法與連接到RF前端的ADC和DAC、主機CPU或內(nèi)存等資源建立連接,僅需為該資源放置一個讀取或?qū)懭牍?jié)點。關(guān)于節(jié)點的范例見圖2。
圖2.使用這些塊與實際I/O及與主機CPU、USRP RIO設(shè)備上的DRAM或寄存器交互數(shù)據(jù)的FIFO通信。
第2步. 配置I/O節(jié)點
可使用資源文件配置FPGA I/O資源,如圖3所示。配置資源別名、數(shù)據(jù)類型、方向(FPGA到主機、主機到FPGA、FPGA到FPGA、本地)或緩沖深度等屬性。
圖3.使用資源文件來創(chuàng)建和配置FIFO、內(nèi)存、時鐘和其他資源。
第3步. 連接算法至I/O節(jié)點
創(chuàng)建并配置了所需的資源后,就可以將它們連接至在FPGA上實現(xiàn)的算法。例如,圖4框圖是在LabVIEW Communications中的FPGA上實現(xiàn)的(見圖5)。在該設(shè)計中,來自USRP RIO設(shè)備接收端口的數(shù)據(jù)以數(shù)據(jù)流方式傳遞至FPGA上的“My Algorithm”,這與同步、解調(diào)或濾波塊類似。然后,該輸出以數(shù)據(jù)流方式傳輸至內(nèi)存和FPGA至CPU FIFO。
圖4.該范例設(shè)計的框圖顯示了如何從RF前端接收數(shù)據(jù),然后經(jīng)由名為“My Algorithm”的用戶創(chuàng)建塊處理,最后以數(shù)據(jù)流方式傳輸至內(nèi)存和主機CPU。“My Algorithm”可以是任意算法(如解調(diào)、濾波或快速傅里葉變換)。
圖5.在LabVIEW Communications中FPGA代碼的理論程序框圖的實現(xiàn)中,從RF前端讀取原始I和Q數(shù)據(jù),然后經(jīng)由“My Algorithm”處理,最后以數(shù)據(jù)流方式傳輸至內(nèi)存和主機CPU。
第4步. 下一步
如要在FPGA上編寫類似“My Algorithm”這樣的自定義實時塊,使用LabVIEW Communications免除了具備VHDL經(jīng)驗的要求。如要了解如何創(chuàng)建類似20 MHz正交頻分復(fù)用(OFDM)調(diào)制器的算法,請繼續(xù)閱讀本技巧和竅門系列的下一部分:在不具備HDL專門知識的情況下從概念到FPGA代碼。
-
FPGA
+關(guān)注
關(guān)注
1645文章
22021瀏覽量
617258 -
cpu
+關(guān)注
關(guān)注
68文章
11067瀏覽量
216679 -
接口
+關(guān)注
關(guān)注
33文章
8979瀏覽量
153552
原文標題:無線工程師適用的FPGA系列:立即連接FPGA算法至I/O
文章出處:【微信號:FPGA-EETrend,微信公眾號:FPGA開發(fā)圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
工程師分享:基于FPGA的GPU原型優(yōu)化設(shè)計

FPGA算法工程師、邏輯工程師、原型驗證工程師有什么區(qū)別?
設(shè)計教訓(xùn)如何成就稱職的FPGA資深工程師?
電子工程師創(chuàng)新設(shè)計必備寶典之FPGA開發(fā)全攻略
招聘:軟件工程師(數(shù)字信號處理方向-FPGA)、硬件工程師
【成都】【招聘】誠聘FPGA工程師、 windows設(shè)備驅(qū)動開發(fā)工程師、嵌入式軟件開發(fā)工程師、硬件工程師等
基于FPGA的原型可視性怎么提高
為什么說nano FPGA技術(shù)適用于消費性市場?
有什么辦法能提高基于FPGA的原型的可視性?
提高基于FPGA的原型的可視性有哪些方法?
提高FPGA原型可視性的方法
FPGA工程師需要具備哪些技能?
fpga就業(yè)怎么樣_fpga工程師是青春飯嗎_fpga工程師發(fā)展前景

評論