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