羅 清,趙 利
(桂林電子科技大學信息與通信學院,廣西 桂林 541004)
隨著通信技術(shù)的不斷發(fā)展,各種編譯碼算法、調(diào)制解調(diào)方式不斷涌現(xiàn)出來,各種通信服務依靠于不同的標準和支持這一標準的通信設備。這給不同通信體制下的通信接口服務提出了難題,軟件無線電(Soft Defined Radios)的提出是解決這一問題的有效途徑之一。軟件無線電的中心思想是構(gòu)建一個開放性、模塊化的、標準的、可重構(gòu)的通用硬件平臺,將一系列的通信功能諸如工作頻段、調(diào)制解調(diào)類型、數(shù)據(jù)格式、加解密算法等通過軟件加載來實現(xiàn)的開放式體系結(jié)構(gòu)[1]。
軟件無線電系統(tǒng)設計可采用DSP、FPGA、ASIC的方法實現(xiàn),其中ASIC又分為多片ASIC和可編程ASIC。采用DSP成本高、系統(tǒng)功耗大、在高速信號處理場合,實時性不夠好,但可升級性高,擅長算法復雜的信號處理;采用FPGA成本低、靈活性高、功耗低,實時性好,但對復雜算法的數(shù)字信號處理能力相對欠缺;多片ASIC不僅成本高,而且系統(tǒng)沒有可升級性,可編程ASIC雖然成本較低,但是可升級性弱?;诖?,本文設計了一種GP-SDR軟件無線電數(shù)字信號處理平臺,此架構(gòu)的軟件無線電信號處理平臺能夠兼顧成本、功耗、靈活性以及可升級性,是一種很好的軟件無線電解決方案。
GP-SDR的軟件無線電信號處理平臺的硬件結(jié)構(gòu)如圖1所示。
圖1 GP-SDR的軟件無線電信號處理平臺硬件結(jié)構(gòu)框圖
基于此架構(gòu)的軟件無線電信號處理平臺具有如下優(yōu)點:
1)增強了系統(tǒng)的靈活性,節(jié)約了成本,協(xié)議棧結(jié)構(gòu)易于升級,更加接近理想的軟件無線電系統(tǒng);系統(tǒng)的信號處理能力得到很大的提高,各個部分能充分發(fā)揮各自的優(yōu)勢,使得系統(tǒng)的資源分配更加合理,優(yōu)化了系統(tǒng)結(jié)構(gòu)。
2)協(xié)議棧全部基于GPP編程實現(xiàn),代替?zhèn)鹘y(tǒng)系統(tǒng)中由專用套片實現(xiàn)的方法,開發(fā)周期短,成本低。
3)GPP多核間靈活的多線程調(diào)度,單指令多集的應用,充分發(fā)揮多核CPU并行處理的能力;高吞吐量的通用硬件接口PCI-E或USB3.0/2.0接口,保證了硬件與軟件之間數(shù)據(jù)的交互。
DSP+FPGA構(gòu)成的數(shù)字硬件系統(tǒng)最大的優(yōu)點是結(jié)構(gòu)靈活,具有較強的通用性,適合模塊化設計,從而能夠提高算法效率;同時開發(fā)周期短,系統(tǒng)易于維護與升級,適合高速實時信號處理。GP-SDR軟件無線電信號處理平臺硬件結(jié)構(gòu)如圖2所示。
圖2 GP-SDR的軟件無線電信號處理平臺硬件結(jié)構(gòu)框圖
DSP的外圍電路包括電源電路、時鐘電路、復位電路、JTAG調(diào)試電路、外部存儲器總線接口電路,以及各種外部接口,包括音頻輸入輸出接口、以太網(wǎng)接口、UATR接口以及USB接口;FPGA的外圍電路包括電源電路、時鐘電路、存儲器電路、復位電路、調(diào)試電路以及EMIF接口。
DSP采用的是TI公司的32 bit浮點處理器TMS320C6713[2],它的最高主頻可以達到 225 MHz,且可以同時執(zhí)行8條指令,每秒可以處理1.8×109條浮點運算指令,是一款高性能、多功能的DSP芯片;內(nèi)核電壓供電芯片采用TI公司的TPS75801,它是一款輸出可調(diào)的電壓轉(zhuǎn)換芯片,輸入電壓最高5.5 V,最低2.8 V,輸出電壓最高5 V,最低1.22 V,DSP 內(nèi)核電壓為1.26 V,可以滿足要求;IO電壓供電芯片采用AMS1117,設計中采用5 V電壓輸入,3.3 V電壓輸出的固定電壓輸出方式;復位芯片采用MAXIM公司的MAX708T,芯片能夠在輸入電壓低于3.08 V時輸出復位信號,保證DSP能工作在正常的供電環(huán)境中;時鐘輸入來源于外部時鐘發(fā)生器CY22150,它是CYPRESS公司生產(chǎn)的一款抗時鐘抖動、偏移的在線可編程時鐘發(fā)生器,能夠輸出高精度的時鐘信號。JTAG接口是基于IEEE1149.1標準的一種邊界掃描測試方式。
FPGA采用的是XILINX公司的Spartan-3A DSP FPGA 系列的XC3SD3400A[3],集成系統(tǒng)門多達3.4 ×106個,內(nèi)部更是有多達126個DSP48A Slice、8個DCM,資源非常豐富。設計中使用了獨立于DSP的電源系統(tǒng),包含了2.5 V,1.8 V,3.3 V 三種 IO 電壓,其中 1.8 V 的 IO 電壓是為與DDR2接口所需要的;輸入電壓為+5 V,通過電壓轉(zhuǎn)換模塊PTH05050WAZ獲得3.3 V、2.5 V的IO電壓,PTH05050WAZ是TI公司一款輸出電壓可調(diào)的電源轉(zhuǎn)換模塊,通過調(diào)節(jié)調(diào)壓電阻獲得輸出在0.8~3.6 V之間的任何電壓值;通過PTH04000WAZ獲得1.2 V的內(nèi)核電壓,PTH04000WAZ也是TI公司一款輸出電壓可調(diào)的電源轉(zhuǎn)換模塊,同樣的通過調(diào)節(jié)調(diào)壓電阻可以獲得0.9~3.6 V之間的任何電壓值。復位電路采用TI公司的TPS3307與TPS3808,TPS3307用于監(jiān)控內(nèi)核電壓,TPS3308用于監(jiān)控1.8 V,2.5 V,3.3 V 三個 IO 電壓。CY22150 為 FPGA 提供輸入時鐘,通過FPGA內(nèi)部的DCM分頻倍頻獲得需要的信號,AD轉(zhuǎn)換的時鐘也由CY22150提供。設計中采用了2片微軟公司的DDR2芯片MT47H64M16HR組成128 Mbyte×32 bit的大容量存儲系統(tǒng)用于快速存取整個信號處理過程當中產(chǎn)生的大量數(shù)據(jù)。
FPGA通過DSP的EMIF接口與DSP相連,接口信號包括32 bit數(shù)據(jù)總線 ED[0∶31]、地址總線[2∶21]、部分握手控制信號和一些中斷控制引腳。
GPP-CPU部分主要是一些高層協(xié)議棧的設計,是整個系統(tǒng)重要的設計環(huán)節(jié)之一,經(jīng)過DSP+FPGA處理的基帶數(shù)據(jù)通過高速數(shù)據(jù)接口USB3.0傳入GPP做后續(xù)的處理,整個信號處理流程當中,DSP+FPGA只做數(shù)字信號的基帶處理,GPP負責完成后續(xù)的信號處理。
為儲存DSP和FPGA自啟動需要的配置信息,各自用1片F(xiàn)lash來存儲這些信息是一種比較常見的處理方式。為節(jié)省成本,系統(tǒng)設計中,DSP與FPGA共用一片配置Flash,由DSP控制FPGA的配置過程[4]。采用的是AMD公司的AM29F160D,容量為1 Mbyte×16,DSP加載模式設置為EMIF加載啟動,這種自加載方式從CE1空間的地址處拷貝1 kbyte的數(shù)據(jù),然后系統(tǒng)從地址0處開始執(zhí)行。FPGA加載模式設置為從并模式,由DSP通過EMIF接口將配置數(shù)據(jù)送至FPGA的配置鎖存器對FPGA進行配置。
通過DSP內(nèi)部的分頻倍頻器產(chǎn)生的時鐘一般都有抖動及衰落,為給DSP提供高質(zhì)量的時鐘信號,決定采用CY22150為DSP提供時鐘輸入以及EMIF工作時鐘。CY22150是CYPRESS公司一款在線可編程的時鐘發(fā)生器,可以產(chǎn)生6個低衰落、低抖動的高質(zhì)量時鐘輸出,最高輸出頻率時鐘為200 MHz,設計中,DSP的輸入時鐘為25 MHz,EMIF工作時鐘為100 MHz。同理,F(xiàn)PGA的輸入時鐘也由CY22150提供,再經(jīng)過FPGA內(nèi)部DCM分頻倍頻得到其他需要的時鐘信號。
AD采樣過程中,時鐘的抖動會引入相位噪聲,時鐘源產(chǎn)生的抖動會使ADC的內(nèi)部電路錯誤地觸發(fā)采樣時間,結(jié)果造成模擬輸入信號在幅度上的誤采樣,從而惡化ADC的信噪比,故而AD采樣需要一個低抖動的高質(zhì)量時鐘,CY22150為AD轉(zhuǎn)換提供時鐘。
欲使經(jīng)過DSP+FPGA處理的大量基帶數(shù)據(jù)得到實時的處理,則必須保證與GPP接口的高速性與穩(wěn)定性,USB3.0就是一個很好的選擇。USB3.0的數(shù)據(jù)帶寬是USB2.0的10倍,達到5 Gbit/s,而且具有低功耗、可以通過線纜提供更大的功率等USB2.0所沒有的優(yōu)點。
GPP-CPU是整個系統(tǒng)設計的重點環(huán)節(jié)之一,主要實現(xiàn)各個功能單元及相關接口的設計,功能單元包括數(shù)據(jù)處理單元、控制單元、用戶端設備控制單元,接口包括人機交互接口、應用編程接口;數(shù)據(jù)處理單元的作用是負責處理經(jīng)過DSP及FPGA處理的數(shù)字信號的后續(xù)信號處理工作,控制單元的作用是負責整個系統(tǒng)信號處理過程中的控制及系統(tǒng)資源的分配工作,用戶端設備控制單元的作用是維護及管理用戶端設備,人機接口的作用是為用戶管理及維護系統(tǒng)設備和資源提供一個可視性高、易操作的接入接口。GPP-CPU需要處理如此多復雜的數(shù)據(jù)及事務無疑給GPP-CPU的效率提出了很大的考驗,基于通用CPU的機制保證了GPP-CPU的效率,這些機制主要有:
1)多線程的編程保證了多項任務在多個CPU核中的并行執(zhí)行,充分發(fā)揮了多核CPU的優(yōu)勢;
2)基于通用操作系統(tǒng),使用高效率的數(shù)據(jù)零拷貝技術(shù),大幅度提高了數(shù)據(jù)在協(xié)議棧各層之間的拷貝吞吐量;
3)單指令多操作(SIMD)指令集充分發(fā)揮了CPU的數(shù)字信號處理能力。
GP-SDR軟件無線電信號處理平臺有很多優(yōu)點:1)平臺配置靈活,有多種配置方式;2)基于GPP-CPU上位機的開發(fā)更易于修改與移植;3)整個平臺的架構(gòu)更接近理想的軟件無線電系統(tǒng)。系統(tǒng)實現(xiàn)起來有一定難度,首先,基于DSP+FPGA通用硬件模塊的硬件設計與調(diào)試是難點之一,硬件設計包括原理圖設計、PCB布局、PCB布線[5-6]。對于原理圖的設計來說,由于設計當中重要元器件的管腳數(shù)目比較多,TMS320C6713有272個管腳,XC3SD3400A有676個管腳,而且芯片之間又有通信,連接也比較復雜,因此采用了平坦式的原理圖結(jié)構(gòu),按核心元件的功能劃分為電源模塊、存儲器模塊、DSP模塊、FPGA模塊4大模塊,AD/DA中頻板作為一個單獨的子板進行設計。在PCB布局方面采用按功能模塊分區(qū)布局的策略。PCB布線是整個硬件制作過程當中非常重要的一環(huán),直接關系到電路板性能的優(yōu)劣。設計中用到的DSP及FPGA都是BGA封裝,而且管腳數(shù)很多,因此采用了6層板的設計。布線過程當中應把握幾個大原則:1)模擬與數(shù)字部分盡量分開,不要跨區(qū)域布線;2)不同層的布線盡量垂直,減少層間信號耦合;3)差分線盡量靠近等長布線,以便信號同時到達;4)由于電源線及底線要承受較大的電流,在空間允許的情況下盡量加大它們的線寬。接下來是硬件平臺的調(diào)試,總的原則是按功能模塊劃分對每個模塊單獨進行調(diào)試,最后是各個模塊聯(lián)合調(diào)試。其次,DSP+FPGA系統(tǒng)的軟件設計以及驅(qū)動的開發(fā)也是設計的難點之一;最后,高層協(xié)議棧在GPP-CPU在上的實現(xiàn)以及與DSP+FPGA系統(tǒng)的通用高速硬件接口的設計與開發(fā)也是設計當中比較困難的部分。
XCS3D3400A內(nèi)部嵌入有126個DSP48 Slice,為驗證方便,這里用FPGA來實現(xiàn)DSP的功能。結(jié)合GNU Radio對系統(tǒng)進行仿真。GNU是一種最小程度的結(jié)合硬件(通常是USRP),用軟件來定義無線電波的發(fā)送和接收模式的一種軟件體系。結(jié)合GNU Radio的USRP(Universal Soft Radio Peripheral)對AM信號的解調(diào)進行了仿真驗證,用MODELSIM觀看仿真結(jié)果,仿真結(jié)果如圖3所示。
圖3 AM信號的解調(diào)(截圖)
由圖3可知,系統(tǒng)可正確實現(xiàn)AM信號的解調(diào),這說明系統(tǒng)方案是可行及合理的。
GP-SDR軟件無線電信號處理平臺結(jié)構(gòu)合理,優(yōu)勢明顯,是一種較好的軟件無線電信號處理解決方案。
[1]楊小牛,樓才義,徐建良.軟件無線電原理及其應用[M].北京:電子工業(yè)出版社,2001.
[2]TMS320C6713 data sheet[EB/OL].[2012-08-02].http://wenku.baidu.com/view/6093b70f6c85ec3a87c2c5a1.html.
[3]Spartan-3A DSP FPGA family data sheet[EB/OL].[2012-08-02].http://www.docin.com/p-465412822.html.
[4]李飛飛,蘇延川,王鵬.基于DSP的FPGA配置方法研究與實現(xiàn)[J].現(xiàn)代電子技術(shù),2011(24):60-62.
[5]白武奇.基于軟件無線電的的硬件設計與調(diào)試[D].西安:西安電子科技大學,2008.
[6]鈕心忻,楊義先.軟件無線電技術(shù)與應用[M].北京:北京郵電出版社,2001.