ADI/Xilinx SDR 快速原型制作平臺(tái):功能、優(yōu)勢(shì)以及工具
無(wú)線系統(tǒng)的概念與設(shè)計(jì)實(shí)現(xiàn)之間存在巨大的差異。要縮小這種差異通常都要涉及到幾組來(lái)自各領(lǐng)域的工程師團(tuán)隊(duì)(比如RF、SW、DSP、HDL和嵌入式Linux?),并且很多情況下項(xiàng)目在開發(fā)的早期階段便由于難以協(xié)調(diào)各設(shè)計(jì)團(tuán)隊(duì)而偏離了原先計(jì)劃。
本系列文章分為四個(gè)部分,將討論平臺(tái)和工具的進(jìn)步;這些技術(shù)進(jìn)步允許開發(fā)人員快速進(jìn)行無(wú)線系統(tǒng)的仿真與原型制作,同時(shí)建立與保持投入生產(chǎn)的可實(shí)現(xiàn)路徑。作為實(shí)際過程的一個(gè)示例,我們將對(duì)無(wú)線SDR平臺(tái)進(jìn)行原型制作,該平臺(tái)可接收并解碼自動(dòng)相關(guān)監(jiān)視廣播 (ADS-B) 信號(hào),以便我們檢測(cè)并匯報(bào)附近飛行中的商用飛機(jī)的位置、高度和速度。本例中需用到MATLAB?和Simulink,以及集成和內(nèi)嵌硬件/軟件的技能。硬件平臺(tái)將采用ADI/Xilinx?軟件定義無(wú)線電 (SDR) 原型制作系統(tǒng)。使用MATLAB和Simulink?后,將執(zhí)行下列任務(wù):
設(shè)計(jì)用來(lái)解碼ADS-B消息的信號(hào)處理算法
仿真接收ADS-B信號(hào)的RF接收器
生成C語(yǔ)言代碼和HDL代碼
以目標(biāo)收發(fā)器和FPGA上的記錄數(shù)據(jù)和實(shí)時(shí)數(shù)據(jù)驗(yàn)證HDL代碼
最終得到一個(gè)能夠在適于生產(chǎn)的硬件上實(shí)現(xiàn)的可行RF SDR設(shè)計(jì),我們將把它帶到當(dāng)?shù)貦C(jī)場(chǎng)來(lái)驗(yàn)證性能和功能。
該文章系列有四部分,第一部分將討論ADI/Xilinx SDR原型制作系統(tǒng)、該系統(tǒng)的功能和優(yōu)勢(shì),并簡(jiǎn)要描述工具流程。第二部分將回顧自動(dòng)相關(guān)監(jiān)視廣播 (ADS-B) 信號(hào),并解釋仿真時(shí)如何在MATLAB和Simulink中解碼它們的信息。第三部分將討論和演示如何使用環(huán)路中硬件 (HIL) 并以目標(biāo)收發(fā)器捕捉信號(hào),并同時(shí)在Simulink的主機(jī)中進(jìn)行信號(hào)處理以便驗(yàn)證。第四部分將說(shuō)明如何通過第二部分開發(fā)并在第三部分驗(yàn)證的算法,并使用MathWorks的HDL編碼器以及嵌入式編碼器生成代碼,然后在生產(chǎn)硬件中進(jìn)行部署;最后,我們將在機(jī)場(chǎng)采用真正的ADS-B信號(hào)來(lái)操作平臺(tái)。
簡(jiǎn)介
隨著人們對(duì)通信方式和手段的需求呈指數(shù)式增長(zhǎng),方便而經(jīng)濟(jì)高效地修改無(wú)線電設(shè)備也隨之成為一項(xiàng)重要的業(yè)務(wù)。在這樣的背景下,軟件定義無(wú)線電技術(shù)最近得到了廣泛的部署,因?yàn)檫@項(xiàng)技術(shù)推動(dòng)通信向著靈活、高性價(jià)比、功能更強(qiáng)大的方向發(fā)展1。SDR系統(tǒng)的目的是在軟件和可重復(fù)編程邏輯中部署盡可能多的調(diào)制/解調(diào)和數(shù)據(jù)處理算法,以便通信系統(tǒng)能夠僅通過更新軟件和可重復(fù)編程邏輯而輕松進(jìn)行再配置,并且無(wú)需更改硬件平臺(tái)。
隨著片上系統(tǒng) (SoC) 的出現(xiàn)(比如集CPU的靈活性與FPGA的處理能力于一體的Xilinx Zynq.? All Programmable SoC),設(shè)計(jì)人員終于能夠?qū)DR系統(tǒng)的數(shù)據(jù)處理功能和其它處理任務(wù)納入單個(gè)器件中。數(shù)據(jù)調(diào)制/解調(diào)算法等處理密集型任務(wù)分流至器件的可編程邏輯,而數(shù)據(jù)解碼和渲染、系統(tǒng)監(jiān)控和診斷以及用戶界面等任務(wù)延緩至處理單元進(jìn)行。
同時(shí),無(wú)線系統(tǒng)的原型制作數(shù)十年來(lái)一直是個(gè)爭(zhēng)論不休的話題,而最近幾年才剛出現(xiàn)針對(duì)FPGA的完整設(shè)計(jì)流程 — 從模型創(chuàng)建到完整實(shí)施 — 這要?dú)w功于像MathWorks的MATLAB和Simulink等建模和仿真工具的革命。無(wú)線系統(tǒng)的原型制作正在改變工程師和科學(xué)家工作的方式,它將設(shè)計(jì)任務(wù)從實(shí)驗(yàn)室和現(xiàn)場(chǎng)帶到了桌面上2。現(xiàn)在,工程師可以對(duì)整個(gè)無(wú)線系統(tǒng)(比如SDR系統(tǒng))進(jìn)行建模,從而可觀察系統(tǒng)的表現(xiàn),并在現(xiàn)場(chǎng)實(shí)際實(shí)施之前進(jìn)行調(diào)節(jié)。這樣做有很多好處,比如加快系統(tǒng)集成、減少對(duì)設(shè)備的依賴。此外,完成SDR系統(tǒng)的Simulink模型之后,C語(yǔ)言代碼和HDL代碼可自動(dòng)生成,然后部署到Zynq SoC上,從而節(jié)省時(shí)間并避免手動(dòng)編碼錯(cuò)誤。將系統(tǒng)模型鏈接到快速原型制作環(huán)境可進(jìn)一步降低風(fēng)險(xiǎn),因?yàn)楹笳咴试SSDR系統(tǒng)在實(shí)際條件下運(yùn)作。
該文章系列有四部分,第一部分將討論ADI/Xilinx SDR快速原型制作系統(tǒng)、該系統(tǒng)的功能和優(yōu)勢(shì),并簡(jiǎn)要描述工具流程。文章解釋了ADI RF IC技術(shù)和參考設(shè)計(jì)硬件與軟件如何降低設(shè)計(jì)技巧,從而使客戶減輕風(fēng)險(xiǎn),并縮短產(chǎn)品上市時(shí)間。
用于SDR的Zynq
當(dāng)需要執(zhí)行數(shù)據(jù)處理、通信和用戶界面等具有不同處理帶寬要求和實(shí)時(shí)限制的任務(wù)組合時(shí),需要用到高級(jí)SDR系統(tǒng)。為了實(shí)現(xiàn)這樣的系統(tǒng),所選的硬件平臺(tái)必須魯棒且可擴(kuò)展,同時(shí)還需為將來(lái)的系統(tǒng)改進(jìn)和擴(kuò)張創(chuàng)造條件。Xilinx Zynq-7000 All Programmable SoC滿足這些要求,提供高性能處理系統(tǒng)以及可編程邏輯,如圖1所示3??删幊踢壿嬇渖咸幚硐到y(tǒng)便具有了出色的并行處理能力、實(shí)時(shí)性能、快速計(jì)算能力以及連接的多樣性。
?
圖1. Xilinx Zynq SoC功能框圖
Zynq SoC的處理系統(tǒng)包括一個(gè)雙核ARM? Cortex?-A9處理器和一個(gè)NEON協(xié)處理器,以及多個(gè)用于加速軟件執(zhí)行的浮點(diǎn)擴(kuò)展單元。為了完全發(fā)揮系統(tǒng)的能力,可以在雙核ARM處理器上采用嵌入式Linux或?qū)崟r(shí)操作系統(tǒng)。該處理器是自足的,可在不配置可編程邏輯的情況下使用,這點(diǎn)對(duì)于軟件開發(fā)人員來(lái)說(shuō)很重要,他們可以與設(shè)計(jì)FPGA結(jié)構(gòu)的硬件開發(fā)人員同時(shí)進(jìn)行代碼的開發(fā)工作。
在可編程邏輯方面,該器件擁有多達(dá)444,000個(gè)邏輯單元和2,200個(gè)DSP Slice,可提供巨大的處理帶寬,允許Zynq設(shè)備應(yīng)對(duì)各種充滿挑戰(zhàn)的信號(hào)處理應(yīng)用。5個(gè)高吞吐速率的AMBA?-4 AXI高速互連將可編程邏輯緊密地耦合到處理系統(tǒng),提供相當(dāng)于3,000以上引腳的有效帶寬4。
用于SDR的AD9361捷變寬帶RF收發(fā)器
近年來(lái),ADI公司將革命性的SDR產(chǎn)品推向了市場(chǎng),以支持不斷變化的SDR要求和系統(tǒng)架構(gòu)。在這方面,ADI最重要的產(chǎn)品包括AD9361/AD9364集成式RF捷變收發(fā)器。AD9361 (2 × 2)5和AD9364 (1 × 1)6是用于SDR架構(gòu)的高性能、高度集成的RF收發(fā)器IC,適合無(wú)線通信基礎(chǔ)設(shè)施、防務(wù)電子系統(tǒng)、RF測(cè)試設(shè)備和儀器,以及通用軟件定義無(wú)線電平臺(tái)等應(yīng)用。這些器件集RF前端與靈活的混合信號(hào)基帶部分為一體,集成頻率合成器,為處理器或FPGA提供可配置數(shù)字接口,從而簡(jiǎn)化設(shè)計(jì)導(dǎo)入。這些芯片工作頻率范圍為70 MHz至6 GHz,涵蓋大部分特許執(zhí)照和免執(zhí)照頻段,通過對(duì)AD9361和AD9364器件編程可改變采樣速率、數(shù)字濾波器和抽取參數(shù),使該芯片支持的通道帶寬范圍為低于200 kHz至56 MHz7。圖2顯示了AD9361器件的功能框圖。
?
圖2. AD9361功能框圖
為了幫助客戶縮短產(chǎn)品上市時(shí)間并減輕整體開發(fā)負(fù)擔(dān),ADI公司更進(jìn)一步,提供的SDR解決方案可用于具有無(wú)縫FPGA連接能力的完整生態(tài)系統(tǒng)中,為完整的無(wú)線電系統(tǒng)設(shè)計(jì)提供快速原型制作和開發(fā)環(huán)境。AD-FMCOMMSx-EBZ快速開發(fā)和原型制作板屬于高速模擬FMC模塊,集成AD9361或AD9364捷變RF收發(fā)器IC或分立式信號(hào)鏈,可無(wú)縫連接Xilinx FPGA開發(fā)平臺(tái)生態(tài)系統(tǒng)。這些板可完全通過軟件定制,無(wú)需更改任何硬件,提供可供下載的Linux驅(qū)動(dòng)程序和裸機(jī)軟件驅(qū)動(dòng)程序、原理圖、電路板布局文件和有助于設(shè)計(jì)的參考材料,可前往ADI的Wiki知識(shí)庫(kù)獲取。表1總結(jié)了不同F(xiàn)MCOMMSx平臺(tái)的產(chǎn)品特性。
表1. FMCOMMSx平臺(tái)
平臺(tái) : ?AD-FMCOMMS5-EBZ
產(chǎn)品特性: 該SDR快速原型制作板集成兩個(gè)AD9361 2 × 2捷變收發(fā)器IC,能夠?yàn)?個(gè)接收器通道和4個(gè)發(fā)送器通道提供完全同步能力,可創(chuàng)建4 × 4 MIMO系統(tǒng)的任意子系統(tǒng)。支持寬帶70 MHz至6 GHz和2.4 GHz調(diào)諧端口。AD-FMCOMMS5-EBZ資源頁(yè)面(wiki知識(shí)庫(kù)):?
平臺(tái) :AD-FMCOMMS4-EBZ
產(chǎn)品特性:該1 × 1 SDR快速原型制作板集成AD9364捷變RF收發(fā)器IC,可經(jīng)軟件配置在2400 MHz至2500 MHz范圍內(nèi)實(shí)現(xiàn)最高RF性能,或者可經(jīng)軟件配置工作在AD9364的70 MHz至6 GHz完整RF調(diào)諧范圍內(nèi),以進(jìn)行系統(tǒng)原型制作和開發(fā)。AD-FMCOMMS4-EBZ資源頁(yè)面(wiki知識(shí)庫(kù)): fmcomms4-ebz
平臺(tái) :AD-FMCOMMS3-EBZ
產(chǎn)品特性:該2 × 2型號(hào)的SDR快速原型制作板集成AD9361捷變RF收發(fā)器IC,支持AD9361的70 MHz至6 GHz全RF調(diào)諧范圍。該套件非常適合尋求具有寬調(diào)諧能力的統(tǒng)一開發(fā)平臺(tái)的無(wú)線通信系統(tǒng)架構(gòu)師。AD-FMCOMMS3-EBZ資源頁(yè)面(wiki知識(shí)庫(kù)):
平臺(tái) :AD-FMCOMMS2-EBZ
產(chǎn)品特性:該2 × 2 SDR快速原型制作板集成AD9361捷變RF收發(fā)器IC,經(jīng)調(diào)諧可在2400 MHz至2500 MHz范圍內(nèi)實(shí)現(xiàn)最高RF性能。該套件適合尋求最優(yōu)系統(tǒng)性能,并要求在RF頻譜定義范圍內(nèi)滿足AD9361數(shù)據(jù)手冊(cè)中規(guī)格的工程師使用。AD-FMCOMMS2-EBZ資源頁(yè)面(wiki知識(shí)庫(kù)):?
Zynq SDR快速原型制作平臺(tái)
參考設(shè)計(jì)
ADI公司與FMCOMMSx平臺(tái)一同提供完整的Vivado框架,采用Linux和裸機(jī)軟件基礎(chǔ)架構(gòu),可同時(shí)用于原型制作以及最終生產(chǎn)系統(tǒng)中。圖3顯示了ADI支持FMCOMMSx板的Zynq基礎(chǔ)架構(gòu)。
?
圖3. ADI HDL和軟件基礎(chǔ)架構(gòu)
該高級(jí)框圖說(shuō)明了ADI參考設(shè)計(jì)在Xilinx Zynq SoC上是如何劃分的。一路HDMI輸出用于在監(jiān)視器上顯示Linux界面,鼠標(biāo)和鍵盤可通過USB 2.0端口連接到系統(tǒng)。ARM Cortex A9處理系統(tǒng)運(yùn)行ADI公司提供的Ubuntu Linux,其中包括:與ADI公司FMCOMMS硬件接口所需的Linux IIO驅(qū)動(dòng)程序,用于監(jiān)測(cè)和控制的IIO Oscilloscope(示波器)8用戶空間應(yīng)用程序,支持實(shí)時(shí)數(shù)據(jù)采集和通過TCP控制系統(tǒng)的libiio服務(wù)器9,在遠(yuǎn)程計(jì)算機(jī)上運(yùn)行的客戶端,以及整合嵌入式編碼器所生成C語(yǔ)言代碼的可選用戶應(yīng)用程序,可用于控制器的Simulink模型。
軟件基礎(chǔ)架構(gòu)
所有ADI Linux驅(qū)動(dòng)程序均基于Linux工業(yè)I/O (IIO) 子系統(tǒng),現(xiàn)已包含在所有主流Linux內(nèi)核中。IIO Scope是ADI公司開發(fā)的一款開源Linux應(yīng)用程序,運(yùn)行在Xilinx Zynq中的雙核ARM Cortex-A9的內(nèi)核上,能夠顯示連接到Xilinx Zynq平臺(tái)的ADI FMC卡所獲取的實(shí)時(shí)數(shù)據(jù)。這些數(shù)據(jù)可以在時(shí)域中、頻域中或以星座圖的形式顯示。支持以不同的常用文件格式(如逗號(hào)分隔值或.mat MATLAB數(shù)據(jù)文件等)保存所捕獲的數(shù)據(jù)以供進(jìn)一步分析。IIO Scope提供一個(gè)圖形用戶界面,用于更改或讀取ADI FMC卡的配置。libiio服務(wù)器支持實(shí)時(shí)數(shù)據(jù)采集、通過傳輸控制協(xié)議 (TCP) 控制系統(tǒng)以及運(yùn)行于遠(yuǎn)程計(jì)算機(jī)上的客戶端10。服務(wù)器運(yùn)行于Linux下的嵌入式目標(biāo)上,通過TCP管理目標(biāo)與遠(yuǎn)程客戶端之間的實(shí)時(shí)數(shù)據(jù)交換。此庫(kù)抽取了硬件的低級(jí)詳情,提供簡(jiǎn)單但完整的編程接口,可用于高級(jí)項(xiàng)目。它的模塊化架構(gòu)、設(shè)計(jì)良好的API以及內(nèi)置的網(wǎng)絡(luò)功能允許用戶創(chuàng)建應(yīng)用,而這些應(yīng)用不僅能運(yùn)行在IIO設(shè)備已連接的系統(tǒng)中,還能運(yùn)行在通過網(wǎng)絡(luò)遠(yuǎn)程連接的系統(tǒng)中。它首先針對(duì)Linux,不過現(xiàn)在也能通過庫(kù)的遠(yuǎn)程后端支持Windows。它以C語(yǔ)言寫成,并授權(quán)給LGPL,結(jié)合了C#、Python和MATLAB的特點(diǎn)。MathWorks IIO客戶端11可以作為系統(tǒng)對(duì)象集成到MATLAB和Simulink原生應(yīng)用程序中。它設(shè)計(jì)用來(lái)配合連接FPGA/SoC平臺(tái)(運(yùn)行ADI Linux發(fā)布版)的以太網(wǎng)進(jìn)行數(shù)據(jù)交換,可讓MATLAB或Simulink模型執(zhí)行下列功能:
發(fā)送數(shù)據(jù)流至目標(biāo),并從目標(biāo)接收數(shù)據(jù)流
控制目標(biāo)的設(shè)置
監(jiān)控不同的目標(biāo)參數(shù)
MATLAB和Simulink均提供IIO系統(tǒng)對(duì)象,具體取決于用戶從MATLAB腳本中對(duì)其進(jìn)行調(diào)用,還是將其整合至MATLAB系統(tǒng)模塊中。ADI提供針對(duì)FMCOMMS平臺(tái)的Linux軟件和HDL基礎(chǔ)架構(gòu),配合MathWorks和Xilinx提供的工具后,便是進(jìn)行SDR應(yīng)用原型制作的絕佳環(huán)境,并且它還包含可隨時(shí)投入生產(chǎn)的組件,這些組件可以集成至SDR系統(tǒng) — 有助于縮短從概念到生產(chǎn)所需的時(shí)間并降低成本。
為了幫助客戶快速而輕松地掌握IIO系統(tǒng)對(duì)象,我們提供了幾個(gè)基于該界面的MATLAB和Simulink示例,比如信標(biāo)幀接收器12、QPSK發(fā)射器和接收器13,以及LTE發(fā)送器和接收器14。在這些示例中,F(xiàn)MCOMMSx平臺(tái)由IIO系統(tǒng)對(duì)象配置,并用作RF前端并無(wú)線發(fā)送或接收模擬信號(hào)。這些信號(hào)通過IIO系統(tǒng)對(duì)象以數(shù)據(jù)流的形式發(fā)送至目標(biāo),或從目標(biāo)接收。所有其它信號(hào)處理均在MATLAB或Simulink中執(zhí)行。圖4是信標(biāo)幀接收器示例的屏幕截圖,該圖顯示了IIO系統(tǒng)對(duì)象和其它Simulink模塊之間的典型連接。
?
圖4. 信標(biāo)幀接收器示例的屏幕截圖
MathWorks對(duì)Zynq的支持
MathWorks支持基于Zynq的SDR,具體表現(xiàn)在以下四個(gè)方面:
1. AD9361 Simulink模型
由于AD9361是一款集成式RF收發(fā)器芯片,信號(hào)探測(cè)和內(nèi)部工作監(jiān)控是不太現(xiàn)實(shí)的。因此,MathWorks和ADI合作開發(fā)了AD9361的SimRF?模型,可對(duì)芯片的工作進(jìn)行仿真,以便客戶能夠真正了解到這其中發(fā)生了什么,并知曉在現(xiàn)實(shí)中難以重現(xiàn)的不同測(cè)試條件下芯片性能如何。SimRF使用相同的基帶或電路包絡(luò)模塊 — 比如放大器、混頻器和S-參數(shù)模塊 — 提供RF系統(tǒng)設(shè)計(jì)中的組件庫(kù)和仿真引擎。它是適合AD9361 RF收發(fā)器建模的有效工具。系統(tǒng)級(jí)AD9361捷變RF收發(fā)器模型(如圖5所示)精確重現(xiàn)了AD9361的功能,并以MathWorks硬件支持包的形式向用戶提供15。
SimRF模型已在實(shí)驗(yàn)室中經(jīng)過了功率頻譜測(cè)量驗(yàn)證。不同頻率和功率水平下的收發(fā)器噪聲和非線性特性也已識(shí)別。然后,這些模型設(shè)計(jì)為生成相同的特性,并在設(shè)計(jì)范圍內(nèi)得到驗(yàn)證。
采用AD9361收發(fā)器SimRF模型后,用戶可以:
預(yù)測(cè)RF缺陷對(duì)測(cè)試信號(hào)的影響
使用參考音和LTE信號(hào)
生成或?qū)霚y(cè)試向量,并評(píng)估非線性、噪聲、增益和相位不平衡、頻譜泄露以及其它RF發(fā)送器和接收器缺陷導(dǎo)致的影響
加入干擾信號(hào)并評(píng)估時(shí)域或頻域結(jié)果
?
?
圖5. AD9361捷變RF接收器的MathWorks SimRF模型
2. 通信和DSP系統(tǒng)工具箱功能
MathWorks產(chǎn)品 — 比如Communications System Tool-box?16、Signal Processing Toolbox?17、DSP System Toolbox?18和SimRF19 — 具有業(yè)界標(biāo)準(zhǔn)算法和應(yīng)用程序,可進(jìn)行SDR系統(tǒng)的系統(tǒng)性分析、設(shè)計(jì)與調(diào)諧。所有這些工具均提供了創(chuàng)建高保真SDR模型的途徑,可在進(jìn)行真實(shí)物理部署前用來(lái)驗(yàn)證通信系統(tǒng)的表現(xiàn)和性能。
3. 用于Zynq的Simulink工作流程
MathWorks的MATLAB和Simulink是用于多領(lǐng)域仿真和基于模型設(shè)計(jì)的環(huán)境,非常適合仿真具有通信算法的SDR系統(tǒng)。通信算法調(diào)節(jié)增益、頻率偏移、時(shí)序偏移和其它性能變量,并經(jīng)常能更好地同步發(fā)送器和接收器系統(tǒng)。利用仿真評(píng)估通信算法可以有效地確定SDR設(shè)計(jì)是否合適,判斷其合適后再進(jìn)行昂貴的硬件測(cè)試,從而減少算法開發(fā)的時(shí)間和成本。圖6給出了設(shè)計(jì)通信算法的有效工作流程,步驟如下:
使用基于模型的設(shè)計(jì)環(huán)境提供的庫(kù)構(gòu)建精確的SDR模型
仿真系統(tǒng)行為以驗(yàn)證系統(tǒng)表現(xiàn)是否符合預(yù)期
產(chǎn)生C代碼和HDL進(jìn)行實(shí)時(shí)測(cè)試和實(shí)施
利用原型制作硬件測(cè)試通信算法
在原型制作硬件上進(jìn)行仿真和測(cè)試后,如果SDR系統(tǒng)的性能證明是令人滿意的,那么在最終生產(chǎn)系統(tǒng)上實(shí)施與部署系統(tǒng)也將是安全的。
?
圖6. 通信算法設(shè)計(jì)的工作流程
4. Simulink平臺(tái)集成至Zynq SDR套件
一旦SDR系統(tǒng)使用MathWorks的Embedded Coder?20和HDL Coder?21等工具完成了全面的驗(yàn)證,用戶就可以利用嵌入式編碼器和VHDL或使用HDL編碼器的Verilog來(lái)生成C語(yǔ)言代碼,然后將代碼部署到原型制作硬件上進(jìn)行測(cè)試,之后便可進(jìn)入最終生產(chǎn)系統(tǒng)。此時(shí)應(yīng)指定軟件和硬件實(shí)施要求,如定點(diǎn)和時(shí)序行為。自動(dòng)生成代碼有助于縮短從概念到實(shí)際系統(tǒng)實(shí)施所需的時(shí)間,消除手動(dòng)編程錯(cuò)誤,確保實(shí)際SDR實(shí)施與模型相符。圖7給出了在Simulink中進(jìn)行SDR系統(tǒng)建模并將其轉(zhuǎn)移到基于Xilinx Zynq SoC的最終生產(chǎn)系統(tǒng)所需的實(shí)際步驟。
?
圖7. 從仿真到生產(chǎn)的過程
第一步是在Simulink中對(duì)SDR系統(tǒng)進(jìn)行建模和仿真。在這一階段,通信算法被劃分為在軟件中實(shí)現(xiàn)的模塊和在可編程邏輯中實(shí)現(xiàn)的模塊。劃分和仿真完成后,利用嵌入式編碼器和HDL編碼器將SDR模型轉(zhuǎn)換為C語(yǔ)言代碼和HDL代碼?;赯ynq的原型制作系統(tǒng)用來(lái)驗(yàn)證通信算法的性能,并且?guī)椭M(jìn)一步調(diào)諧SDR模型,然后轉(zhuǎn)移到實(shí)際生產(chǎn)階段。在生產(chǎn)階段,將自動(dòng)生成的C代碼和HDL集成到復(fù)雜的生產(chǎn)系統(tǒng)框架中。此工作流程確保通信算法在到達(dá)生產(chǎn)階段之前經(jīng)過全面驗(yàn)證和測(cè)試,使得系統(tǒng)魯棒性具有高可信度。Zynq針對(duì)嵌入式編碼器和HDL編碼器推出的硬件支持包提供集成式硬件/軟件設(shè)計(jì)、仿真和驗(yàn)證框架,將基于模型的設(shè)計(jì)集成至工作流程中,簡(jiǎn)化了Zynq平臺(tái)的編程,并實(shí)現(xiàn)了快速設(shè)計(jì)迭代周期,同時(shí)有助于盡早檢測(cè)和糾正設(shè)計(jì)以及規(guī)格錯(cuò)誤22。
結(jié)論
本文說(shuō)明了現(xiàn)代SDR系統(tǒng)的要求和趨勢(shì),以及為滿足這些要求和幫助實(shí)現(xiàn)更高性能SDR解決方案而由MathWorks、Xilinx和ADI公司帶給市場(chǎng)的工具和系統(tǒng)。通過將MathWorks基于模型的設(shè)計(jì)和自動(dòng)生成代碼工具與強(qiáng)大的Xilinx Zynq SoC和ADI集成式RF收發(fā)器結(jié)合,SDR系統(tǒng)設(shè)計(jì)、驗(yàn)證、測(cè)試和實(shí)現(xiàn)可以比以前更有效率,進(jìn)而提高無(wú)線電系統(tǒng)性能并縮短產(chǎn)品上市時(shí)間。ADI的FMCOMMS平臺(tái)搭配Avnet Zynq-7000 AP SoC便可提供強(qiáng)大的原型制作環(huán)境,供采用MathWorks MATLAB和Simulink的SDR算法設(shè)計(jì)使用。FMCOMMS平臺(tái)帶有一組開源參考設(shè)計(jì),旨在為所有希望評(píng)估該系統(tǒng)的人士提供一個(gè)起點(diǎn),并且?guī)椭鷨?dòng)任何新SDR項(xiàng)目。
在本系列的下一篇文章中,我們將進(jìn)一步深入探討SDR設(shè)計(jì)過程,回顧自動(dòng)相關(guān)監(jiān)視廣播 (ADS-B) 信號(hào)特性,并解釋如何在MATLAB/Simulink仿真中解碼這些信息。
有關(guān)本文中所涉及話題、文檔、視頻和參考設(shè)計(jì)的更多信息,請(qǐng)查看"參考文獻(xiàn)"部分。
參考文獻(xiàn)
1“什么是軟件定義無(wú)線電?”無(wú)線創(chuàng)新論壇。
2?基于模型的設(shè)計(jì)。MathWorks。
3?Zynq-7000 All Programmable SoC。Xilinx。
4?Hill, Tom。“借助MATLAB將電機(jī)驅(qū)動(dòng)遷移到Zynq SoC設(shè)計(jì)中。” Xcell雜志,第87期,2014年第二季度。
5?AD9361。
6?AD9364。
7?“ADI的軟件定義無(wú)線電解決方案”。ADI公司。
8?IIO示波器。ADI公司W(wǎng)iki知識(shí)庫(kù)。
9?Simulink Libiio。ADI公司W(wǎng)iki知識(shí)庫(kù)。
10?什么是Libiio?ADI公司W(wǎng)iki知識(shí)庫(kù)。
11?IIO系統(tǒng)對(duì)象。ADI公司W(wǎng)iki知識(shí)庫(kù)。
12?信標(biāo)幀接收器示例。ADI公司W(wǎng)iki知識(shí)庫(kù)。
13?QPSK發(fā)送器和接收器示例。ADI公司W(wǎng)iki知識(shí)庫(kù)。
14?LTE發(fā)送器和接收器示例。ADI公司。
15?AD9361。
16?“Communications System Toolbox”。MathWorks公司。
17?“Signal Processing Toolbox”。MathWorks公司。
18?“DSP System Toolbox”。MathWorks公司。
19?SimRF。MathWorks公司。
20?“HDL Coder”。MathWorks公司。
21?“Embedded Coder”。MathWorks公司。
22?“Simulink支持Xilinx Zynq”。MathWorks公司。
MATLAB和Simulink是MathWorks公司的注冊(cè)商標(biāo)。
作者:
Di Pu 是ADI公司的系統(tǒng)建模應(yīng)用工程師,支持軟件定義無(wú)線電平臺(tái)和系統(tǒng)的設(shè)計(jì)與開發(fā)。她與MathWorks密切合作,共同解決最終客戶的難題。加入ADI公司以前,她曾于2007年獲得中國(guó)南京理工大學(xué) (NJUST) 電氣工程本科學(xué)位,并在2009和2013年獲得美國(guó)馬薩諸塞州伍斯特理工學(xué)院 (WPI) 電氣工程碩士和博士學(xué)位。她是2013年WPI博士論文西格瑪西研究獎(jiǎng)獲得者。
Andrei Cozma 是ADI公司工程設(shè)計(jì)經(jīng)理,負(fù)責(zé)支持系統(tǒng)級(jí)參考設(shè)計(jì)的設(shè)計(jì)與開發(fā)。他擁有工業(yè)自動(dòng)化與信息技術(shù)學(xué)士學(xué)位及電子與電信博士學(xué)位。他參與了電機(jī)控制、工業(yè)自動(dòng)化、軟件定義無(wú)線電和電信等不同行業(yè)領(lǐng)域的項(xiàng)目設(shè)計(jì)與開發(fā)。
Tom Hill,Xilinx公司系統(tǒng)發(fā)生器產(chǎn)品經(jīng)理Tom Hill擁有EDA行業(yè)超過18年的從業(yè)經(jīng)歷。Hill監(jiān)管Xilinx DSP目標(biāo)設(shè)計(jì)平臺(tái)有關(guān)的所有產(chǎn)品、戰(zhàn)略和企業(yè)營(yíng)銷活動(dòng)。Hill最近在AccelChip公司擔(dān)任技術(shù)營(yíng)銷經(jīng)理,負(fù)責(zé)DSP應(yīng)用的產(chǎn)品指導(dǎo)和高級(jí)設(shè)計(jì)方法與工具應(yīng)用。加入AccelChip以前,Hill曾經(jīng)擔(dān)任多款FPGA和ASIC頻率合成工具的產(chǎn)品經(jīng)理、技術(shù)營(yíng)銷經(jīng)理、技術(shù)營(yíng)銷工程師和現(xiàn)場(chǎng)應(yīng)用工程師。Hill的職業(yè)生涯始于Allen-Bradley和Lockheed公司,擔(dān)任硬件和ASIC設(shè)計(jì)工程師。Hill擁有克里夫蘭州立大學(xué)電氣工程學(xué)士學(xué)位。
評(píng)論
查看更多