摘 要: 提出了一種PowerPC和FPGA可重構(gòu)配置技術(shù),并以此構(gòu)建了軟件無線電系統(tǒng),主要研究了系統(tǒng)的可重構(gòu)軟硬件設(shè)計方案。重點闡述了系統(tǒng)可重構(gòu)實現(xiàn)的幾個關(guān)鍵技術(shù):可重構(gòu)硬件核心架構(gòu)構(gòu)建,PowerPC重構(gòu)配置軟件構(gòu)建,F(xiàn)PGA重構(gòu)配置軟件構(gòu)建,并對系統(tǒng)的重構(gòu)配置進行了試驗測試。通過試驗表明,該系統(tǒng)重構(gòu)配置的成功率高、速度快,滿足設(shè)計要求。
關(guān)鍵詞: PowerPC; FPGA; 可重構(gòu)配置技術(shù); 軟件無線電
中圖分類號: TN92?34 文獻標識碼: A 文章編號: 1004?373X(2016)19?0025?04
Abstract: A reconfiguration technology based on PowerPC and FPGA is proposed. And on this basis, the software?defined radio (SDR) system was constructed. The design schemes of reconfiguration software and hardware are studied mainly in this system. Several key technologies for system reconfigurable realization are described, including the constructions of reconfigurable hardware core architecture, PowerPC reconfiguration software, and FPGA reconfiguration software. The reconfiguration technology of the system was tested. The test results show that the system reconfiguration has high success rate and fast speed, and can meet the design requirements.
Keywords: PowerPC; FPGA; reconfiguration technology; SDR
0 引 言
軟件無線電的概念由MILTRE公司的Jeo Mitola于1992年5月首次提出[1]。作為一種新的無線電體系架構(gòu),它的核心思想是通過硬件和軟件的結(jié)合使無線網(wǎng)絡(luò)和用戶終端具有可重構(gòu)配置能力[2]。其中,可重構(gòu)配置技術(shù)是構(gòu)建軟件無線電體系的關(guān)鍵技術(shù)。
隨著科技發(fā)展水平的提高和工藝的進步,以具有豐富外設(shè)資源、處理能力強的PowerPC芯片及具有超大規(guī)模、低功耗特性的FPGA芯片為核心構(gòu)建的數(shù)字處理平臺廣泛應(yīng)用于目前的無線通信裝備中[4?5],并發(fā)揮著重要作用。因此,針對PowerPC和FPGA進行可重構(gòu)配置設(shè)計對構(gòu)建具有可重構(gòu)配置能力的軟件無線電系統(tǒng)有著重要意義。基于上述原因,本文提出了一種軟件無線電系統(tǒng)PowerPC和FPGA可重構(gòu)配置技術(shù)與實現(xiàn)方法,形成了一套軟件無線電可重構(gòu)配置解決方案。
1 主要技術(shù)介紹
1.1 FPGA可重構(gòu)技術(shù)
FPGA可重構(gòu)技術(shù)可以分為靜態(tài)重構(gòu)和動態(tài)重構(gòu)兩類。前者是指在系統(tǒng)空閑期間進行在線編程,即斷開先前的電路功能后重新下載存儲器中不同的目標數(shù)據(jù)來改變目標系統(tǒng)邏輯功能;后者是指在系統(tǒng)實時運行中對FPGA芯片進行動態(tài)配置,改變電路功能同時仍能保證電路的動態(tài)接續(xù)[6?7] 。
1.2 基于模塊動態(tài)加卸載的PowerPC重構(gòu)配置技術(shù)
PowerPC運行嵌入式VxWorks操作系統(tǒng),VxWorks操作系統(tǒng)支持對模塊分別進行編譯生成,并且可以在系統(tǒng)運行過程中動態(tài)的加載或卸載模塊[8]。本文利用VxWorks操作系統(tǒng)的這個特性,通過軟件模塊化設(shè)計,使軟件各個組件之間具有最小的耦合,改善軟件的結(jié)構(gòu)[9];在系統(tǒng)運行時,動態(tài)加載多個應(yīng)用程序模塊,實現(xiàn)這些模塊的鏈接和相互調(diào)用,從而實現(xiàn)系統(tǒng)功能的重構(gòu)。
2 基于可重構(gòu)配置的軟件無線電系統(tǒng)框架設(shè)計
軟件無線電系統(tǒng)以PowerPC,F(xiàn)PGA作為可重構(gòu)硬件平臺的核心。平臺架構(gòu)如圖1所示,由顯控子系統(tǒng),主控子系統(tǒng)、基帶/中頻處理子系統(tǒng)、射頻子系統(tǒng)、天線組成。可重構(gòu)核心部分包括主控子系統(tǒng)、基帶/中頻處理子系統(tǒng)。
2.1 主控子系統(tǒng)
主控子系統(tǒng)采用嵌入式控制芯片PowerPC作為軟件無線電網(wǎng)絡(luò)協(xié)議生成/解析、信息生成/解析、數(shù)據(jù)融合和功能重構(gòu)控制的核心器件。存儲模塊用于存儲可重構(gòu)功能組件,采用固態(tài)盤的形式,并可實現(xiàn)存儲容量的靈活拓展。主控子系統(tǒng)與基帶/中頻處理子系統(tǒng)、射頻子系統(tǒng)的通信采用具有可擴展性的標準CPCI總線[10],主控子系統(tǒng)與顯控子系統(tǒng)通過以太網(wǎng)連接。
2.2 基帶/中頻處理子系統(tǒng)
基帶/中頻處理子系統(tǒng)采用FPGA這類可重構(gòu)器件作為基帶/中頻信號處理的核心器件。其中2片任務(wù)功能FPGA(FPGA1,F(xiàn)PGA2)作為動態(tài)加載的承載體:FPGA1實現(xiàn)中頻信號接收及下變頻、同步、解調(diào)、解碼等功能;FPGA2實現(xiàn)編碼、調(diào)制、上變頻及中頻信號輸出等功能。配置FPGA(FPGAld)則實現(xiàn)對任務(wù)功能FPGA的重構(gòu)配置。
3 軟件無線電系統(tǒng)可重構(gòu)配置實現(xiàn)
3.1 可重構(gòu)硬件核心架構(gòu)構(gòu)建
系統(tǒng)硬件核心架構(gòu)如圖2所示。
(1) PowerPC:選用Freescale半導(dǎo)體公司高性能PowerPC架構(gòu)的PowerQuiccⅢ處理器MPC8548作為主控子系統(tǒng)核心控制處理器。該處理器最高頻率為1.5 GHz并支持PCI?E等接口,其擅長進行高速低時延的處理,適用于系統(tǒng)網(wǎng)絡(luò)協(xié)議分析、信息解析的實時處理以及高速重構(gòu)配置管理。
(2) FPGA1/2:選用Xilinx公司的Virter?5系列芯片XC5VSX50T作為基帶、中頻處理的核心處理器。并且該芯片基于SRAM工藝,可實現(xiàn)配置邏輯可重構(gòu)以及配置數(shù)據(jù)可回讀的功能,可作為重構(gòu)配置的承載體。
(3) FPGAld:選用Xilinx公司的SPARTAN?3AN系列芯片XC3S1400AN作為重構(gòu)配置的微控制器,通過獨立的電路設(shè)計實現(xiàn)對兩片任務(wù)功能FPGA(FPGA1,F(xiàn)PGA2)的并行重構(gòu)配置。
PowerPC通過CPCI接口與FPGAld連接,F(xiàn)PGA1,F(xiàn)PGA2的加載控制管腳與FPGAld的I/O管腳相連,F(xiàn)PGAld產(chǎn)生相應(yīng)的加載時序?qū)崿F(xiàn)對FPGA1,F(xiàn)PGA2的在線配置。系統(tǒng)進行可重構(gòu)配置時,PowerPC將軟件功能組件bit文件發(fā)給FPGAld, FPGAld對FPGA1,F(xiàn)PGA2實現(xiàn)重構(gòu)配置,PowerPC通過模塊動態(tài)加載的方式實現(xiàn)自身的功能重構(gòu)。
3.2 可重構(gòu)軟件設(shè)計
3.2.1 可重構(gòu)軟件設(shè)計概要
軟件無線電系統(tǒng)可重構(gòu)軟件的典型架構(gòu)如圖3所示,主要包括主控軟件框架、重構(gòu)配置軟件以及波形組件。系統(tǒng)軟件以重構(gòu)配置軟件構(gòu)建為基礎(chǔ),利用模塊化的波形組件實現(xiàn)系統(tǒng)功能的可重構(gòu)。
(1) 主控軟件
主控軟件具有數(shù)據(jù)融合、軟件配置、接口管理等功能,可以實現(xiàn)人機交互軟件對硬件資源訪問及軟件模塊調(diào)配,實現(xiàn)數(shù)據(jù)融合處理并通過重構(gòu)配置軟件實現(xiàn)波形組件的管理和調(diào)用。
(2) 波形組件
波形組件是指可重構(gòu)的軟件無線電系統(tǒng)所需的各種程序模塊,典型的組件包括:信號調(diào)制/解調(diào)模塊、信道編碼/解碼模塊、插入/去除同步引導(dǎo)頭模塊、信息生成/解析模塊、網(wǎng)絡(luò)協(xié)議生成/解析模塊等。各波形組件模塊以功能函數(shù)的形式通過主控軟件調(diào)用。
(3) 重構(gòu)配置軟件
重構(gòu)配置軟件是實現(xiàn)系統(tǒng)可重構(gòu)的核心,包括PowerPC重構(gòu)配置軟件、FPGA重構(gòu)配置軟件。PowerPC重構(gòu)配置軟件采用模塊動態(tài)加卸載的方式,加載的波形組件包括信息生成/解析模塊、網(wǎng)絡(luò)協(xié)議生成/解析模塊等。FPGA重構(gòu)配置軟件采用動態(tài)加載方式,加載的波形組件包括信號調(diào)制/解調(diào)模塊、信道編碼/解碼模塊、插入/去除同步引導(dǎo)頭模塊等。
3.2.2 PowerPC重構(gòu)配置軟件的構(gòu)建
PowerPC重構(gòu)配置軟件是運行于VxWorks操作系統(tǒng)上的功能可重構(gòu)的嵌入式軟件。該軟件同時需要控制FPGA的加載配置,因此程序框架主要由兩個部分組成:一是控制PowerPC應(yīng)用程序自身功能重構(gòu)的管理部分;另一個是FPGA加載配置的管理部分。
PowerPC重構(gòu)配置軟件主要由重構(gòu)管理模塊、模塊文件管理模塊、應(yīng)用程序加載卸載控制模塊以及FPGA加載控制模塊組成。
重構(gòu)管理模塊:通過網(wǎng)絡(luò)接口與重構(gòu)管理軟件進行通信,實現(xiàn)在重構(gòu)管理軟件的控制下完成對功能模塊的加載卸載、對FPGA的動態(tài)加載控制以及對應(yīng)用程序配置文件和FPGA加載配置文件的管理。
模塊文件管理模塊:在重構(gòu)管理軟件的控制下,實現(xiàn)對應(yīng)用程序模塊文件和FPGA加載文件的管理,包括增加文件、刪除文件和替換文件等功能。
應(yīng)用程序加載卸載模塊:是實現(xiàn)PowerPC功能重構(gòu)的重要部分,其利用VxWorks系統(tǒng)的接口函數(shù)loadModule()和unldByModuleId()實現(xiàn)應(yīng)用程序模塊(波形組建)的加載和卸載。配置軟件為了能對所有的應(yīng)用程序模塊進行控制,每個應(yīng)用程序模塊必須實現(xiàn)run()和stop()兩個接口,以被加卸載框架進行調(diào)用,并且在stop()接口中,必須將本應(yīng)用程序模塊申請的資源進行釋放。
FPGA加載控制模塊:該模塊的主要功能是對FPGA的加載進行控制。該模塊從嵌入式文件系統(tǒng)中讀取FPGA加載文件,然后通過CPCI接口將文件數(shù)據(jù)分包發(fā)送到加載FPGA中,直到所有文件數(shù)據(jù)加載完成,同時對FPGA的加載狀態(tài)進行讀取,判斷FPGA是否成功加載。該模塊中每個FPGA的加載設(shè)計成單獨一個任務(wù),因此可以建立多個任務(wù)實現(xiàn)多個FPGA同時進行加載。
軟件可實現(xiàn)遠程加載和本地加載(無需顯控子系統(tǒng)重構(gòu)管理軟件控制)。在本地加載模式下,PowerPC重構(gòu)配置軟件將從應(yīng)用程序配置文件和FPGA配置文件中讀取重構(gòu)信息,從而對FPGA進行加載和對應(yīng)用程序模塊進行加載運行。系統(tǒng)的啟動流程如圖6所示。
3.2.3 FPGA重構(gòu)配置軟件的構(gòu)建
FPGA重構(gòu)配置軟件通過FPGAld中的Verilog代碼實現(xiàn)。重構(gòu)配置流程如圖7所示。
對FPGA加載的時序如圖8所示。首先將PROG_B管腳拉低,此時FPGA自動將INIT_B管腳拉低,等待FPGA初始化完成,即INIT_B管腳拉高并采樣配置模式M[2:0]后,此時可輸出CCLK及相應(yīng)的配置數(shù)據(jù),配置成功后,F(xiàn)PGA會將DONE管腳電平拉高,在整個配置過程中,都需要將CS_B和RDWR管腳電平拉低。
4 試驗驗證
按照圖2的架構(gòu)搭建了可重構(gòu)軟件無線電系統(tǒng)平臺,通過試驗對系統(tǒng)可重構(gòu)設(shè)計的可行性進行驗證。配置系統(tǒng)可重構(gòu)功能組件:調(diào)制及解調(diào)模式(MSK)、編碼模式(卷積碼)以及特定的網(wǎng)絡(luò)協(xié)議、報文信息協(xié)議。重構(gòu)試驗中功能組件加載路徑如圖9所示,將系統(tǒng)D/A輸出與A/D輸入直連進行重構(gòu)后功能自環(huán)測試。
通過100次重構(gòu)試驗測試,系統(tǒng)通信功能均正常,重構(gòu)成功率為100%。系統(tǒng)重構(gòu)時間(含功能模塊調(diào)用、傳輸、加載的時間)的最大值為10 s,可以實現(xiàn)系統(tǒng)功能快速重構(gòu)。
5 結(jié) 語
本文研究了一種基于PowerPC和FPGA的可重構(gòu)配置方法,介紹了一種軟件無線電系統(tǒng)可重構(gòu)配置框架設(shè)計方式。并對軟件無線電系統(tǒng)可重構(gòu)配置實現(xiàn)的關(guān)鍵技術(shù)進行了詳細闡述,主要包括可重構(gòu)硬件核心架構(gòu)構(gòu)建、PowerPC重構(gòu)配置軟件構(gòu)建、FPGA重構(gòu)配置軟件構(gòu)建,并搭建了可重構(gòu)軟件無線電系統(tǒng)平臺進行試驗驗證。研究表明,基于PowerPC和FPGA的可重構(gòu)設(shè)計在軟件無線電系統(tǒng)中的應(yīng)用是可行的。
參考文獻
[1] MITOLA J. Software radio: survey, critical evaluation and future directions [J]. IEEE aerospace and electronic systems ma?gazine, 1993, 8(4): 25?36.
[2] 楊小牛,樓才義,徐建良.軟件無線電技術(shù)與應(yīng)用[M].北京:北京理工大學(xué)出版社,2010.
[3] 湯軍,趙菲.美軍JTRS對海軍通信裝備發(fā)展的啟示[J].艦船電子工程,2011,31(6):24?28.
[4] 張兢.基于PowerPC的通信系統(tǒng)設(shè)計與實現(xiàn)[J].西安郵電學(xué)院學(xué)報,2006,11(1):90?93.
[5] 孟紹良,張海柱,劉述防,等.基于FPGA的直序擴頻通信系統(tǒng)設(shè)計[J].哈爾濱理工大學(xué)學(xué)報,2012,17(6):106?109.
[6] 覃祥菊,朱明程,張?zhí)劊?FPGA動態(tài)可重構(gòu)技術(shù)原理及實現(xiàn)方法分析[J].電子器件,2004,27(2):277?282.
[7] 南希,龔龍慶,田衛(wèi),等.基于FPGA的動態(tài)可重構(gòu)系統(tǒng)設(shè)計與實現(xiàn)[J].現(xiàn)代電子技術(shù),2009,32(6):4?7.
[8] 王鵬,張友根,李永剛.一種改進的VxWorks模塊卸載方法研究[J].裝備指揮技術(shù)學(xué)院學(xué)報,2010,21(5):83?87.
[9] 蘭巨龍,邢池強,胡宇翔,等.可重構(gòu)技術(shù)與未來網(wǎng)絡(luò)體系架構(gòu)[J].電信科學(xué),2013(8):16?23.
[10] 張玲,李鵬.一種具有主從自適應(yīng)功能的CPCI通用處理模塊設(shè)計[J].現(xiàn)代電子技術(shù),2012,35(20):19?20.