善用快速原型建構平台 軟體定義無線電開發輕鬆達陣

隨著人們對通訊方式的需求呈指數式增長,方便且具有成本效益的方式修改無線電設備也隨之成為一項重要的業務。基於這樣的需求,軟體定義無線電技術近年來已經獲得廣為採用,因為它帶來了彈性、成本效益,以及驅使通訊領域往前邁進的力量。
SDR系統的目的是在軟體和可編程邏輯中部署盡可能多的調變/解調和資料處理演算法,如此通訊系統就可以透過更新軟體與可編程邏輯而輕易的重新設定組態,並且無需更改硬體平台。

隨著系統單晶片元件(像是集CPU的多功能及FPGA處理能力於一體的Xilinx Zynq All Programmable SoC)的出現,設計人員終於能夠將SDR系統的資料處理功能和其他處理任務納入單個元件中。資料調變/解調演算法等處理密集型任務分流至元件的可編程邏輯,而資料解碼和渲染、系統監控和診斷以及使用者介面等任務延緩至處理單元進行。

同時,無線系統的原型製作數十年來一直是個爭論不休的話題,而最近幾年才剛出現針對FPGA的完整設計流程--從模型創建到完整實現方案--這要歸功於像MathWorks的MATLAB和Simulink等模型建構和模擬工具的革命。

無線系統的原型製作正在改變工程師和科學家工作的方式,它將設計任務從實驗室和現場帶到了桌面上。現在,工程師可以對整個無線系統(比如SDR系統)進行模型建構,從而可觀察系統的表現,並在現場實際實現之前進行調節。這樣做有很多好處,比如加快系統整合、減少對設備的依賴。此外,完成SDR系統的Simulink模型之後,C語言代碼和HDL代碼可自動生成,然後部署到Zynq SoC上,從而節省時間並避免手動編碼錯誤。將系統模型連結到快速原型製作環境可進一步降低風險,因為後者允許SDR系統在實際條件下運作。

本文的第一部分將會探討ADI/Xilinx SDR快速原型建構系統的能力與優點,以及其工具流程的簡短描述。文中將示範ADI RF IC技術,以及參考設計硬體與軟體如何能夠以更少的設計技術讓客戶降低風險與縮短上市時間。

用於SDR的Zynq

當要執行資料處理、通訊和使用者介面等具有不同處理頻寬要求和即時限制的任務組合時,須要用到高級SDR系統。為了實現這樣的系統,所選的硬體平台必須強固且可擴展,同時還需為將來的系統改進和擴充創造條件。Xilinx Zynq-7000 All Programmable SoC滿足這些要求,提供高性能處理系統以及可編程邏輯,如圖1所示。可編程邏輯配上處理系統便具有並行處理能力、即時性能、快速運算能力及連接的多樣性。

圖1 Xilinx Zynq SoC方塊圖

Zynq SoC的處理系統包括一個雙核ARM Cortex-A9處理器和一個NEON輔助處理器,以及多個用於加速軟體執行的浮點擴展單元。為了完全發揮系統的能力,可以在雙核ARM處理器上採用嵌入式Linux或即時操作系統。該處理器具有完全整合的特性,可在不配置可編程邏輯的情況下使用,這點對於軟體發展人員來說很重要,他們可以與設計FPGA結構的硬體開發人員同時進行代碼的開發工作。

在可編程邏輯方面,該元件擁有多達444,000個邏輯單元和2,200個DSP Slice,可提供巨大的處理頻寬,允許Zynq設備應對各種充滿挑戰的訊號處理應用。5個高傳輸率的AMBA-4 AXI高速互連將可編程邏輯緊密地耦合到處理系統,提供相當於3,000以上引腳的有效頻寬。

用於SDR的捷變寬頻RF收發器

