麻志濱 王相 張敏
摘 要: 采用DM3730微控制器替代PC機(jī)配合USRP的硬件設(shè)計(jì)了新型嵌入式軟件無(wú)線平臺(tái)。該平臺(tái)使用Ubantu for ARM+GNURadio配置可以完全實(shí)現(xiàn)傳統(tǒng)軟件無(wú)線電的全部功能。在此介紹了新型嵌入式軟件無(wú)線電平臺(tái)的硬件設(shè)計(jì),闡述了Ubantu for ARM的搭建和GNURadio for ARM的編譯過(guò)程,并針對(duì)性地做了系統(tǒng)測(cè)試。該設(shè)計(jì)開(kāi)創(chuàng)性地用高性能ARM處理器搭配軟件無(wú)線電平臺(tái),使新的軟件無(wú)線電系統(tǒng)具有更低的功耗和更強(qiáng)的便攜性。
關(guān)鍵詞: DM3730; USRP; 軟件無(wú)線電; GNURadio
中圖分類號(hào): TN919?34; G741 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2014)10?0107?03
Abstract: With the coordination of the USRP, a new embedded software radio platform was designed by means of a micro controller named DM3730 instead of PC. This platform which adopts the configuration of Ubantu for ARM+GNURadio is able to fulfill all the functions of a traditional software defined radio. The hardware design of a new embedded software radio platform is introduced in this paper. The establishment of Ubantu for ARM and the compilation process of GNURadio for ARM are elaborated. Several related tests of the system were made. The design which innovatively puts the software radio platform and a high?performance ARM controller together makes the new software radio system to have better portability and lower power consumption.
Keywords: DM3730; USRP; software defined radio; GNURadio
0 引 言
在1992年5月美國(guó)的全國(guó)電信會(huì)議上,J.Mitole首次提出了“軟件無(wú)線電(SDR)”這個(gè)概念,此后該技術(shù)一直廣受關(guān)注并獲得了蓬勃發(fā)展[1]。軟件無(wú)線電指在通用的通信硬件平臺(tái)上加載不同的通信軟件,以實(shí)現(xiàn)不同的通信方式間的轉(zhuǎn)換[2]。2001年由Eric Blossom發(fā)起了GNU Radio開(kāi)源項(xiàng)目,并推出了一套通用軟件無(wú)線電外設(shè)(USRP)[3],時(shí)至今日該平臺(tái)已經(jīng)被廣泛運(yùn)用在教學(xué)、科研等多個(gè)方面。
在目前國(guó)內(nèi)外普遍使用的通用軟件無(wú)線電硬件外設(shè)(USRP)上,數(shù)字上變頻與下變頻的任務(wù)是由USRP上的FPGA來(lái)完成的。而基帶信號(hào)的處理過(guò)程需要非常大量的計(jì)算,需要依賴于處理性能很強(qiáng)的處理器,在過(guò)去只有唯一選擇PC機(jī)。本文針對(duì)傳統(tǒng)通用軟件無(wú)線電外設(shè)必須依賴沉重的PC機(jī),便攜性差和功耗大的缺點(diǎn),設(shè)計(jì)了一種基于高端嵌入式芯片DM3730的新型軟件無(wú)線電平臺(tái)。該平臺(tái)的嵌入式核心部分完美地替代了傳統(tǒng)PC的作用,使新的軟件無(wú)線電平臺(tái)在繼承了原有USRP的優(yōu)點(diǎn)的情況下,也具備了很強(qiáng)的便攜性和很低的功耗。
1 系統(tǒng)硬件設(shè)計(jì)
1.1 軟件無(wú)線電系統(tǒng)
軟件無(wú)線電系統(tǒng)負(fù)責(zé)進(jìn)行中頻采樣以及中頻信號(hào)到基帶信號(hào)之間的相互轉(zhuǎn)化[4],如圖1所示為軟件無(wú)線電系統(tǒng)的系統(tǒng)框圖。
FPGA控制核心采用的是Altera公司生產(chǎn)的颶風(fēng)一代Cyclone系列的EP1C12Q240,其主要功能是將ADC采集的中頻信號(hào)進(jìn)行下變頻(DDC)變換到基帶;另一個(gè)功能是作為數(shù)據(jù)樞紐,協(xié)調(diào)適配各路的ADC,DAC以及USB2.0接口之間進(jìn)行數(shù)據(jù)交換。
模擬部分主要使用了兩塊Analog Device公司生產(chǎn)的AD9862,每塊可以本別提供兩路12 b,64 MSPS的A/D變換和兩路14 b,128 MSPS的D/A變換,此外DAC單元還繼承了數(shù)字上變頻(DUC)的功能。
1.2 嵌入式處理核心
嵌入式處理核心在本系統(tǒng)上的作用是來(lái)替代傳統(tǒng)意義上的PC機(jī)的。軟件無(wú)線電平臺(tái)的一個(gè)核心思想是:基帶信號(hào)的處理過(guò)程由通用處理器完成而不是DSP來(lái)完成[5],將運(yùn)算和設(shè)計(jì)放在PC機(jī)上。在本系統(tǒng)中使用嵌入式處理核心來(lái)承擔(dān)基帶信號(hào)處理所需要的大量計(jì)算,并運(yùn)行界面程序完成通信系統(tǒng)的設(shè)計(jì)。如圖2所示為嵌入式處理核心的基本框架。
2 系統(tǒng)軟件設(shè)計(jì)
2.1 ARM架構(gòu)下的Ubuntu系統(tǒng)的搭建
烏班圖(Ubuntu)是一個(gè)以桌面應(yīng)用為主的Linux操作系統(tǒng),是當(dāng)前最受人們歡迎的免費(fèi)Linux操作系統(tǒng),GNURadio雖然提供了多平臺(tái)支持,但實(shí)際GNURadio對(duì)于Linux平臺(tái)的支持是最好的[6]。所以使用傳統(tǒng)意義上的軟件無(wú)線電系統(tǒng)均普遍采用Ubuntu(X86)配合GNURadio搭配作為開(kāi)發(fā)工具和調(diào)試平臺(tái)。
隨著當(dāng)前ARM處理器的飛速發(fā)展,ARM處理器的性能越來(lái)越強(qiáng),原本只能運(yùn)行在X86系統(tǒng)下的Ubuntu系統(tǒng)也被移植到了ARM端。Linaro是一個(gè)致力于為ARM架構(gòu)開(kāi)發(fā)開(kāi)源軟件的非盈利性組織,其推出的Linaro是一套針對(duì)于ARM平臺(tái)的文件系統(tǒng)[7]。2012年4月Linaro發(fā)布了最新的12.04版本,是基于Ubuntu12.04移植的ARM版Ubuntu。
Ti公司針對(duì)DM3730嵌入式處理器提供了一整套的官方Linux源碼包。原版的內(nèi)核需要針對(duì)性的對(duì)ARM平臺(tái)做些更改,根據(jù)硬件設(shè)計(jì)編寫(xiě)Kernel補(bǔ)丁并生成patch文件,打入補(bǔ)丁后配置并編譯生成新的UImage文件,復(fù)制到SD卡的EXT并下載到NandFlash中即可。完成內(nèi)核下載后,從Linaro官網(wǎng)(www.linaro.org)下載Linaro 12.04的文件系統(tǒng),復(fù)制到SD卡的EXT3分區(qū)中,完成文件系統(tǒng)的構(gòu)建。此時(shí)重新啟動(dòng)DM3730,即可順利啟動(dòng)Ubuntu12.04,此時(shí)可以彩屏上見(jiàn)到烏班圖系統(tǒng)的界面。
2.2 在ARM平臺(tái)下安裝GNURadio
GNURadio是一種運(yùn)行在通用處理器上的免費(fèi)的開(kāi)源軟件無(wú)線電庫(kù),與通用軟件無(wú)線電平臺(tái)(USRP)結(jié)合在一起,就可以構(gòu)成一個(gè)完整的非常靈活的無(wú)線電開(kāi)發(fā)平臺(tái)[8]。GNURaido提供了良好的圖形界面(GRC)和所有通用無(wú)線電所需要的庫(kù),采用C++結(jié)合Python語(yǔ)言聯(lián)合編程的方式[9]。因?yàn)镚NURadio的開(kāi)放性和易用性,在全世界包括中國(guó)都得到了及其廣泛的應(yīng)用。
由于GNURadio僅支持Linux操作系統(tǒng),所以安裝過(guò)程較為復(fù)雜。對(duì)于GNURadio支持較好的Ubantu系統(tǒng)直接提供了二進(jìn)制的安裝包,但使用的Linaro顯然不在支持較好的操作系統(tǒng)之列,所以想在ARM平臺(tái)下使用GNURadio,重新編譯GNURadio必不可少。同時(shí)Ubantu系統(tǒng)與Linaro系統(tǒng)的最大區(qū)別在其顯示設(shè)備上,X86平臺(tái)有通用的顯示設(shè)備和驅(qū)動(dòng)庫(kù)OpenGL,但由于ARM平臺(tái)下處理器性能的高低不同,并沒(méi)有通用的顯卡支持庫(kù),故編譯前需要對(duì)GNURadio做一個(gè)針對(duì)顯卡庫(kù)的Patch包。
2.3 軟件無(wú)線電平臺(tái)鏡像的下載
新制作完成的軟件無(wú)線電平臺(tái)的內(nèi)部是沒(méi)有下載程序的,需要通過(guò)一系列步驟將最新的FPGA鏡像與USB控制器鏡像下載到軟件無(wú)線電平臺(tái)的內(nèi)部。FPGA內(nèi)部并沒(méi)有集成程序空間存儲(chǔ)器,每次重新上電均需要重新配置FPGA,所以FPGA的鏡像是存儲(chǔ)在USB控制器CY7C68013A內(nèi)部8051核的程序存儲(chǔ)器中,每次上電自動(dòng)配置FPGA。
將軟件無(wú)線電平臺(tái)通電后,將USB線纜連接到電腦,此時(shí)應(yīng)確保電腦成功安裝平臺(tái)驅(qū)動(dòng)。若成功連接則軟件無(wú)線電平臺(tái)的母版上的D5燈會(huì)快速閃爍,此時(shí)打開(kāi)GNURadio,將編譯好的FPGA比特流文件.rbf文件與firmware固件.ihx文件下載即可。下載成功后軟件無(wú)線電平臺(tái)上的D5燈會(huì)正常閃爍。
3 系統(tǒng)測(cè)試
3.1 FFT頻譜實(shí)驗(yàn)
在開(kāi)始時(shí)可以運(yùn)行一個(gè)簡(jiǎn)單的程序來(lái)測(cè)試嵌入式軟件無(wú)線電平臺(tái)是否能夠正常工作。進(jìn)入/usr/local/bin目錄執(zhí)行uhd_fft文件,執(zhí)行程序設(shè)置Center freq為2.400 3 GHz,Sanple Rate為200K。如圖3所示,此時(shí)程序做出以2.400 3 GHz為中心頻率的頻譜圖。
程序?qū)崟r(shí)顯示接收到信號(hào)的頻譜圖,從圖中可以看出在2.4 GHz處出現(xiàn)了一個(gè)峰值。這是因?yàn)樗闹苡泻芏嗟腤IFI信號(hào),他們工作在2.4 GHz頻段,所以頻譜圖上存在一個(gè)尖峰,證明嵌入式軟件無(wú)線電平臺(tái)是正常工作的。
3.2 DPSK通信實(shí)驗(yàn)
差分移相鍵控(DPSK)是指利用調(diào)制信號(hào)前后碼元之間載波相對(duì)相位的變化來(lái)傳遞信息的[10]。通過(guò)兩臺(tái)嵌入式軟件無(wú)線電平臺(tái)來(lái)實(shí)現(xiàn)DPSK的調(diào)制與解調(diào),分別對(duì)兩臺(tái)嵌入式軟件無(wú)線電平臺(tái)載入發(fā)射程序和接受程序,中心頻率均設(shè)置2.45 GHz,采樣率設(shè)置500 kHz。
如圖4所示為發(fā)射機(jī)發(fā)射的發(fā)射信號(hào)、接收機(jī)接收的頻譜圖,圖5為接收機(jī)接收到的信號(hào)的星座圖。結(jié)合發(fā)射機(jī)與接收機(jī)的時(shí)域波形的對(duì)比和接受信號(hào)的星座圖可以判斷出DPSK通信成功。
4 結(jié) 語(yǔ)
本文介紹了一種基于DM3730設(shè)計(jì)的新型嵌入式軟件無(wú)線電平臺(tái)。該系統(tǒng)對(duì)傳統(tǒng)的USRP進(jìn)行了改進(jìn),使用高性能ARM嵌入式微控制器替代傳統(tǒng)PC機(jī)的作用,使得新的嵌入式軟件無(wú)線電平臺(tái)在繼承了傳統(tǒng)的優(yōu)點(diǎn)的同時(shí),又兼顧了便攜性,為將來(lái)的業(yè)務(wù)拓展和設(shè)備升級(jí)提供了保證。
基于嵌入式系統(tǒng)的設(shè)計(jì)使軟件無(wú)線電平臺(tái)具有了更大的靈活性,可以應(yīng)用于更多的依賴于小型化無(wú)線電設(shè)備的場(chǎng)景,并且隨著ARM控制器的性能的不斷提高和軟件技術(shù)的進(jìn)步,本系統(tǒng)的性能還有進(jìn)一步提升的可能性。
參考文獻(xiàn)
[1] MITOLA J. Software radio: survey, critical evaluation and future directions [C]// Proceedings of National Telesystems Conference.New York: IEEE Press, 1992: 15?23.
[2] 姜宇柏,游思晴.軟件無(wú)線電原理與工程應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2006.
[3] 曹瀚文,王博文.GNURadio:開(kāi)放的軟件無(wú)線電平臺(tái)[J].電信快報(bào),2007(4):31?34.
[4] 向新.軟件無(wú)線電原理與技術(shù)[M].西安:西安電子科技大學(xué)出版社,2008.
[5] 閆龍,王智海,祁兵.基于 GNURadio的230 MHz多通道主站電臺(tái)的設(shè)計(jì)[J].電力系統(tǒng)保護(hù)與控制,2010(9):100?104.
[6] MARCUS M. Linux, software radio and the radio amateur [J]. QST?NEWINGTON, 2002, 86(10): 33?35.
[7] WEHNER P, GOHRINGER D. Evaluation of driver assistance systems with a car simulator using a virtual and a real FPGA platform [C]// Processings of IEEE 2013 Conference on Design and Architectures for Signal and Image. [S.l.]: IEEE Press, 2013: 345?346.
[8] 楊宏,孔耀暉,茹晨光,等.基于 GNU Radio和USRP的無(wú)線通信系統(tǒng)建模仿真[J].現(xiàn)代電子技術(shù),2013,36(18):24?26.
[9] SILVIUS M D, GE F, YOUNG A, et al. Smart radio: spectrum access for first responders [J]. SPIE, 2008, 6980: 8?12.
[10] 王攀,陳利學(xué),計(jì)勇,等.基于FPGA的DPSK解調(diào)電路設(shè)計(jì)[J].軟件導(dǎo)刊,2009,8(4):13?15.
Ti公司針對(duì)DM3730嵌入式處理器提供了一整套的官方Linux源碼包。原版的內(nèi)核需要針對(duì)性的對(duì)ARM平臺(tái)做些更改,根據(jù)硬件設(shè)計(jì)編寫(xiě)Kernel補(bǔ)丁并生成patch文件,打入補(bǔ)丁后配置并編譯生成新的UImage文件,復(fù)制到SD卡的EXT并下載到NandFlash中即可。完成內(nèi)核下載后,從Linaro官網(wǎng)(www.linaro.org)下載Linaro 12.04的文件系統(tǒng),復(fù)制到SD卡的EXT3分區(qū)中,完成文件系統(tǒng)的構(gòu)建。此時(shí)重新啟動(dòng)DM3730,即可順利啟動(dòng)Ubuntu12.04,此時(shí)可以彩屏上見(jiàn)到烏班圖系統(tǒng)的界面。
2.2 在ARM平臺(tái)下安裝GNURadio
GNURadio是一種運(yùn)行在通用處理器上的免費(fèi)的開(kāi)源軟件無(wú)線電庫(kù),與通用軟件無(wú)線電平臺(tái)(USRP)結(jié)合在一起,就可以構(gòu)成一個(gè)完整的非常靈活的無(wú)線電開(kāi)發(fā)平臺(tái)[8]。GNURaido提供了良好的圖形界面(GRC)和所有通用無(wú)線電所需要的庫(kù),采用C++結(jié)合Python語(yǔ)言聯(lián)合編程的方式[9]。因?yàn)镚NURadio的開(kāi)放性和易用性,在全世界包括中國(guó)都得到了及其廣泛的應(yīng)用。
由于GNURadio僅支持Linux操作系統(tǒng),所以安裝過(guò)程較為復(fù)雜。對(duì)于GNURadio支持較好的Ubantu系統(tǒng)直接提供了二進(jìn)制的安裝包,但使用的Linaro顯然不在支持較好的操作系統(tǒng)之列,所以想在ARM平臺(tái)下使用GNURadio,重新編譯GNURadio必不可少。同時(shí)Ubantu系統(tǒng)與Linaro系統(tǒng)的最大區(qū)別在其顯示設(shè)備上,X86平臺(tái)有通用的顯示設(shè)備和驅(qū)動(dòng)庫(kù)OpenGL,但由于ARM平臺(tái)下處理器性能的高低不同,并沒(méi)有通用的顯卡支持庫(kù),故編譯前需要對(duì)GNURadio做一個(gè)針對(duì)顯卡庫(kù)的Patch包。
2.3 軟件無(wú)線電平臺(tái)鏡像的下載
新制作完成的軟件無(wú)線電平臺(tái)的內(nèi)部是沒(méi)有下載程序的,需要通過(guò)一系列步驟將最新的FPGA鏡像與USB控制器鏡像下載到軟件無(wú)線電平臺(tái)的內(nèi)部。FPGA內(nèi)部并沒(méi)有集成程序空間存儲(chǔ)器,每次重新上電均需要重新配置FPGA,所以FPGA的鏡像是存儲(chǔ)在USB控制器CY7C68013A內(nèi)部8051核的程序存儲(chǔ)器中,每次上電自動(dòng)配置FPGA。
將軟件無(wú)線電平臺(tái)通電后,將USB線纜連接到電腦,此時(shí)應(yīng)確保電腦成功安裝平臺(tái)驅(qū)動(dòng)。若成功連接則軟件無(wú)線電平臺(tái)的母版上的D5燈會(huì)快速閃爍,此時(shí)打開(kāi)GNURadio,將編譯好的FPGA比特流文件.rbf文件與firmware固件.ihx文件下載即可。下載成功后軟件無(wú)線電平臺(tái)上的D5燈會(huì)正常閃爍。
3 系統(tǒng)測(cè)試
3.1 FFT頻譜實(shí)驗(yàn)
在開(kāi)始時(shí)可以運(yùn)行一個(gè)簡(jiǎn)單的程序來(lái)測(cè)試嵌入式軟件無(wú)線電平臺(tái)是否能夠正常工作。進(jìn)入/usr/local/bin目錄執(zhí)行uhd_fft文件,執(zhí)行程序設(shè)置Center freq為2.400 3 GHz,Sanple Rate為200K。如圖3所示,此時(shí)程序做出以2.400 3 GHz為中心頻率的頻譜圖。
程序?qū)崟r(shí)顯示接收到信號(hào)的頻譜圖,從圖中可以看出在2.4 GHz處出現(xiàn)了一個(gè)峰值。這是因?yàn)樗闹苡泻芏嗟腤IFI信號(hào),他們工作在2.4 GHz頻段,所以頻譜圖上存在一個(gè)尖峰,證明嵌入式軟件無(wú)線電平臺(tái)是正常工作的。
3.2 DPSK通信實(shí)驗(yàn)
差分移相鍵控(DPSK)是指利用調(diào)制信號(hào)前后碼元之間載波相對(duì)相位的變化來(lái)傳遞信息的[10]。通過(guò)兩臺(tái)嵌入式軟件無(wú)線電平臺(tái)來(lái)實(shí)現(xiàn)DPSK的調(diào)制與解調(diào),分別對(duì)兩臺(tái)嵌入式軟件無(wú)線電平臺(tái)載入發(fā)射程序和接受程序,中心頻率均設(shè)置2.45 GHz,采樣率設(shè)置500 kHz。
如圖4所示為發(fā)射機(jī)發(fā)射的發(fā)射信號(hào)、接收機(jī)接收的頻譜圖,圖5為接收機(jī)接收到的信號(hào)的星座圖。結(jié)合發(fā)射機(jī)與接收機(jī)的時(shí)域波形的對(duì)比和接受信號(hào)的星座圖可以判斷出DPSK通信成功。
4 結(jié) 語(yǔ)
本文介紹了一種基于DM3730設(shè)計(jì)的新型嵌入式軟件無(wú)線電平臺(tái)。該系統(tǒng)對(duì)傳統(tǒng)的USRP進(jìn)行了改進(jìn),使用高性能ARM嵌入式微控制器替代傳統(tǒng)PC機(jī)的作用,使得新的嵌入式軟件無(wú)線電平臺(tái)在繼承了傳統(tǒng)的優(yōu)點(diǎn)的同時(shí),又兼顧了便攜性,為將來(lái)的業(yè)務(wù)拓展和設(shè)備升級(jí)提供了保證。
基于嵌入式系統(tǒng)的設(shè)計(jì)使軟件無(wú)線電平臺(tái)具有了更大的靈活性,可以應(yīng)用于更多的依賴于小型化無(wú)線電設(shè)備的場(chǎng)景,并且隨著ARM控制器的性能的不斷提高和軟件技術(shù)的進(jìn)步,本系統(tǒng)的性能還有進(jìn)一步提升的可能性。
參考文獻(xiàn)
[1] MITOLA J. Software radio: survey, critical evaluation and future directions [C]// Proceedings of National Telesystems Conference.New York: IEEE Press, 1992: 15?23.
[2] 姜宇柏,游思晴.軟件無(wú)線電原理與工程應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2006.
[3] 曹瀚文,王博文.GNURadio:開(kāi)放的軟件無(wú)線電平臺(tái)[J].電信快報(bào),2007(4):31?34.
[4] 向新.軟件無(wú)線電原理與技術(shù)[M].西安:西安電子科技大學(xué)出版社,2008.
[5] 閆龍,王智海,祁兵.基于 GNURadio的230 MHz多通道主站電臺(tái)的設(shè)計(jì)[J].電力系統(tǒng)保護(hù)與控制,2010(9):100?104.
[6] MARCUS M. Linux, software radio and the radio amateur [J]. QST?NEWINGTON, 2002, 86(10): 33?35.
[7] WEHNER P, GOHRINGER D. Evaluation of driver assistance systems with a car simulator using a virtual and a real FPGA platform [C]// Processings of IEEE 2013 Conference on Design and Architectures for Signal and Image. [S.l.]: IEEE Press, 2013: 345?346.
[8] 楊宏,孔耀暉,茹晨光,等.基于 GNU Radio和USRP的無(wú)線通信系統(tǒng)建模仿真[J].現(xiàn)代電子技術(shù),2013,36(18):24?26.
[9] SILVIUS M D, GE F, YOUNG A, et al. Smart radio: spectrum access for first responders [J]. SPIE, 2008, 6980: 8?12.
[10] 王攀,陳利學(xué),計(jì)勇,等.基于FPGA的DPSK解調(diào)電路設(shè)計(jì)[J].軟件導(dǎo)刊,2009,8(4):13?15.
Ti公司針對(duì)DM3730嵌入式處理器提供了一整套的官方Linux源碼包。原版的內(nèi)核需要針對(duì)性的對(duì)ARM平臺(tái)做些更改,根據(jù)硬件設(shè)計(jì)編寫(xiě)Kernel補(bǔ)丁并生成patch文件,打入補(bǔ)丁后配置并編譯生成新的UImage文件,復(fù)制到SD卡的EXT并下載到NandFlash中即可。完成內(nèi)核下載后,從Linaro官網(wǎng)(www.linaro.org)下載Linaro 12.04的文件系統(tǒng),復(fù)制到SD卡的EXT3分區(qū)中,完成文件系統(tǒng)的構(gòu)建。此時(shí)重新啟動(dòng)DM3730,即可順利啟動(dòng)Ubuntu12.04,此時(shí)可以彩屏上見(jiàn)到烏班圖系統(tǒng)的界面。
2.2 在ARM平臺(tái)下安裝GNURadio
GNURadio是一種運(yùn)行在通用處理器上的免費(fèi)的開(kāi)源軟件無(wú)線電庫(kù),與通用軟件無(wú)線電平臺(tái)(USRP)結(jié)合在一起,就可以構(gòu)成一個(gè)完整的非常靈活的無(wú)線電開(kāi)發(fā)平臺(tái)[8]。GNURaido提供了良好的圖形界面(GRC)和所有通用無(wú)線電所需要的庫(kù),采用C++結(jié)合Python語(yǔ)言聯(lián)合編程的方式[9]。因?yàn)镚NURadio的開(kāi)放性和易用性,在全世界包括中國(guó)都得到了及其廣泛的應(yīng)用。
由于GNURadio僅支持Linux操作系統(tǒng),所以安裝過(guò)程較為復(fù)雜。對(duì)于GNURadio支持較好的Ubantu系統(tǒng)直接提供了二進(jìn)制的安裝包,但使用的Linaro顯然不在支持較好的操作系統(tǒng)之列,所以想在ARM平臺(tái)下使用GNURadio,重新編譯GNURadio必不可少。同時(shí)Ubantu系統(tǒng)與Linaro系統(tǒng)的最大區(qū)別在其顯示設(shè)備上,X86平臺(tái)有通用的顯示設(shè)備和驅(qū)動(dòng)庫(kù)OpenGL,但由于ARM平臺(tái)下處理器性能的高低不同,并沒(méi)有通用的顯卡支持庫(kù),故編譯前需要對(duì)GNURadio做一個(gè)針對(duì)顯卡庫(kù)的Patch包。
2.3 軟件無(wú)線電平臺(tái)鏡像的下載
新制作完成的軟件無(wú)線電平臺(tái)的內(nèi)部是沒(méi)有下載程序的,需要通過(guò)一系列步驟將最新的FPGA鏡像與USB控制器鏡像下載到軟件無(wú)線電平臺(tái)的內(nèi)部。FPGA內(nèi)部并沒(méi)有集成程序空間存儲(chǔ)器,每次重新上電均需要重新配置FPGA,所以FPGA的鏡像是存儲(chǔ)在USB控制器CY7C68013A內(nèi)部8051核的程序存儲(chǔ)器中,每次上電自動(dòng)配置FPGA。
將軟件無(wú)線電平臺(tái)通電后,將USB線纜連接到電腦,此時(shí)應(yīng)確保電腦成功安裝平臺(tái)驅(qū)動(dòng)。若成功連接則軟件無(wú)線電平臺(tái)的母版上的D5燈會(huì)快速閃爍,此時(shí)打開(kāi)GNURadio,將編譯好的FPGA比特流文件.rbf文件與firmware固件.ihx文件下載即可。下載成功后軟件無(wú)線電平臺(tái)上的D5燈會(huì)正常閃爍。
3 系統(tǒng)測(cè)試
3.1 FFT頻譜實(shí)驗(yàn)
在開(kāi)始時(shí)可以運(yùn)行一個(gè)簡(jiǎn)單的程序來(lái)測(cè)試嵌入式軟件無(wú)線電平臺(tái)是否能夠正常工作。進(jìn)入/usr/local/bin目錄執(zhí)行uhd_fft文件,執(zhí)行程序設(shè)置Center freq為2.400 3 GHz,Sanple Rate為200K。如圖3所示,此時(shí)程序做出以2.400 3 GHz為中心頻率的頻譜圖。
程序?qū)崟r(shí)顯示接收到信號(hào)的頻譜圖,從圖中可以看出在2.4 GHz處出現(xiàn)了一個(gè)峰值。這是因?yàn)樗闹苡泻芏嗟腤IFI信號(hào),他們工作在2.4 GHz頻段,所以頻譜圖上存在一個(gè)尖峰,證明嵌入式軟件無(wú)線電平臺(tái)是正常工作的。
3.2 DPSK通信實(shí)驗(yàn)
差分移相鍵控(DPSK)是指利用調(diào)制信號(hào)前后碼元之間載波相對(duì)相位的變化來(lái)傳遞信息的[10]。通過(guò)兩臺(tái)嵌入式軟件無(wú)線電平臺(tái)來(lái)實(shí)現(xiàn)DPSK的調(diào)制與解調(diào),分別對(duì)兩臺(tái)嵌入式軟件無(wú)線電平臺(tái)載入發(fā)射程序和接受程序,中心頻率均設(shè)置2.45 GHz,采樣率設(shè)置500 kHz。
如圖4所示為發(fā)射機(jī)發(fā)射的發(fā)射信號(hào)、接收機(jī)接收的頻譜圖,圖5為接收機(jī)接收到的信號(hào)的星座圖。結(jié)合發(fā)射機(jī)與接收機(jī)的時(shí)域波形的對(duì)比和接受信號(hào)的星座圖可以判斷出DPSK通信成功。
4 結(jié) 語(yǔ)
本文介紹了一種基于DM3730設(shè)計(jì)的新型嵌入式軟件無(wú)線電平臺(tái)。該系統(tǒng)對(duì)傳統(tǒng)的USRP進(jìn)行了改進(jìn),使用高性能ARM嵌入式微控制器替代傳統(tǒng)PC機(jī)的作用,使得新的嵌入式軟件無(wú)線電平臺(tái)在繼承了傳統(tǒng)的優(yōu)點(diǎn)的同時(shí),又兼顧了便攜性,為將來(lái)的業(yè)務(wù)拓展和設(shè)備升級(jí)提供了保證。
基于嵌入式系統(tǒng)的設(shè)計(jì)使軟件無(wú)線電平臺(tái)具有了更大的靈活性,可以應(yīng)用于更多的依賴于小型化無(wú)線電設(shè)備的場(chǎng)景,并且隨著ARM控制器的性能的不斷提高和軟件技術(shù)的進(jìn)步,本系統(tǒng)的性能還有進(jìn)一步提升的可能性。
參考文獻(xiàn)
[1] MITOLA J. Software radio: survey, critical evaluation and future directions [C]// Proceedings of National Telesystems Conference.New York: IEEE Press, 1992: 15?23.
[2] 姜宇柏,游思晴.軟件無(wú)線電原理與工程應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2006.
[3] 曹瀚文,王博文.GNURadio:開(kāi)放的軟件無(wú)線電平臺(tái)[J].電信快報(bào),2007(4):31?34.
[4] 向新.軟件無(wú)線電原理與技術(shù)[M].西安:西安電子科技大學(xué)出版社,2008.
[5] 閆龍,王智海,祁兵.基于 GNURadio的230 MHz多通道主站電臺(tái)的設(shè)計(jì)[J].電力系統(tǒng)保護(hù)與控制,2010(9):100?104.
[6] MARCUS M. Linux, software radio and the radio amateur [J]. QST?NEWINGTON, 2002, 86(10): 33?35.
[7] WEHNER P, GOHRINGER D. Evaluation of driver assistance systems with a car simulator using a virtual and a real FPGA platform [C]// Processings of IEEE 2013 Conference on Design and Architectures for Signal and Image. [S.l.]: IEEE Press, 2013: 345?346.
[8] 楊宏,孔耀暉,茹晨光,等.基于 GNU Radio和USRP的無(wú)線通信系統(tǒng)建模仿真[J].現(xiàn)代電子技術(shù),2013,36(18):24?26.
[9] SILVIUS M D, GE F, YOUNG A, et al. Smart radio: spectrum access for first responders [J]. SPIE, 2008, 6980: 8?12.
[10] 王攀,陳利學(xué),計(jì)勇,等.基于FPGA的DPSK解調(diào)電路設(shè)計(jì)[J].軟件導(dǎo)刊,2009,8(4):13?15.