無線工程師經常希望使用無線信號實現(xiàn)從概念到原型。諸如USRP(通用軟件無線電外設)設備的軟件無線電(SDR)提供了滿足該需求的靈活解決方案。由于當今的應用需要更高的帶寬和更短的延遲,因此需要在SDR的FPGA上實現(xiàn)更多的信號處理。但編程FPGA的無線工程師經常面臨下列挑戰(zhàn):
1. FPGA與輸入/輸出(如RF信號或主機CPU)之間的接口困難2. 不熟悉用于算法實現(xiàn)的編程樣式,及3. 編譯時間長
在本系列適用于無線工程師的FPGA原型設計中,了解LabVIEW Communications System Design Suite (LabVIEW Communications)和NI SDR硬件如何幫助您克服關鍵性挑戰(zhàn),并快速創(chuàng)建無需FPGA知識的實時、無線測試平臺。
第1部分. 立即連接FPGA算法至I/O
FPGA設計通常需要多個VHDL代碼組件以用于模數(shù)轉換器(ADC)、數(shù)模轉換器(DAC)、PCI Express總線、存儲器、時鐘等接口(圖1A)。其中的每一部分通常來自于:從零開發(fā)、重用現(xiàn)有的設計或從Xilinx或其他IP供應商處獲得的IP。這意味著必須完成重要的集成工作以連接上述各部分,該集成工作通常比算法實現(xiàn)本身工作量更大。
盡管這些硬件接口實現(xiàn)起來很難,但定制它們的意義不大。例如,通過ADC接口關閉靜態(tài)定時和計算同步可能較難實現(xiàn),但它在不同項目中的模數(shù)轉換功能基本相同。為了消除此瓶頸,LabVIEW Communications提供了SDR印刷電路板上所有硬件的接口。例如,ADC數(shù)據作為已被正確采樣且已轉換為正確的數(shù)據類型的采樣提供給FPGA程序框圖,用戶僅需在程序框圖上放置讀取I/O節(jié)點即可訪問這些數(shù)據。同樣,如要將數(shù)據以數(shù)據流方式從FPGA傳輸至CPU,僅需使用寫入FIFO節(jié)點而無需考慮實際的數(shù)據流實現(xiàn)方式。
在無線工程師適用的FPGA原型的第一部分,我們將介紹如何利用LabVIEW Communications快速在FPGA上傳輸數(shù)據,即讓用戶專注于算法的實現(xiàn)。

圖1.(A)在帶有I/O的典型自定義FPGA設計中,設計團隊通常在集成I/O接口上花費的時間要高于實現(xiàn)算法或IP。(B)在LabVIEW Communications中已經實現(xiàn)了這些接口,因此設計團隊可以專注于實現(xiàn)信號處理而不是系統(tǒng)集成。
第1步. 放置I/O節(jié)點
如要將FPGA算法與連接到RF前端的ADC和DAC、主機CPU或內存等資源建立連接,僅需為該資源放置一個讀取或寫入節(jié)點。關于節(jié)點的范例見圖2。

圖2.使用這些塊與實際I/O及與主機CPU、USRP RIO設備上的DRAM或寄存器交互數(shù)據的FIFO通信。
第2步. 配置I/O節(jié)點
可使用資源文件配置FPGA I/O資源,如圖3所示。配置資源別名、數(shù)據類型、方向(FPGA到主機、主機到FPGA、FPGA到FPGA、本地)或緩沖深度等屬性。

圖3.使用資源文件來創(chuàng)建和配置FIFO、內存、時鐘和其他資源。
第3步. 連接算法至I/O節(jié)點
創(chuàng)建并配置了所需的資源后,就可以將它們連接至在FPGA上實現(xiàn)的算法。例如,圖4框圖是在LabVIEW Communications中的FPGA上實現(xiàn)的(見圖5)。在該設計中,來自USRP RIO設備接收端口的數(shù)據以數(shù)據流方式傳遞至FPGA上的“My Algorithm”,這與同步、解調或濾波塊類似。然后,該輸出以數(shù)據流方式傳輸至內存和FPGA至CPU FIFO。

圖4.該范例設計的框圖顯示了如何從RF前端接收數(shù)據,然后經由名為“My Algorithm”的用戶創(chuàng)建塊處理,最后以數(shù)據流方式傳輸至內存和主機CPU?!癕y Algorithm”可以是任意算法(如解調、濾波或快速傅里葉變換)。

圖5.在LabVIEW Communications中FPGA代碼的理論程序框圖的實現(xiàn)中,從RF前端讀取原始I和Q數(shù)據,然后經由“My Algorithm”處理,最后以數(shù)據流方式傳輸至內存和主機CPU。
第4步. 下一步
如要在FPGA上編寫類似“My Algorithm”這樣的自定義實時塊,使用LabVIEW Communications免除了具備VHDL經驗的要求。如要了解如何創(chuàng)建類似20 MHz正交頻分復用(OFDM)調制器的算法,請繼續(xù)閱讀本技巧和竅門系列的下一部分:在不具備HDL專門知識的情況下從概念到FPGA代碼。
-
FPGA
+關注
關注
1660文章
22412瀏覽量
636376 -
cpu
+關注
關注
68文章
11279瀏覽量
225018 -
接口
+關注
關注
33文章
9521瀏覽量
157048
原文標題:無線工程師適用的FPGA系列:立即連接FPGA算法至I/O
文章出處:【微信號:FPGA-EETrend,微信公眾號:FPGA開發(fā)圈】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
工程師分享:基于FPGA的GPU原型優(yōu)化設計
FPGA算法工程師、邏輯工程師、原型驗證工程師有什么區(qū)別?
設計教訓如何成就稱職的FPGA資深工程師?
電子工程師創(chuàng)新設計必備寶典之FPGA開發(fā)全攻略
招聘:軟件工程師(數(shù)字信號處理方向-FPGA)、硬件工程師
【成都】【招聘】誠聘FPGA工程師、 windows設備驅動開發(fā)工程師、嵌入式軟件開發(fā)工程師、硬件工程師等
基于FPGA的原型可視性怎么提高
為什么說nano FPGA技術適用于消費性市場?
有什么辦法能提高基于FPGA的原型的可視性?
提高基于FPGA的原型的可視性有哪些方法?
提高FPGA原型可視性的方法
FPGA工程師需要具備哪些技能?
fpga就業(yè)怎么樣_fpga工程師是青春飯嗎_fpga工程師發(fā)展前景
無線工程師適用的FPGA原型設計克服編程關鍵性挑戰(zhàn)
評論