RF-DAC多頻帶發(fā)射器線性評(píng)估
無線通信行業(yè)已經(jīng)進(jìn)入了一個(gè)全新的一體化時(shí)代;每個(gè)網(wǎng)絡(luò)運(yùn)營商都在尋求更緊湊、多頻帶基礎(chǔ)架構(gòu)解決方案。新興射頻類數(shù)據(jù)轉(zhuǎn)換器——RF DAC 和RF ADC —— 在架構(gòu)上使創(chuàng)建緊湊的多頻帶收發(fā)器成為可能。但這些新興器件固有的非線性將成為這一發(fā)展趨勢(shì)的絆腳石。
本文引用地址:http://www.ex-cimer.com/article/201808/386755.htm例如,頻域中射頻器件的非線性包括帶內(nèi)和帶外兩種情況。帶內(nèi)非線性是指TX 頻帶內(nèi)不需要的頻率成分(frequency term),而帶外非線性則是指TX 頻帶外不需要的頻率成分。
對(duì)于正在使用RF DAC 對(duì)多頻帶發(fā)射器進(jìn)行原型設(shè)計(jì)的系統(tǒng)工程師而言,確保關(guān)鍵組件符合標(biāo)準(zhǔn)線性要求是非常重要的。因此,在早期原型設(shè)計(jì)階段,從根本上需要一個(gè)靈活的測(cè)試平臺(tái),以正確評(píng)估AR DAC 在多頻帶應(yīng)用中的非線性性能。
在愛爾蘭貝爾實(shí)驗(yàn)室,我們已經(jīng)創(chuàng)建了一個(gè)靈活的軟硬件平臺(tái),可用于快速評(píng)估下一代無線系統(tǒng)潛在備選設(shè)備RF DAC。這個(gè)研發(fā)項(xiàng)目的三個(gè)關(guān)鍵因素分別是:賽靈思高性能FPGA、賽靈思IP 和MATLAB?。
在開始這段工程設(shè)計(jì)傳奇故事之前,我們還要強(qiáng)調(diào)幾點(diǎn)。在設(shè)計(jì)中,我們?cè)噲D盡量減少FPGA 資源的占用,同時(shí)盡可能保持系統(tǒng)靈活,所以我們只需要集中精力實(shí)現(xiàn)必要的功能。為建立完整的測(cè)試系統(tǒng),我們選用ADI 公司的最新RF-DAC 評(píng)估板(AD9129 和AD9739a)和賽靈思ML605 評(píng)估板。ML605 評(píng)估板配套提供Virtex?-6 XC6VLX240T-1FFG1156 FPGA 器件,其包括快速切換I/O ( 頻率高達(dá)710 MHz) 和SERDES 單元( 頻率高達(dá)5 Gbps),用于連接RF DAC。
現(xiàn)在,讓我們仔細(xì)看看如何使用賽靈思FPGA、IP 和MATLAB 創(chuàng)建這個(gè)簡(jiǎn)單而又功能強(qiáng)大的測(cè)試平臺(tái)。
系統(tǒng)級(jí)要求與設(shè)計(jì)
該評(píng)估平臺(tái)的主要目的是通過各種用戶自定義的測(cè)試數(shù)據(jù)序列來激勵(lì)RF DAC。為此,我們?cè)O(shè)計(jì)了兩個(gè)測(cè)試策略:連續(xù)波(CW)信號(hào)測(cè)試(xDDS)和寬頻帶信號(hào)測(cè)試(xRAM)。
多頻音連續(xù)波(CW)測(cè)試一直是RF 工程師對(duì)RF 元件非線性進(jìn)行特性描述的首選。遵循相同的測(cè)試?yán)砟?,我們?chuàng)建了一個(gè)基于直接數(shù)字綜合器(DDS)的可調(diào)四音邏輯內(nèi)核,實(shí)際上是采用一對(duì)雙音信號(hào)在兩個(gè)獨(dú)立頻帶上激勵(lì)RF DAC。通過獨(dú)立調(diào)諧四音,我們可以評(píng)估RF DAC 的線性性能- 即頻域內(nèi)的互調(diào)位置與功率。
連續(xù)波(CW)信號(hào)測(cè)試是一種固有窄帶操作。為進(jìn)一步評(píng)估RF DAC的寬頻帶性能,我們需要通過并發(fā)多頻、多模信號(hào)(如分別為2.1 GHz 和2.6 GHz 的雙模UMTS 和LTE 信號(hào))對(duì)其進(jìn)行激發(fā)。為此,我們創(chuàng)建了一個(gè)基于片上BRAM 陣列的數(shù)據(jù)存儲(chǔ)內(nèi)核;該內(nèi)核有兩個(gè)子組,可以為重復(fù)測(cè)試存儲(chǔ)各自的雙頻用戶數(shù)據(jù)。
圖1 顯示了簡(jiǎn)化的系統(tǒng)級(jí)平臺(tái)設(shè)計(jì)圖??梢钥吹?,我們采用簡(jiǎn)單直觀的設(shè)計(jì)策略,構(gòu)建盡量簡(jiǎn)單的平臺(tái)并通過升級(jí)功能對(duì)其進(jìn)行模塊化。
圖1 - 簡(jiǎn)化的系統(tǒng)級(jí)平臺(tái)方框圖
硬件設(shè)計(jì):賽靈思FPGA內(nèi)核圖1 中的FPGA 部分列出了系統(tǒng)基本需要實(shí)現(xiàn)的邏輯單元。包括時(shí)鐘分布單元、基于狀態(tài)機(jī)的系統(tǒng)控制單元和基于DDS 內(nèi)核的多音生成單元,以及嵌入在RAM 周圍的兩個(gè)單元:基于BRAM 的小型控制消息存儲(chǔ)單元(cRAM 內(nèi)核) 和基于BRAM 陣列的用戶數(shù)據(jù)存儲(chǔ)單元 (dRAM 內(nèi)核)。還包括連接PC 的UART 串行接口和連接RF DAC 的高速數(shù)據(jù)接口。
時(shí)鐘是FPGA 的生命脈搏。為確保多款時(shí)鐘在FPGA Bank 上正確分配,我們選用賽靈思時(shí)鐘管理內(nèi)核,為時(shí)鐘的定義和指定提供一種簡(jiǎn)單的交互方式。
嵌入狀態(tài)機(jī)周圍的小型指令內(nèi)核用作系統(tǒng)控制單元。如圖2 所示,在初始狀態(tài)(S0)下,報(bào)頭檢測(cè)器單元工作,負(fù)責(zé)監(jiān)測(cè)并過濾來自UART 接收器的輸入數(shù)據(jù)字節(jié)。數(shù)據(jù)字節(jié)被生成并封裝在MATLAB 數(shù)據(jù)幀內(nèi)(如圖3 所示)。
圖2 - 關(guān)鍵狀態(tài)機(jī)詳細(xì)設(shè)計(jì)圖
圖3 - 數(shù)據(jù)幀封裝例解
系統(tǒng)中基本上有兩種類型的數(shù)據(jù)幀。帶報(bào)頭“FF01”的數(shù)據(jù)幀(cRAM幀)用來為DDSes 和系統(tǒng)控制消息傳輸相位增量值。帶報(bào)頭“FF10”或“FF11” 的其他數(shù)據(jù)幀(dRAM 幀)用來傳輸用戶自定義的數(shù)據(jù)。狀態(tài)幀“S1x”只處理帶報(bào)頭“FF01”的數(shù)據(jù),用以更新相位增量值和執(zhí)行控制指令。狀態(tài)幀“S2x”和“S3x”分別為兩個(gè)頻帶接收并存儲(chǔ)用戶自定義數(shù)據(jù)。占線信號(hào)用來連續(xù)鎖存數(shù)據(jù),直至看到數(shù)據(jù)序列末尾的最后停止位??刂葡?mdash;— 例如調(diào)用單個(gè)/ 多個(gè)DDS 或用戶數(shù)據(jù)序列—— 存儲(chǔ)在cRAM 數(shù)據(jù)幀的最后兩個(gè)字節(jié)內(nèi)。它們將在cRAM_rd_done 信號(hào)上升沿處執(zhí)行。
然后,我們舉例說明四個(gè)采用賽靈思DDS 內(nèi)核的獨(dú)立的頻音生成單元,并將其配置為相位增量模式。特定頻率的相位增量值在MATLAB上生成并通過cRAM 數(shù)據(jù)幀下載到FPGA。通過混頻器,我們將多個(gè)頻音組合在一起,并通過管道將這些頻音輸送至下一級(jí)。由于DDS 內(nèi)核輸出是二進(jìn)制補(bǔ)碼格式,如果RF DAC需要另一種數(shù)據(jù)格式,如偏移二進(jìn)制碼,則需要格式轉(zhuǎn)換單元。
一般來說,高性能片上BRAM通常是創(chuàng)建中小型用戶存儲(chǔ)系統(tǒng)的首選。例如,在這個(gè)平臺(tái)上,我們利用賽靈思 模塊存儲(chǔ)生成器(Block Memory Generator)內(nèi)核為兩個(gè)頻帶創(chuàng)建兩個(gè)獨(dú)立的數(shù)據(jù)存儲(chǔ)RAM。每個(gè)RAM 的寬度為16 位,深度為192k。
對(duì)于PC 與FPGA 之間的通信,我們創(chuàng)建了一個(gè)UART 串行接口單元并將其設(shè)置為相對(duì)較低的速度,即921.6 kbps(相當(dāng)于115.2 字節(jié)/ 秒)。傳輸cRAM 數(shù)據(jù)幀(18 字節(jié)) 和dRAM 數(shù)據(jù)幀(約384k 字節(jié))分別需要約0.16 毫秒和3.33 秒時(shí)間。
器件廠商通常會(huì)以VHDL 或Verilog 格式提供芯片高速數(shù)據(jù)接口的實(shí)例設(shè)計(jì)。對(duì)于經(jīng)驗(yàn)豐富的FPGA工程師而言,復(fù)用或定制參考設(shè)計(jì)并不是很難。例如,就我們系統(tǒng)的AD9739a 和AD9129 RF DAC 而言,ADI 公司會(huì)提供并行LVDS 接口的參考設(shè)計(jì)。順便提一下,如果無法從芯片廠商處獲得實(shí)例設(shè)計(jì),賽靈思有幾款簡(jiǎn)單易用的高速接口芯片,如CPRI和JESD204B。
軟件設(shè)計(jì):MATLAB DSP功能與圖像用戶界面(GUI)
我們選擇MATLAB 作為軟件主機(jī),只是因?yàn)樗跀?shù)字信號(hào)處理(DSP)性能方面具備諸多優(yōu)勢(shì)。另外,MATLAB 還為圖形用戶界面(GUI)的布局提供一種稱為GUIDE 的簡(jiǎn)便易用的工具 。所以現(xiàn)在,對(duì)于這個(gè)項(xiàng)目,我們需要從MATLAB 獲得什么?
事實(shí)上,我們需要與低級(jí)DSP功能和數(shù)據(jù)流控制功能相關(guān)的用戶界面。所需DSP 功能為相位增量值計(jì)算器、基帶數(shù)據(jù)序列發(fā)生器和數(shù)字上變頻器??刂乒δ転閿?shù)據(jù)幀封裝器、UART 接口控制器和系統(tǒng)狀態(tài)指示器。
圖4 - 圖形用戶界面截圖
圖4 顯示了我們?yōu)樵撈脚_(tái)創(chuàng)建的圖像用戶界面(GUI)。應(yīng)首先定義RF DAC 關(guān)鍵參數(shù)—— 采樣率,然后才能選擇xDDS 模式或xRAM 模式激勵(lì)器件。然后,在各個(gè)子面板上,我們可以自定義參數(shù),以調(diào)用相應(yīng)MATLAB 信號(hào)處理功能。在xDDS 模式下,可以通過簡(jiǎn)單方程式,phase_incr = fc*2nbits/fs,計(jì)算頻音fc 與采樣率fs 的相位增量值。其中,nbits 表示DDS 用來綜合頻率的二進(jìn)制位數(shù)量。按下“啟動(dòng)”按鈕,生成的相位增量值會(huì)轉(zhuǎn)化成定點(diǎn)格式并封裝在帶不同報(bào)頭和控制消息的2 字節(jié)數(shù)據(jù)幀內(nèi)(如圖3 所示),然后通過UART 發(fā)動(dòng)至cRAM 單元并在FPGA 內(nèi)執(zhí)行。
在xRAM 模式下,我們生成基帶數(shù)據(jù)序列,將其標(biāo)準(zhǔn)化為滿刻度(帶符號(hào)的16 位)并將其上變頻為在MATLAB 下所需的頻率。通過UART將處理過的數(shù)據(jù)下載到dRAM 之后,按下啟動(dòng)按鈕,我們就可以調(diào)用寬頻帶信號(hào)測(cè)試。切記,要用FPGA 側(cè)所用相同協(xié)議參數(shù)在MATLAB 配置UART 串行接口。
最后,我們采用信號(hào)發(fā)生器——RS SMU200A —— 來提供采樣時(shí)鐘,從而從邏輯上“開啟”RF DAC。我們還將RF DAC 輸出連接至頻譜分析儀,來評(píng)估頻域內(nèi)RF DAC的線性性能。
快速評(píng)估
在原型設(shè)計(jì)的早期階段,關(guān)鍵RF 組件的線性性能評(píng)估是一個(gè)關(guān)鍵問題,但通過我們的軟硬件平臺(tái),在不影響性能的條件下可以快速進(jìn)行這項(xiàng)評(píng)估。然后,可以添加RF 功率放大器并使用所建議的平臺(tái)來評(píng)估級(jí)聯(lián)系統(tǒng)的線性。在確定非線性之后,可以執(zhí)行一些數(shù)字預(yù)失真算法來消除級(jí)聯(lián)系統(tǒng)不必要的非線性。
在FPGA 設(shè)計(jì)中合理使用賽靈思IP 核可以大大縮短開發(fā)周期并提升數(shù)字系統(tǒng)的穩(wěn)健性。展望未來,我們預(yù)計(jì)會(huì)將平臺(tái)上的數(shù)據(jù)接口模塊升級(jí)至JESD204B 標(biāo)準(zhǔn),以支持更高數(shù)據(jù)傳輸速率,從而滿足多個(gè)同步RF DAC 需求。同時(shí),我們正在將FPGA主機(jī)從賽靈思ML605 遷移至Zynq®-7000All Programmable SoC ZC706 評(píng)估套件。Zynq SoC 設(shè)計(jì)是在單臺(tái)PC上創(chuàng)建無需任何外部DSP 和控制功能的獨(dú)立解決方案的一個(gè)很好的選擇。
評(píng)論