作者:Di Pu, Andrei Cozma, and Tom Hill
無線系統的概念與該工作設計的實現之間存在顯著差距。彌合這一差距通常涉及具有各種不同技能集(如RF,SW,DSP,HDL和嵌入式Linux)的工程師團隊,并且在許多情況下,由于難以協調這些不同設計實體的工作,項目在開發階段的早期就脫軌了。
在這篇由四部分組成的文章中,我們將研究平臺和工具的進步,這些平臺和工具允許開發人員快速仿真和原型化無線系統,同時建立和維護可部署的生產路徑。作為該過程的真實示例,我們將制作一個無線SDR平臺的原型,該平臺接收和解碼自動相關監視廣播(ADS-B)信號,使我們能夠檢測和報告在我們附近飛行的商用飛機的位置,高度和速度。在這種情況下,所需的資源是MATLAB和Simulink以及集成和嵌入硬件/軟件的技能。硬件平臺將是ADI公司/賽靈思軟件定義無線電(SDR)原型系統。使用 MATLAB 和 Simulink 將執行以下任務:
用于解碼ADS-B消息的信號處理算法設計
生成 C 和 HDL 代碼
使用目標收發器和 FPGA 上的記錄和實時數據驗證 HDL 代碼
最終結果將是運行在具有生產價值的硬件上運行的工作RF SDR設計,我們將將其帶到當地機場并驗證其性能和功能。
本文由四部分組成,第一部分將討論ADI公司/Xilinx SDR原型設計系統、其功能和優勢,并簡要介紹工具流程。第二部分將回顧自動相關監視廣播 (ADS-B) 信號,并解釋如何在仿真中以 MATLAB 和 Simulink 解碼其信息。第三部分將描述和展示如何使用硬件在環 (HIL) 和目標收發器捕獲信號,但仍在 Simulink 中的主機上進行信號處理以進行驗證。第四部分將展示如何采用第 2 部分中開發并在第 3 部分中驗證的算法,并使用 MathWorks 的 HDL Coder 和嵌入式編碼器生成代碼并將其部署到生產硬件中,最后我們將在機場使用真實世界的 ADS-B 信號操作該平臺。
介紹
隨著人們需要通信的方式和方法呈指數級增長,輕松且經濟高效地修改無線電設備已成為業務關鍵?;谶@一要求,軟件定義無線電技術最近被廣泛采用,因為它帶來了推動通信發展的靈活性、成本效益和能力。1SDR系統的目的是在軟件和可重編程邏輯中盡可能多地實現調制/解調和數據處理算法,以便只需更新軟件和可重編程邏輯即可輕松重新配置通信系統,而無需對硬件平臺進行任何更改。
隨著賽靈思 Zynq 等片上系統 (SoC) 器件的出現。全可編程 SoC 結合了 CPU 的多功能性和 FPGA 的處理能力,設計人員可以將 SDR 系統的數據處理功能整合到單個器件中,同時集成額外的處理任務。數據調制/解調算法等處理密集型任務被卸載到器件的可編程邏輯上,而數據解碼和渲染、系統監控和診斷以及用戶界面等任務則推遲到處理單元。
與此同時,幾十年來,無線系統原型設計一直是一個討論話題,但由于 MathWorks 的 MATLAB 和 Simulink 等建模和仿真工具的發展,直到最近幾年才演變成 FPGA 的完整設計流程——從模型創建到完整實現。無線系統原型設計通過將設計任務從實驗室和現場轉移到桌面,正在改變工程師和科學家的工作方式。2現在,可以對整個無線系統(如SDR系統)進行建模,使工程師能夠觀察系統的行為,并在現場實際實施之前對其進行調整。這有幾個好處,例如加速系統集成和減少對設備可用性的依賴。此外,一旦 SDR 系統的 Simulink 模型完成,就可以自動生成 C 和 HDL 代碼,以便在 Zynq SoC 上實施,從而節省時間并避免引入手動編碼錯誤。通過將系統模型鏈接到快速原型設計環境,允許SDR系統在現實條件下運行,可以進一步降低風險。
本系列文章由四部分組成,第一部分將討論ADI公司/Xilinx SDR快速原型系統、其功能和優勢,并簡要介紹工具流程。本文展示了ADI公司的RF IC技術和參考設計硬件和軟件如何降低設計技能子集,從而使客戶能夠降低風險并縮短上市時間。
Zynq 特別提款權
需要先進的 SDR 系統來執行數據處理、通信和用戶界面任務的組合,這些任務具有不同的處理帶寬要求和實時約束。選擇用于實現此類系統的硬件平臺必須具有健壯性和可擴展性,同時允許未來的系統改進和擴展。Xilinx Zynq-7000 全可編程 SoC 通過提供高性能處理系統與可編程邏輯相結合來滿足這些要求,如圖 1.3 所示 可編程邏輯和處理系統的結合可提供卓越的并行處理能力、實時性能、快速計算速度和連接多功能性。
圖1.賽靈思 Zynq SoC 框圖。
Zynq SoC 的處理系統端由雙核 ARMCortex-A9 處理器、NEON 協處理器和浮點擴展組成,可加速軟件執行。嵌入式Linux或實時操作系統可以部署在雙核ARM處理器上,以充分利用系統的功能。該處理器是獨立的,無需配置可編程邏輯即可使用,這對于希望開始并行開發代碼的軟件開發人員以及將設計FPGA結構的硬件開發人員來說是一個關鍵要素。??
在可編程邏輯方面,該器件具有多達 444,000 個邏輯單元和 2,200 個 DSP 切片,可提供大量處理帶寬,使 Zynq 器件能夠應對各種具有挑戰性的信號處理應用。五個高吞吐量 AMBA-4 AXI 高速互連將可編程邏輯與處理系統緊密耦合,有效帶寬相當于 3,000 多個引腳。?4
AD9361 用于SDR的捷變寬帶RF收發器IC
近年來,ADI公司向市場推出了革命性的SDR產品,以支持不斷發展的SDR要求和系統架構。ADI公司在該領域最重要的產品是AD9361/AD9364集成RF捷變收發器。AD9361 (2 × 2)5和AD9364 (1×1)6是高性能、高度集成的射頻收發器 IC,適用于 SDR 架構中的無線通信基礎設施、國防電子系統、RF 測試設備和儀器儀表以及通用軟件定義無線電平臺等應用。這些器件將射頻前端與靈活的混合信號基帶部分和集成頻率合成器相結合,通過為處理器或FPGA提供可配置的數字接口來簡化設計導入。這些芯片的工作頻率范圍為70 MHz至6 GHz,覆蓋大多數許可和非許可頻段,通過改變采樣速率、數字濾波器和抽取,支持低于200 kHz至56 MHz的通道帶寬,所有這些器件均可在AD9361和AD9364器件中編程。7圖2所示為AD9361器件的框圖。
圖2.AD9361原理框圖
為了幫助客戶縮短上市時間和整體開發工作,ADI公司更進一步,在無縫FPGA連接的完整生態系統中提供SDR解決方案,為完整的無線電系統設計提供快速原型設計和開發環境。AD-FMCOMMSx-EBZ 快速開發和原型開發板是一系列高速模擬 FMC 模塊,集成了 AD9361 或 AD9364 捷變射頻收發器 IC 或可無縫連接到 Xilinx FPGA 開發平臺生態系統的分立信號鏈。這些電路板完全可通過軟件定制,無需任何硬件更改,并附帶可下載的Linux驅動程序和裸機軟件驅動程序、原理圖、電路板布局和設計輔助參考資料,所有這些都包含在各自的ADI公司wiki站點上。表 1 總結了不同 FMCOMMSx 平臺的功能。
表 1.FMCOMMSx 平臺
平臺 |
特征 |
AD-FMCOMMS5-EBZ |
這款SDR快速原型開發板集成了兩個AD9361 2×2捷變收發器IC,可為4個接收器通道和4個發射器通道提供完全同步功能,支持創建4×4 MIMO系統的任何子集??扇菁{ 70 MHz 至 6 GHz 和 2.4 GHz 寬帶調諧端口。 |
AD-FMCOMMS4-EBZ |
這款 1 × 1 SDR 快速原型開發板集成了捷變型 RF 收發器 IC,可通過軟件配置為在 2400 MHz 至 2500 MHz 區域內實現最高 RF 性能,也可以通過軟件配置為在 AD9364 的 70 MHz 至 6 GHz 完整 RF 調諧范圍內工作,用于系統原型設計和開發。 |
AD-FMCOMMS3-EBZ |
這款 2 × 2 版本的 SDR 快速原型開發板集成了捷變型 RF 收發器 IC AD9361,支持 AD9361 的 70 MHz 至 6 GHz 全 RF 調諧范圍。該套件非常適合尋求具有廣泛調諧功能的統一開發平臺的無線通信 SDR 系統架構師。 |
AD-FMCOMMS2-EBZ |
這款2×2 SDR快速原型開發板集成了AD9361捷變RF收發器IC,經過調諧,可在2400 MHz至2500 MHz范圍內實現最高RF性能。該套件非常適合尋求在此定義的RF頻譜范圍內滿足AD9361數據手冊規格的優化系統性能的RF工程師。 |
Zynq SDR 快速原型制作平臺
參考設計
ADI公司與FMCOMMSx平臺一起提供了一個完整的Vivado框架,具有Linux和裸機軟件基礎設施,既可用于原型設計,也可用于最終生產系統的一部分。圖3顯示了ADI公司支持FMCOMMSx板的Zynq基礎設施。
圖3.ADI HDL和軟件基礎設施。
此高級圖表顯示了 ADI 參考設計如何在 Xilinx Zynq SoC 上進行分區。HDMI輸出用于在顯示器上顯示Linux接口,而鍵盤和鼠標可以通過USB 2.0端口連接到系統。ARM Cortex-A9處理系統運行ADI公司提供的Ubuntu Linux。這包括與ADI公司FMCOMMS硬件(IIO示波器)接口所需的Linux IIO驅動程序。8用于監視和控制的用戶空間應用程序,Libiio服務器9它允許對 TCP 進行實時數據采集和系統控制,以及遠程計算機上運行的客戶端,以及包含由嵌入式編碼器為控制器的 Simulink 模型生成的 C 代碼的可選用戶應用程序。
軟件基礎架構
所有ADI Linux驅動程序都基于Linux工業I/O(IIO)子系統,該子系統現在包含在所有主線Linux內核中。IIO Scope是由ADI公司開發的開源Linux應用程序,運行在雙ARM Cortex-A上。9內核位于賽靈思 Zynq 內部,能夠顯示從連接到賽靈思 Zynq 平臺的任何 ADI FMC 卡采集的實時數據。數據可以顯示為時域、頻域或星座圖。支持不同的流行文件格式,如逗號分隔值或.mat MATLAB數據文件,以保存捕獲的數據以供進一步分析。IIO示波器提供圖形用戶界面,用于更改或回讀ADI公司FMC卡的配置。libiio服務器允許實時數據采集和系統控制傳輸控制協議(TCP)以及遠程計算機上運行的客戶端。10服務器在 Linux 下的嵌入式目標上運行,并通過 TCP 管理目標和遠程客戶端之間的實時數據交換。該庫抽象了硬件的低級細節,并提供了一個簡單而完整的編程接口,可用于高級項目。其模塊化架構、精心設計的 API 和內置網絡功能允許用戶創建應用程序,這些應用程序不僅可以在連接 IIO 設備的系統上運行,還可以通過網絡遠程運行。最初針對Linux,現在也可以通過使用庫的遠程后端在Windows下使用。它用C語言編寫并在LGPL下授權,具有C#,Python和MATLAB的綁定。MathWorks IIO 客戶端11可作為系統對象集成到本機 MATLAB 和 Simulink 應用程序中。它旨在通過以太網與連接到運行ADI Linux發行版的FPGA/SoC平臺的ADI硬件系統交換數據,使MATLAB或Simulink模型能夠執行以下功能:
將數據流式傳輸到目標或從目標流式傳輸數據
控制目標的設置
監控不同的目標參數
IIO 系統對象在 MATLAB 和 Simulink 中都可用,具體取決于用戶是從 MATLAB 腳本調用它還是將其合并到 MATLAB 系統塊中。ADI為FMCOMMS平臺提供的Linux軟件和HDL基礎設施是SDR應用原型設計的絕佳環境,以及MathWorks和Xilinx提供的工具,它還包含可集成到SDR系統中的生產就緒組件,有助于減少從概念到生產所需的時間和成本。
為了幫助客戶快速輕松地使用 IIO 系統對象,我們提供了幾個基于此接口的 MATLAB 和 Simulink 示例,例如信標幀接收器、12QPSK發射器和接收器,13以及LTE發射器和接收器。14在這些示例中,FMCOMMSx平臺由IIO系統對象配置,并用作RF前端,通過空中發送或接收模擬信號。這些信號通過IIO系統對象流向目標或從目標流出。所有其他信號處理都在 MATLAB 或 Simulink 中進行。圖 4 是信標幀接收器示例的屏幕截圖,其中顯示了 IIO 系統對象與其他 Simulink 模塊之間的典型連接。
圖4.信標幀接收器示例的屏幕截圖。
MathWorks 對 Zynq 的支持
MathWorks 對基于 Zynq 的 SDR 的支持主要來自以下四個方面:
1. AD9361 模擬模型
由于AD9361是一款集成RF收發器芯片,因此無法進行信號探測和內部工作監控。出于這個原因,MathWorks和ADI公司共同開發了AD9361的SimRF?模型,該模型允許對芯片的運行進行仿真,以便客戶能夠準確了解引擎蓋下的情況,以及芯片在不同測試條件下的性能,這些條件在現實生活中難以復制。SimRF 提供元件庫和仿真引擎,用于使用等效基帶或電路包絡模塊(如放大器、混頻器和 S 參數模塊)設計射頻系統。它是對AD9361 RF收發器進行建模的有用且合適的工具。圖5所示的系統級捷變RF收發器AD9361模型完全復制了AD9361的功能,并作為MathWorks硬件支持包提供給用戶。15
SimRF 模型已在實驗室中通過功率譜測量進行了驗證。確定了收發器在不同頻率和功率水平下的噪聲和非線性特性。然后設計模型以生成相同的特征,從而在整個設計范圍內驗證它們。
使用AD9361收發器SimRF型號,用戶可以執行以下操作:
預測射頻缺陷對測試信號的影響
使用參考音和 LTE 信號
生成或導入測試矢量,并評估非線性、噪聲、增益和相位不平衡、頻譜泄漏以及RF發射器和接收器引入的其他缺陷的影響
添加干擾信號并在時域或頻域中評估結果
圖5.捷變射頻接收器AD9361的MathWorks SimRF模型。
2. 通信和DSP系統工具箱功能
MathWorks 產品,如通信系統工具箱,?16信號處理工具箱,?17 DSP系統工具箱,?18和模擬射頻19提供行業標準算法和應用程序,用于系統地分析、設計和調整 SDR 系統。所有這些工具都提供了創建高保真SDR模型的方法,這些模型可用于在實際物理實現之前驗證通信系統的行為和性能。
3. Zynq 的 Simulink 工作流程
MathWorks 的 MATLAB 和 Simulink 是用于多域仿真和基于模型的設計的環境,非常適合使用通信算法仿真 SDR 系統。通信算法調整增益、頻率偏移、定時偏移和其他性能變量,通常是為了在發射器和接收器系統之間實現更好的同步。在進行昂貴的硬件測試之前,使用仿真評估通信算法是確定SDR設計適用性并減少算法開發時間和成本的有效方法。圖 6 描述了通過以下步驟設計通信算法的高效工作流程:
使用基于模型的設計環境提供的庫構建準確的 SDR 模型。
模擬系統行為以驗證系統是否按預期運行。
生成 C 代碼和 HDL 以進行實時測試和實施。
使用原型硬件測試通信算法。
一旦通過原型硬件上的仿真和測試證明SDR系統的性能令人滿意,就可以安全地將系統實施并將其部署到最終生產系統上。
圖6.通信算法設計的工作流程。
4. 同步墨水平臺與 Zynq SDR 套件的集成
一旦SDR系統在仿真環境中使用嵌入式編碼器等工具得到全面驗證?20和 HDL 編碼器?21從MathWorks,用戶可以使用嵌入式編碼器和VHDL或使用HDL Coder生成C代碼或Verilog,然后將代碼部署到原型硬件進行測試,然后部署到最終生產系統上。此時,指定了軟件和硬件實現要求,例如定點和定時行為。自動代碼生成有助于減少從概念到實際系統實施所需的時間,并避免引入手動編碼錯誤,確保實際的SDR實現與模型相匹配。圖 7 描述了在 Simulink 中對 SDR 系統進行建模并將其傳輸到基于 Xilinx Zynq SoC 的最終生產系統上所需步驟的真實過程。
圖7.從模擬到生產的路徑。
第一步是在 Simulink 中對 SDR 系統進行建模和仿真。在此階段,通信算法被劃分為將在軟件中實現的塊和將在可編程邏輯中實現的塊。分區和仿真完成后,SDR 模型將使用嵌入式編碼器和 HDL 編碼器轉換為 C 代碼和 HDL。基于 Zynq 的原型系統用于驗證通信算法的性能,并幫助在進入實際生產階段之前進一步調整 SDR 模型。在生產階段,自動生成的C代碼和HDL被集成到復雜的生產系統框架中。該工作流程可確保通信算法一旦進入生產階段,就會得到充分驗證和測試,并為系統的穩健性提供很大的信心。Zynq 嵌入式編碼器和 HDL 編碼器硬件支持包為集成硬件/軟件設計、仿真和驗證提供了一個框架,可將基于模型的設計集成到工作流程中,從而實現快速設計迭代周期,并幫助及早檢測和糾正設計和規范錯誤,從而更輕松地對 Zynq 平臺進行編程。
結論
本文闡述了現代 SDR 系統的要求和趨勢,以及 MathWorks、Xilinx 和 ADI 公司為滿足這些要求并幫助推動實現性能更高的 SDR 解決方案而向市場推出的工具和系統。通過將 MathWorks 基于模型的設計和自動代碼生成工具與功能強大的 Xilinx Zynq SoC 和 ADI 集成射頻收發器相結合,SDR 系統的設計、驗證、測試和實施可以比以往更加有效,從而獲得更高性能的無線電系統并縮短上市時間。ADI公司的FMCOMMS平臺與Avnet Zynq-7000 AP SoC配對,為使用MathWorks的MATLAB和Simulink設計的SDR算法提供了出色的原型設計環境。FMCOMMS平臺附帶一組開源參考設計,旨在為任何想要評估系統并幫助啟動任何新SDR項目的人提供一個起點。
審核編輯:郭婷
-
ADI
+關注
關注
146文章
45819瀏覽量
249769 -
SDR
+關注
關注
7文章
233瀏覽量
50461 -
無線電
+關注
關注
59文章
2139瀏覽量
116437
發布評論請先 登錄
相關推薦
評論