近年來,ADI公司將革命性的SDR產品推出市場,以支援不斷變化的SDR要求和系統架構。在這方面,ADI最重要的產品包括AD9361/AD9364整合式RF捷變收發器。AD9361(2×2)和AD9364(1×1)是用於SDR架構的高性能、高度整合型RF收發器IC,適合無線通訊基礎設施、國防電子系統、RF測試設備和儀器,以及通用軟體定義無線電平台等應用。

這些元件集RF前端與靈活的混合訊號基頻部分為一體,整合頻率合成器,為處理器或FPGA提供可配置數位介面,從而簡化設計導入。這些晶片工作頻率範圍為70MHz至6GHz,涵蓋大部分有授權和無授權頻段,透過對AD9361和AD9364元件程式設計可改變取樣速率、數位濾波器和抽取參數,使該晶片支援的通道頻寬範圍為低於200kHz至56MHz。圖2中所示為AD9361晶片的方塊圖。

圖2 AD9361方塊圖

為了協助客戶縮短產品上市時間並減輕整體開發負擔,ADI更進一步提供的SDR解決方案可用於具有無縫FPGA連接能力的完整生態系統中,為完整的無線電系統設計提供快速原型製作和開發環境。AD-FMCOMMSx-EBZ快速開發和原型製作板屬於高速類比FMC模組,整合AD9361或AD9364捷變RF收發器IC或分離式訊號鏈,可無縫連接Xilinx FPGA開發平台生態系統。

這些板可完全透過軟體定制,無需更改任何硬體,提供可供下載的Linux驅動程式和裸機軟體驅動程式、電路圖、電路板佈局檔和設計輔助參考材料,這些全部內容都可在ADI的Wiki知識庫獲取。

Zynq SDR快速原型建構平台

ADI提供了一個內含於FMCOMMSx平台的完整Vivado架構,其具有可以使用於原型建構以及部分最終量產系統的Linux與裸機軟體基礎架構。圖3所示為用以支援FMCOMMSx電路板的基礎架構。

圖3 ADI HDL與軟體基礎架構

這個高階圖表說明了ADI參考設計在Xilinx Zynq SoC上是如何劃分的。HDMI輸出用在螢幕上顯示Linux介面,而鍵盤與滑鼠則可以透過USB 2.0埠連結至系統。ARM Cortex-A9處理系統採用由ADI所提供的Ubuntu Linux。其中包括:與ADI公司FMCOMMS硬體介面所需的Linux IIO驅動程式,用於監測和控制的IIO Oscilloscope(示波器)使用者空間應用程式、支援即時資料採集和透過TCP控制系統的libiio伺服器,在遠端電腦上運行的用戶端,以及整合嵌入式編碼器所生成C語言代碼的可選用戶應用程式,可用於控制器的Simulink模型。

軟體基礎架構

所有的ADI Linux驅動程式都是以Linux 工業I/O(IIO)次系統為基礎,而這些驅動程式目前也都包含在所有主流Linux的核心當中。IIO Scope是一個由ADI所開發的開放原始碼的Linux應用程式,運作於Xilinx Zynq中雙工ARM Cortex-A9核心當中,能夠顯示連接到Xilinx Zynq平台的ADI FMC卡所擷取的即時資料。這些資料可以在時域中、頻域中或以星座圖的形式顯示。支援不同的常見檔案格式(像是逗號分隔數值或是.mat MATLAB資料檔),儲存所擷取到的資料以做為進一步分析之用。

IIO Scope提供圖形化的使用者介面,用以修改或是讀回ADI FMC卡的組態設定。Libiio伺服器允許透過傳輸控制協定(TCP)與運作於遠端電腦上的客戶端進行即時的資料蒐集與系統控制。伺服器以Linux運作於嵌入式目標並且以TCP管理目標與遠端客戶端之間的即時資料交換。這個函式庫將硬體的低階細節加以提取,並且提供可以使用於先進計畫案簡單但是完整的編程介面。它的調變架構、經過良好設計的API以及內建的網路能力讓使用者可以開發出能夠在系統中-不僅是IIO裝置連結處,也包括了透過網路的遠端連結處-運作的應用程式。最初只是鎖定於Linux,目前則已經可以在Windows當中使用以及透過遠端函式庫後端的使用。以C語言撰寫並獲得LGPL的授權,其功能包含有C#、Python、以及MATLAB。

