麻志濱 王相 張敏
摘 要: 采用DM3730微控制器替代PC機配合USRP的硬件設計了新型嵌入式軟件無線平臺。該平臺使用Ubantu for ARM+GNURadio配置可以完全實現(xiàn)傳統(tǒng)軟件無線電的全部功能。在此介紹了新型嵌入式軟件無線電平臺的硬件設計,闡述了Ubantu for ARM的搭建和GNURadio for ARM的編譯過程,并針對性地做了系統(tǒng)測試。該設計開創(chuàng)性地用高性能ARM處理器搭配軟件無線電平臺,使新的軟件無線電系統(tǒng)具有更低的功耗和更強的便攜性。
關鍵詞: DM3730; USRP; 軟件無線電; GNURadio
中圖分類號: TN919?34; G741 文獻標識碼: A 文章編號: 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月美國的全國電信會議上,J.Mitole首次提出了“軟件無線電(SDR)”這個概念,此后該技術一直廣受關注并獲得了蓬勃發(fā)展[1]。軟件無線電指在通用的通信硬件平臺上加載不同的通信軟件,以實現(xiàn)不同的通信方式間的轉換[2]。2001年由Eric Blossom發(fā)起了GNU Radio開源項目,并推出了一套通用軟件無線電外設(USRP)[3],時至今日該平臺已經(jīng)被廣泛運用在教學、科研等多個方面。
在目前國內(nèi)外普遍使用的通用軟件無線電硬件外設(USRP)上,數(shù)字上變頻與下變頻的任務是由USRP上的FPGA來完成的。而基帶信號的處理過程需要非常大量的計算,需要依賴于處理性能很強的處理器,在過去只有唯一選擇PC機。本文針對傳統(tǒng)通用軟件無線電外設必須依賴沉重的PC機,便攜性差和功耗大的缺點,設計了一種基于高端嵌入式芯片DM3730的新型軟件無線電平臺。該平臺的嵌入式核心部分完美地替代了傳統(tǒng)PC的作用,使新的軟件無線電平臺在繼承了原有USRP的優(yōu)點的情況下,也具備了很強的便攜性和很低的功耗。
1 系統(tǒng)硬件設計
1.1 軟件無線電系統(tǒng)
軟件無線電系統(tǒng)負責進行中頻采樣以及中頻信號到基帶信號之間的相互轉化[4],如圖1所示為軟件無線電系統(tǒng)的系統(tǒng)框圖。
FPGA控制核心采用的是Altera公司生產(chǎn)的颶風一代Cyclone系列的EP1C12Q240,其主要功能是將ADC采集的中頻信號進行下變頻(DDC)變換到基帶;另一個功能是作為數(shù)據(jù)樞紐,協(xié)調適配各路的ADC,DAC以及USB2.0接口之間進行數(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)上的作用是來替代傳統(tǒng)意義上的PC機的。軟件無線電平臺的一個核心思想是:基帶信號的處理過程由通用處理器完成而不是DSP來完成[5],將運算和設計放在PC機上。在本系統(tǒng)中使用嵌入式處理核心來承擔基帶信號處理所需要的大量計算,并運行界面程序完成通信系統(tǒng)的設計。如圖2所示為嵌入式處理核心的基本框架。
2 系統(tǒng)軟件設計
2.1 ARM架構下的Ubuntu系統(tǒng)的搭建
烏班圖(Ubuntu)是一個以桌面應用為主的Linux操作系統(tǒng),是當前最受人們歡迎的免費Linux操作系統(tǒng),GNURadio雖然提供了多平臺支持,但實際GNURadio對于Linux平臺的支持是最好的[6]。所以使用傳統(tǒng)意義上的軟件無線電系統(tǒng)均普遍采用Ubuntu(X86)配合GNURadio搭配作為開發(fā)工具和調試平臺。
隨著當前ARM處理器的飛速發(fā)展,ARM處理器的性能越來越強,原本只能運行在X86系統(tǒng)下的Ubuntu系統(tǒng)也被移植到了ARM端。Linaro是一個致力于為ARM架構開發(fā)開源軟件的非盈利性組織,其推出的Linaro是一套針對于ARM平臺的文件系統(tǒng)[7]。2012年4月Linaro發(fā)布了最新的12.04版本,是基于Ubuntu12.04移植的ARM版Ubuntu。
Ti公司針對DM3730嵌入式處理器提供了一整套的官方Linux源碼包。原版的內(nèi)核需要針對性的對ARM平臺做些更改,根據(jù)硬件設計編寫Kernel補丁并生成patch文件,打入補丁后配置并編譯生成新的UImage文件,復制到SD卡的EXT并下載到NandFlash中即可。完成內(nèi)核下載后,從Linaro官網(wǎng)(www.linaro.org)下載Linaro 12.04的文件系統(tǒng),復制到SD卡的EXT3分區(qū)中,完成文件系統(tǒng)的構建。此時重新啟動DM3730,即可順利啟動Ubuntu12.04,此時可以彩屏上見到烏班圖系統(tǒng)的界面。
2.2 在ARM平臺下安裝GNURadio
GNURadio是一種運行在通用處理器上的免費的開源軟件無線電庫,與通用軟件無線電平臺(USRP)結合在一起,就可以構成一個完整的非常靈活的無線電開發(fā)平臺[8]。GNURaido提供了良好的圖形界面(GRC)和所有通用無線電所需要的庫,采用C++結合Python語言聯(lián)合編程的方式[9]。因為GNURadio的開放性和易用性,在全世界包括中國都得到了及其廣泛的應用。
由于GNURadio僅支持Linux操作系統(tǒng),所以安裝過程較為復雜。對于GNURadio支持較好的Ubantu系統(tǒng)直接提供了二進制的安裝包,但使用的Linaro顯然不在支持較好的操作系統(tǒng)之列,所以想在ARM平臺下使用GNURadio,重新編譯GNURadio必不可少。同時Ubantu系統(tǒng)與Linaro系統(tǒng)的最大區(qū)別在其顯示設備上,X86平臺有通用的顯示設備和驅動庫OpenGL,但由于ARM平臺下處理器性能的高低不同,并沒有通用的顯卡支持庫,故編譯前需要對GNURadio做一個針對顯卡庫的Patch包。
2.3 軟件無線電平臺鏡像的下載
新制作完成的軟件無線電平臺的內(nèi)部是沒有下載程序的,需要通過一系列步驟將最新的FPGA鏡像與USB控制器鏡像下載到軟件無線電平臺的內(nèi)部。FPGA內(nèi)部并沒有集成程序空間存儲器,每次重新上電均需要重新配置FPGA,所以FPGA的鏡像是存儲在USB控制器CY7C68013A內(nèi)部8051核的程序存儲器中,每次上電自動配置FPGA。
將軟件無線電平臺通電后,將USB線纜連接到電腦,此時應確保電腦成功安裝平臺驅動。若成功連接則軟件無線電平臺的母版上的D5燈會快速閃爍,此時打開GNURadio,將編譯好的FPGA比特流文件.rbf文件與firmware固件.ihx文件下載即可。下載成功后軟件無線電平臺上的D5燈會正常閃爍。
3 系統(tǒng)測試
3.1 FFT頻譜實驗
在開始時可以運行一個簡單的程序來測試嵌入式軟件無線電平臺是否能夠正常工作。進入/usr/local/bin目錄執(zhí)行uhd_fft文件,執(zhí)行程序設置Center freq為2.400 3 GHz,Sanple Rate為200K。如圖3所示,此時程序做出以2.400 3 GHz為中心頻率的頻譜圖。
程序實時顯示接收到信號的頻譜圖,從圖中可以看出在2.4 GHz處出現(xiàn)了一個峰值。這是因為四周有很多的WIFI信號,他們工作在2.4 GHz頻段,所以頻譜圖上存在一個尖峰,證明嵌入式軟件無線電平臺是正常工作的。
3.2 DPSK通信實驗
差分移相鍵控(DPSK)是指利用調制信號前后碼元之間載波相對相位的變化來傳遞信息的[10]。通過兩臺嵌入式軟件無線電平臺來實現(xiàn)DPSK的調制與解調,分別對兩臺嵌入式軟件無線電平臺載入發(fā)射程序和接受程序,中心頻率均設置2.45 GHz,采樣率設置500 kHz。
如圖4所示為發(fā)射機發(fā)射的發(fā)射信號、接收機接收的頻譜圖,圖5為接收機接收到的信號的星座圖。結合發(fā)射機與接收機的時域波形的對比和接受信號的星座圖可以判斷出DPSK通信成功。
4 結 語
本文介紹了一種基于DM3730設計的新型嵌入式軟件無線電平臺。該系統(tǒng)對傳統(tǒng)的USRP進行了改進,使用高性能ARM嵌入式微控制器替代傳統(tǒng)PC機的作用,使得新的嵌入式軟件無線電平臺在繼承了傳統(tǒng)的優(yōu)點的同時,又兼顧了便攜性,為將來的業(yè)務拓展和設備升級提供了保證。
基于嵌入式系統(tǒng)的設計使軟件無線電平臺具有了更大的靈活性,可以應用于更多的依賴于小型化無線電設備的場景,并且隨著ARM控制器的性能的不斷提高和軟件技術的進步,本系統(tǒng)的性能還有進一步提升的可能性。
參考文獻
[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] 姜宇柏,游思晴.軟件無線電原理與工程應用[M].北京:機械工業(yè)出版社,2006.
[3] 曹瀚文,王博文.GNURadio:開放的軟件無線電平臺[J].電信快報,2007(4):31?34.
[4] 向新.軟件無線電原理與技術[M].西安:西安電子科技大學出版社,2008.
[5] 閆龍,王智海,祁兵.基于 GNURadio的230 MHz多通道主站電臺的設計[J].電力系統(tǒng)保護與控制,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的無線通信系統(tǒng)建模仿真[J].現(xiàn)代電子技術,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] 王攀,陳利學,計勇,等.基于FPGA的DPSK解調電路設計[J].軟件導刊,2009,8(4):13?15.
Ti公司針對DM3730嵌入式處理器提供了一整套的官方Linux源碼包。原版的內(nèi)核需要針對性的對ARM平臺做些更改,根據(jù)硬件設計編寫Kernel補丁并生成patch文件,打入補丁后配置并編譯生成新的UImage文件,復制到SD卡的EXT并下載到NandFlash中即可。完成內(nèi)核下載后,從Linaro官網(wǎng)(www.linaro.org)下載Linaro 12.04的文件系統(tǒng),復制到SD卡的EXT3分區(qū)中,完成文件系統(tǒng)的構建。此時重新啟動DM3730,即可順利啟動Ubuntu12.04,此時可以彩屏上見到烏班圖系統(tǒng)的界面。
2.2 在ARM平臺下安裝GNURadio
GNURadio是一種運行在通用處理器上的免費的開源軟件無線電庫,與通用軟件無線電平臺(USRP)結合在一起,就可以構成一個完整的非常靈活的無線電開發(fā)平臺[8]。GNURaido提供了良好的圖形界面(GRC)和所有通用無線電所需要的庫,采用C++結合Python語言聯(lián)合編程的方式[9]。因為GNURadio的開放性和易用性,在全世界包括中國都得到了及其廣泛的應用。
由于GNURadio僅支持Linux操作系統(tǒng),所以安裝過程較為復雜。對于GNURadio支持較好的Ubantu系統(tǒng)直接提供了二進制的安裝包,但使用的Linaro顯然不在支持較好的操作系統(tǒng)之列,所以想在ARM平臺下使用GNURadio,重新編譯GNURadio必不可少。同時Ubantu系統(tǒng)與Linaro系統(tǒng)的最大區(qū)別在其顯示設備上,X86平臺有通用的顯示設備和驅動庫OpenGL,但由于ARM平臺下處理器性能的高低不同,并沒有通用的顯卡支持庫,故編譯前需要對GNURadio做一個針對顯卡庫的Patch包。
2.3 軟件無線電平臺鏡像的下載
新制作完成的軟件無線電平臺的內(nèi)部是沒有下載程序的,需要通過一系列步驟將最新的FPGA鏡像與USB控制器鏡像下載到軟件無線電平臺的內(nèi)部。FPGA內(nèi)部并沒有集成程序空間存儲器,每次重新上電均需要重新配置FPGA,所以FPGA的鏡像是存儲在USB控制器CY7C68013A內(nèi)部8051核的程序存儲器中,每次上電自動配置FPGA。
將軟件無線電平臺通電后,將USB線纜連接到電腦,此時應確保電腦成功安裝平臺驅動。若成功連接則軟件無線電平臺的母版上的D5燈會快速閃爍,此時打開GNURadio,將編譯好的FPGA比特流文件.rbf文件與firmware固件.ihx文件下載即可。下載成功后軟件無線電平臺上的D5燈會正常閃爍。
3 系統(tǒng)測試
3.1 FFT頻譜實驗
在開始時可以運行一個簡單的程序來測試嵌入式軟件無線電平臺是否能夠正常工作。進入/usr/local/bin目錄執(zhí)行uhd_fft文件,執(zhí)行程序設置Center freq為2.400 3 GHz,Sanple Rate為200K。如圖3所示,此時程序做出以2.400 3 GHz為中心頻率的頻譜圖。
程序實時顯示接收到信號的頻譜圖,從圖中可以看出在2.4 GHz處出現(xiàn)了一個峰值。這是因為四周有很多的WIFI信號,他們工作在2.4 GHz頻段,所以頻譜圖上存在一個尖峰,證明嵌入式軟件無線電平臺是正常工作的。
3.2 DPSK通信實驗
差分移相鍵控(DPSK)是指利用調制信號前后碼元之間載波相對相位的變化來傳遞信息的[10]。通過兩臺嵌入式軟件無線電平臺來實現(xiàn)DPSK的調制與解調,分別對兩臺嵌入式軟件無線電平臺載入發(fā)射程序和接受程序,中心頻率均設置2.45 GHz,采樣率設置500 kHz。
如圖4所示為發(fā)射機發(fā)射的發(fā)射信號、接收機接收的頻譜圖,圖5為接收機接收到的信號的星座圖。結合發(fā)射機與接收機的時域波形的對比和接受信號的星座圖可以判斷出DPSK通信成功。
4 結 語
本文介紹了一種基于DM3730設計的新型嵌入式軟件無線電平臺。該系統(tǒng)對傳統(tǒng)的USRP進行了改進,使用高性能ARM嵌入式微控制器替代傳統(tǒng)PC機的作用,使得新的嵌入式軟件無線電平臺在繼承了傳統(tǒng)的優(yōu)點的同時,又兼顧了便攜性,為將來的業(yè)務拓展和設備升級提供了保證。
基于嵌入式系統(tǒng)的設計使軟件無線電平臺具有了更大的靈活性,可以應用于更多的依賴于小型化無線電設備的場景,并且隨著ARM控制器的性能的不斷提高和軟件技術的進步,本系統(tǒng)的性能還有進一步提升的可能性。
參考文獻
[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] 姜宇柏,游思晴.軟件無線電原理與工程應用[M].北京:機械工業(yè)出版社,2006.
[3] 曹瀚文,王博文.GNURadio:開放的軟件無線電平臺[J].電信快報,2007(4):31?34.
[4] 向新.軟件無線電原理與技術[M].西安:西安電子科技大學出版社,2008.
[5] 閆龍,王智海,祁兵.基于 GNURadio的230 MHz多通道主站電臺的設計[J].電力系統(tǒng)保護與控制,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的無線通信系統(tǒng)建模仿真[J].現(xiàn)代電子技術,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] 王攀,陳利學,計勇,等.基于FPGA的DPSK解調電路設計[J].軟件導刊,2009,8(4):13?15.
Ti公司針對DM3730嵌入式處理器提供了一整套的官方Linux源碼包。原版的內(nèi)核需要針對性的對ARM平臺做些更改,根據(jù)硬件設計編寫Kernel補丁并生成patch文件,打入補丁后配置并編譯生成新的UImage文件,復制到SD卡的EXT并下載到NandFlash中即可。完成內(nèi)核下載后,從Linaro官網(wǎng)(www.linaro.org)下載Linaro 12.04的文件系統(tǒng),復制到SD卡的EXT3分區(qū)中,完成文件系統(tǒng)的構建。此時重新啟動DM3730,即可順利啟動Ubuntu12.04,此時可以彩屏上見到烏班圖系統(tǒng)的界面。
2.2 在ARM平臺下安裝GNURadio
GNURadio是一種運行在通用處理器上的免費的開源軟件無線電庫,與通用軟件無線電平臺(USRP)結合在一起,就可以構成一個完整的非常靈活的無線電開發(fā)平臺[8]。GNURaido提供了良好的圖形界面(GRC)和所有通用無線電所需要的庫,采用C++結合Python語言聯(lián)合編程的方式[9]。因為GNURadio的開放性和易用性,在全世界包括中國都得到了及其廣泛的應用。
由于GNURadio僅支持Linux操作系統(tǒng),所以安裝過程較為復雜。對于GNURadio支持較好的Ubantu系統(tǒng)直接提供了二進制的安裝包,但使用的Linaro顯然不在支持較好的操作系統(tǒng)之列,所以想在ARM平臺下使用GNURadio,重新編譯GNURadio必不可少。同時Ubantu系統(tǒng)與Linaro系統(tǒng)的最大區(qū)別在其顯示設備上,X86平臺有通用的顯示設備和驅動庫OpenGL,但由于ARM平臺下處理器性能的高低不同,并沒有通用的顯卡支持庫,故編譯前需要對GNURadio做一個針對顯卡庫的Patch包。
2.3 軟件無線電平臺鏡像的下載
新制作完成的軟件無線電平臺的內(nèi)部是沒有下載程序的,需要通過一系列步驟將最新的FPGA鏡像與USB控制器鏡像下載到軟件無線電平臺的內(nèi)部。FPGA內(nèi)部并沒有集成程序空間存儲器,每次重新上電均需要重新配置FPGA,所以FPGA的鏡像是存儲在USB控制器CY7C68013A內(nèi)部8051核的程序存儲器中,每次上電自動配置FPGA。
將軟件無線電平臺通電后,將USB線纜連接到電腦,此時應確保電腦成功安裝平臺驅動。若成功連接則軟件無線電平臺的母版上的D5燈會快速閃爍,此時打開GNURadio,將編譯好的FPGA比特流文件.rbf文件與firmware固件.ihx文件下載即可。下載成功后軟件無線電平臺上的D5燈會正常閃爍。
3 系統(tǒng)測試
3.1 FFT頻譜實驗
在開始時可以運行一個簡單的程序來測試嵌入式軟件無線電平臺是否能夠正常工作。進入/usr/local/bin目錄執(zhí)行uhd_fft文件,執(zhí)行程序設置Center freq為2.400 3 GHz,Sanple Rate為200K。如圖3所示,此時程序做出以2.400 3 GHz為中心頻率的頻譜圖。
程序實時顯示接收到信號的頻譜圖,從圖中可以看出在2.4 GHz處出現(xiàn)了一個峰值。這是因為四周有很多的WIFI信號,他們工作在2.4 GHz頻段,所以頻譜圖上存在一個尖峰,證明嵌入式軟件無線電平臺是正常工作的。
3.2 DPSK通信實驗
差分移相鍵控(DPSK)是指利用調制信號前后碼元之間載波相對相位的變化來傳遞信息的[10]。通過兩臺嵌入式軟件無線電平臺來實現(xiàn)DPSK的調制與解調,分別對兩臺嵌入式軟件無線電平臺載入發(fā)射程序和接受程序,中心頻率均設置2.45 GHz,采樣率設置500 kHz。
如圖4所示為發(fā)射機發(fā)射的發(fā)射信號、接收機接收的頻譜圖,圖5為接收機接收到的信號的星座圖。結合發(fā)射機與接收機的時域波形的對比和接受信號的星座圖可以判斷出DPSK通信成功。
4 結 語
本文介紹了一種基于DM3730設計的新型嵌入式軟件無線電平臺。該系統(tǒng)對傳統(tǒng)的USRP進行了改進,使用高性能ARM嵌入式微控制器替代傳統(tǒng)PC機的作用,使得新的嵌入式軟件無線電平臺在繼承了傳統(tǒng)的優(yōu)點的同時,又兼顧了便攜性,為將來的業(yè)務拓展和設備升級提供了保證。
基于嵌入式系統(tǒng)的設計使軟件無線電平臺具有了更大的靈活性,可以應用于更多的依賴于小型化無線電設備的場景,并且隨著ARM控制器的性能的不斷提高和軟件技術的進步,本系統(tǒng)的性能還有進一步提升的可能性。
參考文獻
[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] 姜宇柏,游思晴.軟件無線電原理與工程應用[M].北京:機械工業(yè)出版社,2006.
[3] 曹瀚文,王博文.GNURadio:開放的軟件無線電平臺[J].電信快報,2007(4):31?34.
[4] 向新.軟件無線電原理與技術[M].西安:西安電子科技大學出版社,2008.
[5] 閆龍,王智海,祁兵.基于 GNURadio的230 MHz多通道主站電臺的設計[J].電力系統(tǒng)保護與控制,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的無線通信系統(tǒng)建模仿真[J].現(xiàn)代電子技術,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] 王攀,陳利學,計勇,等.基于FPGA的DPSK解調電路設計[J].軟件導刊,2009,8(4):13?15.