高 峰,魏興雲(yún),李東風(fēng)
(中國(guó)電子科技集團(tuán)公司 第三十研究所,四川 成都 610041)
一種可重構(gòu)配置技術(shù)在軟件無(wú)線電中的應(yīng)用
高峰,魏興雲(yún),李東風(fēng)
(中國(guó)電子科技集團(tuán)公司 第三十研究所,四川 成都610041)
提出了一種PowerPC和FPGA可重構(gòu)配置技術(shù),并以此構(gòu)建了軟件無(wú)線電系統(tǒng),主要研究了系統(tǒng)的可重構(gòu)軟硬件設(shè)計(jì)方案。重點(diǎn)闡述了系統(tǒng)可重構(gòu)實(shí)現(xiàn)的幾個(gè)關(guān)鍵技術(shù):可重構(gòu)硬件核心架構(gòu)構(gòu)建,PowerPC重構(gòu)配置軟件構(gòu)建,F(xiàn)PGA重構(gòu)配置軟件構(gòu)建,并對(duì)系統(tǒng)的重構(gòu)配置進(jìn)行了試驗(yàn)測(cè)試。通過(guò)試驗(yàn)表明,該系統(tǒng)重構(gòu)配置的成功率高、速度快,滿足設(shè)計(jì)要求。
PowerPC;FPGA;可重構(gòu)配置技術(shù);軟件無(wú)線電
軟件無(wú)線電的概念由MILTRE公司的Jeo Mitola于1992年5月首次提出[1]。作為一種新的無(wú)線電體系架構(gòu),它的核心思想是通過(guò)硬件和軟件的結(jié)合使無(wú)線網(wǎng)絡(luò)和用戶終端具有可重構(gòu)配置能力[2]。其中,可重構(gòu)配置技術(shù)是構(gòu)建軟件無(wú)線電體系的關(guān)鍵技術(shù)。
隨著科技發(fā)展水平的提高和工藝的進(jìn)步,以具有豐富外設(shè)資源、處理能力強(qiáng)的PowerPC芯片及具有超大規(guī)模、低功耗特性的FPGA芯片為核心構(gòu)建的數(shù)字處理平臺(tái)廣泛應(yīng)用于目前的無(wú)線通信裝備中[4-5],并發(fā)揮著重要作用。因此,針對(duì)PowerPC和FPGA進(jìn)行可重構(gòu)配置設(shè)計(jì)對(duì)構(gòu)建具有可重構(gòu)配置能力的軟件無(wú)線電系統(tǒng)有著重要意義。基于上述原因,本文提出了一種軟件無(wú)線電系統(tǒng)PowerPC和FPGA可重構(gòu)配置技術(shù)與實(shí)現(xiàn)方法,形成了一套軟件無(wú)線電可重構(gòu)配置解決方案。
1.1FPGA可重構(gòu)技術(shù)
FPGA可重構(gòu)技術(shù)可以分為靜態(tài)重構(gòu)和動(dòng)態(tài)重構(gòu)兩類。前者是指在系統(tǒng)空閑期間進(jìn)行在線編程,即斷開(kāi)先前的電路功能后重新下載存儲(chǔ)器中不同的目標(biāo)數(shù)據(jù)來(lái)改變目標(biāo)系統(tǒng)邏輯功能;后者是指在系統(tǒng)實(shí)時(shí)運(yùn)行中對(duì)FPGA芯片進(jìn)行動(dòng)態(tài)配置,改變電路功能同時(shí)仍能保證電路的動(dòng)態(tài)接續(xù)[6-7]。
1.2基于模塊動(dòng)態(tài)加卸載的PowerPC重構(gòu)配置技術(shù)
PowerPC運(yùn)行嵌入式VxWorks操作系統(tǒng),VxWorks操作系統(tǒng)支持對(duì)模塊分別進(jìn)行編譯生成,并且可以在系統(tǒng)運(yùn)行過(guò)程中動(dòng)態(tài)的加載或卸載模塊[8]。本文利用VxWorks操作系統(tǒng)的這個(gè)特性,通過(guò)軟件模塊化設(shè)計(jì),使軟件各個(gè)組件之間具有最小的耦合,改善軟件的結(jié)構(gòu)[9];在系統(tǒng)運(yùn)行時(shí),動(dòng)態(tài)加載多個(gè)應(yīng)用程序模塊,實(shí)現(xiàn)這些模塊的鏈接和相互調(diào)用,從而實(shí)現(xiàn)系統(tǒng)功能的重構(gòu)。
軟件無(wú)線電系統(tǒng)以PowerPC,F(xiàn)PGA作為可重構(gòu)硬件平臺(tái)的核心。平臺(tái)架構(gòu)如圖1所示,由顯控子系統(tǒng),主控子系統(tǒng)、基帶/中頻處理子系統(tǒng)、射頻子系統(tǒng)、天線組成。可重構(gòu)核心部分包括主控子系統(tǒng)、基帶/中頻處理子系統(tǒng)。
圖1 可重構(gòu)的軟件無(wú)線電系統(tǒng)框架
2.1主控子系統(tǒng)
主控子系統(tǒng)采用嵌入式控制芯片PowerPC作為軟件無(wú)線電網(wǎng)絡(luò)協(xié)議生成/解析、信息生成/解析、數(shù)據(jù)融合和功能重構(gòu)控制的核心器件。存儲(chǔ)模塊用于存儲(chǔ)可重構(gòu)功能組件,采用固態(tài)盤的形式,并可實(shí)現(xiàn)存儲(chǔ)容量的靈活拓展。主控子系統(tǒng)與基帶/中頻處理子系統(tǒng)、射頻子系統(tǒng)的通信采用具有可擴(kuò)展性的標(biāo)準(zhǔn)CPCI總線[10],主控子系統(tǒng)與顯控子系統(tǒng)通過(guò)以太網(wǎng)連接。
2.2基帶/中頻處理子系統(tǒng)
基帶/中頻處理子系統(tǒng)采用FPGA這類可重構(gòu)器件作為基帶/中頻信號(hào)處理的核心器件。其中2片任務(wù)功能FPGA(FPGA1,F(xiàn)PGA2)作為動(dòng)態(tài)加載的承載體:FPGA1實(shí)現(xiàn)中頻信號(hào)接收及下變頻、同步、解調(diào)、解碼等功能;FPGA2實(shí)現(xiàn)編碼、調(diào)制、上變頻及中頻信號(hào)輸出等功能。配置FPGA(FPGAld)則實(shí)現(xiàn)對(duì)任務(wù)功能FPGA的重構(gòu)配置。
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等接口,其擅長(zhǎng)進(jìn)行高速低時(shí)延的處理,適用于系統(tǒng)網(wǎng)絡(luò)協(xié)議分析、信息解析的實(shí)時(shí)處理以及高速重構(gòu)配置管理。
(2)FPGA1/2:選用Xilinx公司的Virter-5系列芯片XC5VSX50T作為基帶、中頻處理的核心處理器。并且該芯片基于SRAM工藝,可實(shí)現(xiàn)配置邏輯可重構(gòu)以及配置數(shù)據(jù)可回讀的功能,可作為重構(gòu)配置的承載體。
(3)FPGAld:選用Xilinx公司的SPARTAN-3AN系列芯片XC3S1400AN作為重構(gòu)配置的微控制器,通過(guò)獨(dú)立的電路設(shè)計(jì)實(shí)現(xiàn)對(duì)兩片任務(wù)功能FPGA(FPGA1,F(xiàn)PGA2)的并行重構(gòu)配置。
PowerPC通過(guò)CPCI接口與FPGAld連接,F(xiàn)PGA1, FPGA2的加載控制管腳與FPGAld的I/O管腳相連,F(xiàn)PGAld產(chǎn)生相應(yīng)的加載時(shí)序?qū)崿F(xiàn)對(duì)FPGA1,F(xiàn)PGA2的在線配置。系統(tǒng)進(jìn)行可重構(gòu)配置時(shí),PowerPC將軟件功能組件bit文件發(fā)給FPGAld,F(xiàn)PGAld對(duì)FPGA1,F(xiàn)PGA2實(shí)現(xiàn)重構(gòu)配置,PowerPC通過(guò)模塊動(dòng)態(tài)加載的方式實(shí)現(xiàn)自身的功能重構(gòu)。
圖2 軟件無(wú)線電系統(tǒng)可重構(gòu)硬件核心架構(gòu)原理圖
3.2可重構(gòu)軟件設(shè)計(jì)
3.2.1可重構(gòu)軟件設(shè)計(jì)概要
軟件無(wú)線電系統(tǒng)可重構(gòu)軟件的典型架構(gòu)如圖3所示,主要包括主控軟件框架、重構(gòu)配置軟件以及波形組件。系統(tǒng)軟件以重構(gòu)配置軟件構(gòu)建為基礎(chǔ),利用模塊化的波形組件實(shí)現(xiàn)系統(tǒng)功能的可重構(gòu)。
圖3 軟件無(wú)線電系統(tǒng)可重構(gòu)軟件典型架構(gòu)
(1)主控軟件
主控軟件具有數(shù)據(jù)融合、軟件配置、接口管理等功能,可以實(shí)現(xiàn)人機(jī)交互軟件對(duì)硬件資源訪問(wèn)及軟件模塊調(diào)配,實(shí)現(xiàn)數(shù)據(jù)融合處理并通過(guò)重構(gòu)配置軟件實(shí)現(xiàn)波形組件的管理和調(diào)用。
(2)波形組件
波形組件是指可重構(gòu)的軟件無(wú)線電系統(tǒng)所需的各種程序模塊,典型的組件包括:信號(hào)調(diào)制/解調(diào)模塊、信道編碼/解碼模塊、插入/去除同步引導(dǎo)頭模塊、信息生成/解析模塊、網(wǎng)絡(luò)協(xié)議生成/解析模塊等。各波形組件模塊以功能函數(shù)的形式通過(guò)主控軟件調(diào)用。
(3)重構(gòu)配置軟件
重構(gòu)配置軟件是實(shí)現(xiàn)系統(tǒng)可重構(gòu)的核心,包括PowerPC重構(gòu)配置軟件、FPGA重構(gòu)配置軟件。PowerPC重構(gòu)配置軟件采用模塊動(dòng)態(tài)加卸載的方式,加載的波形組件包括信息生成/解析模塊、網(wǎng)絡(luò)協(xié)議生成/解析模塊等。FPGA重構(gòu)配置軟件采用動(dòng)態(tài)加載方式,加載的波形組件包括信號(hào)調(diào)制/解調(diào)模塊、信道編碼/解碼模塊、插入/去除同步引導(dǎo)頭模塊等。
3.2.2PowerPC重構(gòu)配置軟件的構(gòu)建
PowerPC重構(gòu)配置軟件是運(yùn)行于VxWorks操作系統(tǒng)上的功能可重構(gòu)的嵌入式軟件。該軟件同時(shí)需要控制FPGA的加載配置,因此程序框架主要由兩個(gè)部分組成:一是控制PowerPC應(yīng)用程序自身功能重構(gòu)的管理部分;另一個(gè)是FPGA加載配置的管理部分。重構(gòu)配置軟件框架如圖4所示。
圖4 PowerPC重構(gòu)配置軟件框架
PowerPC重構(gòu)配置軟件主要由重構(gòu)管理模塊、模塊文件管理模塊、應(yīng)用程序加載卸載控制模塊以及FPGA加載控制模塊組成。
重構(gòu)管理模塊:通過(guò)網(wǎng)絡(luò)接口與重構(gòu)管理軟件進(jìn)行通信,實(shí)現(xiàn)在重構(gòu)管理軟件的控制下完成對(duì)功能模塊的加載卸載、對(duì)FPGA的動(dòng)態(tài)加載控制以及對(duì)應(yīng)用程序配置文件和FPGA加載配置文件的管理。
模塊文件管理模塊:在重構(gòu)管理軟件的控制下,實(shí)現(xiàn)對(duì)應(yīng)用程序模塊文件和FPGA加載文件的管理,包括增加文件、刪除文件和替換文件等功能。
應(yīng)用程序加載卸載模塊:是實(shí)現(xiàn)PowerPC功能重構(gòu)的重要部分,其利用VxWorks系統(tǒng)的接口函數(shù)load-Module()和unldByModuleId()實(shí)現(xiàn)應(yīng)用程序模塊(波形組建)的加載和卸載。配置軟件為了能對(duì)所有的應(yīng)用程序模塊進(jìn)行控制,每個(gè)應(yīng)用程序模塊必須實(shí)現(xiàn)run()和stop()兩個(gè)接口,以被加卸載框架進(jìn)行調(diào)用,并且在stop()接口中,必須將本應(yīng)用程序模塊申請(qǐng)的資源進(jìn)行釋放。應(yīng)用程序模塊的重構(gòu)過(guò)程如圖5所示。
圖5 應(yīng)用程序重構(gòu)流程
FPGA加載控制模塊:該模塊的主要功能是對(duì)FPGA的加載進(jìn)行控制。該模塊從嵌入式文件系統(tǒng)中讀取FPGA加載文件,然后通過(guò)CPCI接口將文件數(shù)據(jù)分包發(fā)送到加載FPGA中,直到所有文件數(shù)據(jù)加載完成,同時(shí)對(duì)FPGA的加載狀態(tài)進(jìn)行讀取,判斷FPGA是否成功加載。該模塊中每個(gè)FPGA的加載設(shè)計(jì)成單獨(dú)一個(gè)任務(wù),因此可以建立多個(gè)任務(wù)實(shí)現(xiàn)多個(gè)FPGA同時(shí)進(jìn)行加載。
軟件可實(shí)現(xiàn)遠(yuǎn)程加載和本地加載(無(wú)需顯控子系統(tǒng)重構(gòu)管理軟件控制)。在本地加載模式下,PowerPC重構(gòu)配置軟件將從應(yīng)用程序配置文件和FPGA配置文件中讀取重構(gòu)信息,從而對(duì)FPGA進(jìn)行加載和對(duì)應(yīng)用程序模塊進(jìn)行加載運(yùn)行。系統(tǒng)的啟動(dòng)流程如圖6所示。
圖6 系統(tǒng)啟動(dòng)流程
3.2.3FPGA重構(gòu)配置軟件的構(gòu)建
FPGA重構(gòu)配置軟件通過(guò)FPGAld中的Verilog代碼實(shí)現(xiàn)。重構(gòu)配置流程如圖7所示。
對(duì)FPGA加載的時(shí)序如圖8所示。首先將PROG_B管腳拉低,此時(shí)FPGA自動(dòng)將INIT_B管腳拉低,等待FPGA初始化完成,即INIT_B管腳拉高并采樣配置模式M[2:0]后,此時(shí)可輸出CCLK及相應(yīng)的配置數(shù)據(jù),配置成功后,F(xiàn)PGA會(huì)將DONE管腳電平拉高,在整個(gè)配置過(guò)程中,都需要將CS_B和RDWR管腳電平拉低。
圖7 重構(gòu)配置FPGA軟件流程圖
圖8 FPGA重構(gòu)配置時(shí)序圖
按照?qǐng)D2的架構(gòu)搭建了可重構(gòu)軟件無(wú)線電系統(tǒng)平臺(tái),通過(guò)試驗(yàn)對(duì)系統(tǒng)可重構(gòu)設(shè)計(jì)的可行性進(jìn)行驗(yàn)證。配置系統(tǒng)可重構(gòu)功能組件:調(diào)制及解調(diào)模式(MSK)、編碼模式(卷積碼)以及特定的網(wǎng)絡(luò)協(xié)議、報(bào)文信息協(xié)議。重構(gòu)試驗(yàn)中功能組件加載路徑如圖9所示,將系統(tǒng)D/A輸出與A/D輸入直連進(jìn)行重構(gòu)后功能自環(huán)測(cè)試。
通過(guò)100次重構(gòu)試驗(yàn)測(cè)試,系統(tǒng)通信功能均正常,重構(gòu)成功率為100%。系統(tǒng)重構(gòu)時(shí)間(含功能模塊調(diào)用、傳輸、加載的時(shí)間)的最大值為10 s,可以實(shí)現(xiàn)系統(tǒng)功能快速重構(gòu)。
圖9 系統(tǒng)可重構(gòu)試驗(yàn)軟件加載流程
本文研究了一種基于PowerPC和FPGA的可重構(gòu)配置方法,介紹了一種軟件無(wú)線電系統(tǒng)可重構(gòu)配置框架設(shè)計(jì)方式。并對(duì)軟件無(wú)線電系統(tǒng)可重構(gòu)配置實(shí)現(xiàn)的關(guān)鍵技術(shù)進(jìn)行了詳細(xì)闡述,主要包括可重構(gòu)硬件核心架構(gòu)構(gòu)建、PowerPC重構(gòu)配置軟件構(gòu)建、FPGA重構(gòu)配置軟件構(gòu)建,并搭建了可重構(gòu)軟件無(wú)線電系統(tǒng)平臺(tái)進(jìn)行試驗(yàn)驗(yàn)證。研究表明,基于PowerPC和FPGA的可重構(gòu)設(shè)計(jì)在軟件無(wú)線電系統(tǒng)中的應(yīng)用是可行的。
[1]MITOLA J.Software radio:survey,critical evaluation and future directions[J].IEEE aerospace and electronic systems magazine,1993,8(4):25-36.
[2]楊小牛,樓才義,徐建良.軟件無(wú)線電技術(shù)與應(yīng)用[M].北京:北京理工大學(xué)出版社,2010.
[3]湯軍,趙菲.美軍JTRS對(duì)海軍通信裝備發(fā)展的啟示[J].艦船電子工程,2011,31(6):24-28.
[4]張兢.基于PowerPC的通信系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].西安郵電學(xué)院學(xué)報(bào),2006,11(1):90-93.
[5]孟紹良,張海柱,劉述防,等.基于FPGA的直序擴(kuò)頻通信系統(tǒng)設(shè)計(jì)[J].哈爾濱理工大學(xué)學(xué)報(bào),2012,17(6):106-109.
[6]覃祥菊,朱明程,張?zhí)劊?FPGA動(dòng)態(tài)可重構(gòu)技術(shù)原理及實(shí)現(xiàn)方法分析[J].電子器件,2004,27(2):277-282.
[7]南希,龔龍慶,田衛(wèi),等.基于FPGA的動(dòng)態(tài)可重構(gòu)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2009,32(6):4-7.
[8]王鵬,張友根,李永剛.一種改進(jìn)的VxWorks模塊卸載方法研究[J].裝備指揮技術(shù)學(xué)院學(xué)報(bào),2010,21(5):83-87.
[9]蘭巨龍,邢池強(qiáng),胡宇翔,等.可重構(gòu)技術(shù)與未來(lái)網(wǎng)絡(luò)體系架構(gòu)[J].電信科學(xué),2013(8):16-23.
[10]張玲,李鵬.一種具有主從自適應(yīng)功能的CPCI通用處理模塊設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2012,35(20):19-20.
Application of a reconfiguration technology in SDR system
GAO Feng,WEI Xingyun,LI Dongfeng
(No.30 Research Institute of CETC,Chengdu 610041,China)
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.
PowerPC;FPGA;reconfiguration technology;SDR
TN92-34
A
1004-373X(2016)19-0025-04
10.16652/j.issn.1004-373x.2016.19.006
2015-09-06
高峰(1982—),男,陜西人,碩士,高級(jí)工程師。研究方向?yàn)檐浖o(wú)線電及系統(tǒng)可重構(gòu)技術(shù)。
魏興雲(yún)(1987—),男,江西人,碩士,工程師。研究方向?yàn)檐浖芍貥?gòu)技術(shù)。
李東風(fēng)(1984—),男,河南人,碩士,工程師。研究方向?yàn)檐浖⒂布芍貥?gòu)技術(shù)。