MathWorks IIO用戶端可以作為系統物件整合到MATLAB和Simulink原生應用程式中。它設計用來配合連接FPGA/SoC平台(運行ADI Linux發佈版)的乙太網進行資料交換,可讓MATLAB或Simulink模型執行下列功能:
.發送資料流程至目標,並從目標接收資料流程
.控制目標的設置
.監控不同的目標參數

MATLAB和Simulink均提供IIO系統物件,具體取決於使用者從MATLAB腳本中對其進行調用,還是將其整合至MATLAB系統模組中。ADI提供針對FMCOMMS平台的Linux軟體和HDL基礎架構,配合MathWorks和Xilinx提供的工具後,便是進行SDR應用原型製作的絕佳環境,並且它還包含可隨時投入生產的元件,這些元件可以集成至SDR系統—有助於縮短從概念到生產所需的時間並降低成本。

為了說明客戶快速而輕鬆地掌握IIO系統物件,我們提供幾個基於該介面的MATLAB和Simulink範例,比如信標訊框接收器、QPSK發射器和接收器,以及LTE發送器和接收器。在這些範例中,FMCOMMSx平台由IIO系統物件配置,並用作RF前端並無線發送或接收類比訊號。這些訊號通過IIO系統物件以資料流程的形式發送至目標,或從目標接收。所有其他訊號處理均在MATLAB或Simulink中執行。圖4是信標幀接收器範例的螢幕截圖,該圖顯示了IIO系統物件和其他Simulink模組之間的典型連接。

圖4 訊號框架接收器範例的螢幕擷取

MathWorks對於Zynq的支援

MathWorks支持基於Zynq的SDR,具體表現在以下四個方面:

AD9361 Simulink模型

由於AD9361是一組整合式的RF收發器晶片,因此不太易於實現訊號探測與內部作業監測。基於此原因,MathWorks與ADI合作開發了一組AD9361的SimRF模型,用以模擬該晶片的運作狀況,使客戶能夠明確的看到其內部究竟發生了什麼事情,以及該晶片是如何在不同的測試條件下執行,這點在現實世界當中是很難以複製的。

SimRF提供了元件函式庫以及模擬引擎,可以應用在使用等量基頻或是電路包絡組件(像是放大器、混頻器、以及S參數建構組件等)所設計的RF系統上。它是一套對於建構AD9361 RF收發器之模型相當有用而且適當的工具。系統等級的AD9361捷變RF收發器模型(如圖5中所示)精確複製了AD9361的功能,並且已經可以提供給使用者以做為MathWorks硬體支援的套件。

圖5 AD9361捷變RF接收器的MathWorks SimRF模型

SimRF模型已經在實驗室中以功率光譜測量加以驗證。收發器在不同頻率與功率位準下之雜訊以及非線性度的特性都已經過鑑定。而該模型的設計就是為了產生出相同的特性,藉以在設計的過程當中去驗證這些特性。

利用AD9361收發器SimRF模型,使用者可以進行下列的工作:
.預測RF缺陷對於測試訊號的衝擊
.使用參考音頻與LTE訊號
.產生或是導入測試向量並評估非線性度、雜訊、增益、以及相位失衡、頻譜漏洩、和其他因為RF發射器與接收器所造成之缺陷所帶來的影響。
.增加干擾訊號並評估其對於時間域或是頻率域所造成的結果。

通訊與DSP系統工具箱的功能

MathWorks產品一如Communications System Toolbox、Signal Processing Toolbox、DSP System Toolbox與SimRF提供了工業標準的演算法則與apps,以做為系統分析、設計、以及調節SDR系統之用。這些工具都提供了建立高保真SDR模型的方法,可在進行物理部署前用來驗證通訊系統的表現與性能。

Simulink針對Zynq的工作流程

MathWorks的MATLAB與Simulink是適合多重域模擬以及以模型為基礎設計的環境,很適合模擬具有通訊演算法則的SDR系統。通訊演算法則調整增益、頻率偏移、時序偏移、以及其他性能變數,通常是為了要使發射器與接收器系統間取得更好的同步化。 利用模擬的方法去評估通訊演算法則,對於在進行昂貴的硬體測試前事先判定SDR設計的適合性以及減少演算法則之開發時間與成本而言是一個極為有效的方法。圖6描繪的是想要有效率的設計通訊演算法則的工作流程,就必須遵循下列這些步驟:
.利用以模型為基礎的設計環境所提供的函式庫建構精確的SDR模型。
.模擬系統行為以便驗證系統是否會如預期的運作。
.生成適合即時測試與執行的C編碼與HDL。
.使用原型建構硬體測試通訊演算法則。

圖6 設計通訊演算法則的工作流程

在原型製作硬體上進行模擬和測試後,如果SDR系統的性能證明是令人滿意的,那麼在最終生產系統上實施與部署系統也將是安全的。

Simulink平台整合至Zynq SDR套件

一但SDR系統在模擬環境中藉由像是MathWorks的Embedded Coder與HDL Coder等工具獲得了完整的驗證之後,使用者就可以利用Embedded Coder產生C編碼以及利用HDL Coder產生VHDL或是Verilog,接著將編碼部署到原型建構硬體中做為測試之用,以及後續部署至最終的量產系統中。

在這點上,軟體與硬體執行方案的需求是具有特定性的,例如固定點與時序行為。自動化的編碼生成有助於減少從概念移轉至實際系統執行方案所需要的時間,並且避免手動編碼錯誤的發生,確保實際的SDR執行方案與模型匹配。圖7中描繪出在Simulink建構SDR系統之模型,並將其轉換至以Xilinx Zynq SoC為基礎之最終量產系統的真實世界之步驟的程序。

圖7 從模擬到量產的路徑

第一步就是在Simulink中建構模型與模擬SDR系統。在此階段,通訊演算法則會被分割至即將於軟體中執行的區塊組件當中,而這些區塊組件則將會在可編程邏輯當中執行。一但分割與模擬完成,SDR模型就會透過Embedded Coder與HDL Coder轉換成C編碼與HDL。以Zynq為基礎的原型建構系統被用來驗證通訊演算法則的性能,並且在移轉至實際的量產階段前協助進一步的調整SDR模型,自動產生的C編碼與HDL都會被整合至複雜的量產系統架構當中。

這個工作流程可以確保當通訊演算法則進入量產階段時已經獲得完整的驗證與測試,並且在系統強固性方面提供了充分的可信度。Zynq針對嵌入式編碼器和HDL編碼器推出的硬體支援包提供整合式硬體/軟體設計、模擬和驗證框架,將基於模型的設計集成至工作流程中,簡化了Zynq平台的程式設計,並實現了快速設計反覆運算週期,同時有助於儘早檢測和糾正設計以及規格錯誤。

本文說明現代SDR系統的要求和趨勢,以及為滿足這些要求和幫助實現更高性能SDR解決方案而由MathWorks、Xilinx和ADI帶給市場的工具和系統。透過將MathWorks基於模型的設計和自動生成代碼工具與Xilinx Zynq SoC和ADI整合型RF收發器結合,SDR系統設計、驗證、測試和實現可以比以前更有效率,進而提高無線電系統性能並縮短產品上市時間。

(本文作者Di Pu是ADI系統模型建構應用工程師;Andrei Cozma是ADI工程經理;Tom Hill是Xilinx系統發生器產品經理)

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!