《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 多客戶端頻譜監(jiān)測接收機系統(tǒng)設計
多客戶端頻譜監(jiān)測接收機系統(tǒng)設計
2014年電子技術應用第9期
李朝海,羅 超,王杰峰
電子科技大學 電子工程學院,四川 成都611731
摘要: 目前的網(wǎng)絡化小型頻譜監(jiān)測接收機只支持單一客戶端操作,而常規(guī)的頻譜監(jiān)測站通常需要同時執(zhí)行多個頻譜監(jiān)測任務,因此就需要配備多臺監(jiān)測接收機,建設成本高。在多核架構及多線程技術的基礎上,提出了多客戶端頻譜監(jiān)測系統(tǒng)的流水并行處理架構,該架構不僅能保證多個客戶的頻譜監(jiān)測任務能夠并行執(zhí)行,還保證了頻譜監(jiān)測的實時性。系統(tǒng)可以支持多個客戶端同時連接、同時執(zhí)行頻譜監(jiān)測任務,有效提高了接收機的利用效率,增強了接收機的靈活性。
中圖分類號: TP202.2
文獻標識碼: A
文章編號: 0258-7998(2014)09-0068-04
The design of multi-client spectrum monitoring system
Li Chaohai,Luo Chao,Wang Jiefeng
School of Electronic Engineering, University of Electronic Science and Technology of China,Chengdu 611731,China
Abstract: Nowadays, the general small network spectrum monitoring receivers only support individual client, which brings a certain amount of waste on the construction of spectrum monitoring stations. Based on multi-core and multi thread technology, a pipeline parallel processing architecture for multi-client spectrum monitoring system is proposed. This system not only guarantees the concurrent execution of the spectrum monitoring tasks which from different client, but also ensures the real-time spectrum monitoring. This system enables multiple client to be connected and perform spectrum monitoring tasks at the same time, which effectively improves the utilization efficiency of the receiver, and enhances the flexibility of the receiver.
Key words : multi-client;multi-core;multi thread;pipeline parallel architecture

    無線電頻譜管理是一個國家的頻譜主管部門根據(jù)法律法規(guī)的授權,按照國際電信聯(lián)盟(ITU)的頻譜劃分原則,制定本國頻譜劃分、使用和分配政策。在頻譜的劃分和使用中,如何科學有效地利用無線電頻譜資源,滿足經(jīng)濟和社會發(fā)展的需要是一個重要課題。

    傳統(tǒng)的無線電頻譜監(jiān)測設備可以包括短波和超短波頻段,有龐大的監(jiān)測、測向天線陣,監(jiān)測覆蓋范圍廣,這樣的大型監(jiān)測站在傳統(tǒng)的無線電頻譜管理模式中發(fā)揮了重大作用。但隨著經(jīng)濟社會的發(fā)展和無線電技術的進步,頻譜的需求程度日益增加,具體表現(xiàn)在以下幾個方面:工作頻段越來越高,單位面積內(nèi)頻譜使用密度越來越高,單個信道占用的頻譜帶寬越來越寬[1]。這些需求對無線電頻譜監(jiān)測提出了新的挑戰(zhàn),參考文獻[2]中針對這些問題,提出了一種網(wǎng)絡化小型頻譜監(jiān)測系統(tǒng)的概念。這種網(wǎng)絡化的小型站架設環(huán)境寬松,架設方便,還可以大大節(jié)約單站的建設成本。但監(jiān)測網(wǎng)絡化分布會增加小型監(jiān)測站的數(shù)量,從而增加了成本。該文獻還指出,小型監(jiān)測站需要采用雙信道接收,即一個站點需要配置兩個以上獨立接收機,一個完成常規(guī)任務,一個完成特別任務。這樣架設雖然帶來了不少方便,但無疑增加了監(jiān)測站的建設成本。此外,在頻譜監(jiān)測中,有的任務并不需要一直執(zhí)行,尤其是特別任務,接收機便出現(xiàn)閑置的情況,造成資源浪費。

    本文基于這一應用背景,提出了一種能夠支持多客戶端同時進行頻譜監(jiān)測的流水并行處理架構。該架構可以滿足多個頻譜監(jiān)測任務的同時執(zhí)行,有效提高了接收機的利用效率,增強了接收機的靈活性,還減少了頻譜監(jiān)測任務中接收機的使用量,降低了頻譜監(jiān)測的成本。

1 系統(tǒng)結構

    本文提出的頻譜監(jiān)測接收機系統(tǒng)按照圖1所示的方式工作。該頻譜監(jiān)測系統(tǒng)允許多個客戶端同時連接到接收機并下達各自的頻譜監(jiān)測任務,接收機接收到不同客戶端的任務之后,對任務進行解析,添加到系統(tǒng)任務列表中進行合理調(diào)度,以便能夠實時完成各個客戶端的監(jiān)測任務,最后通過網(wǎng)絡將頻譜監(jiān)測結果回傳到相應的客戶端。

ck2-t1.gif

    為了實現(xiàn)這樣的功能,多客戶端頻譜監(jiān)測系統(tǒng)采用TI公司的雙核數(shù)字信號處理器OMAP-L138。OMAP-L138為一款高性能、低功耗雙核處理器,集成了ARM926EJ-STM處理器和TMS320C6748 DSP處理器[3],保證了強大的運算能力以及控制能力。此外,在頻譜采集部分采用了Altera公司的EP2S180F1020I4高速FPGA[4],通過FPGA完成了數(shù)據(jù)的高速采集與相關預處理。系統(tǒng)實現(xiàn)框圖如圖2所示。

ck2-t2.gif

    在該結構中,電磁波通過天線進入射頻前端,射頻前端將信號變頻到75 MHz中頻,通過ADC以60 MS/s的采樣率帶通采樣后送入FPGA。在FPGA中進行相應預處理后便將數(shù)據(jù)回傳到OMAP-L138的DSP端處理,處理完成后再通過ARM端將監(jiān)測結果送回至對應客戶端。

    在系統(tǒng)實現(xiàn)中,引入了多核、多線程技術,在這一基礎上,保證了本系統(tǒng)在工作中不僅能夠支持一個客戶端完成以上頻譜監(jiān)測流程,在多個客戶端同時連接時也能夠保證各個客戶端任務的并行處理。

    各客戶端連接到系統(tǒng)之后,系統(tǒng)將會為其分配相應的任務標識,以便后續(xù)信號處理及頻譜數(shù)據(jù)回傳工作的完成。完成用戶識別之后,系統(tǒng)根據(jù)不同用戶信息來合理地解析其頻譜任務,供后端流水并行處理使用,處理完成后回傳到對應客戶端。整體流程如圖3所示。

ck2-t3.gif

2 系統(tǒng)設計

    在本系統(tǒng)的設計中,采用TI雙核處理器OMAP-L138。此款處理器包含ARM與DSP,為使系統(tǒng)能夠更好地實現(xiàn)多客戶端頻譜監(jiān)測的功能,ARM采用了Linux操作系統(tǒng)[5],Linux操作系統(tǒng)為開源多線程操作系統(tǒng),具有強大的網(wǎng)絡支持,能夠很好地處理多個客戶端的網(wǎng)絡連接,此外TI提供了相關的底層支持,開發(fā)效率高;DSP采用TI公司的DSP/BIOS,DSP/BIOS是一個尺寸可伸縮的實時內(nèi)核,方便實現(xiàn)線程間調(diào)度與同步工作[6]。多核、多線程技術的引入為本系統(tǒng)多客戶端頻譜監(jiān)測的并行處理實現(xiàn)提供了強有力的保證。

2.1 多客戶端并行處理架構

    在本系統(tǒng)中,結合多核架構以及多線程技術,提出了多客戶端頻譜監(jiān)測的流水并行處理架構,如圖4所示。在此流水并行處理架構中,系統(tǒng)在接收解析客戶端n的頻譜監(jiān)測任務的同時,處理部分正在處理上一客戶端n-1的頻譜監(jiān)測任務,并將客戶端n-2的頻譜數(shù)據(jù)回傳。

ck2-t4.gif

    執(zhí)行中,ARM端完成客戶端的連接以及為其分配標識,并將其添加到客戶隊列,根據(jù)任務隊列中情況進行任務解析,將頻譜監(jiān)測任務指令及相關參數(shù)(如中心頻率、帶寬、頻率分辨率等)回傳至DSP。DSP端接收到頻譜監(jiān)測指令之后,進行任務的分發(fā)以及相關的配置工作。由于不同客戶端的頻譜監(jiān)測任務不盡相同,在系統(tǒng)實現(xiàn)中還需要不斷更改射頻前端調(diào)諧頻率,以保證能夠正確地完成對應客戶的頻譜監(jiān)測任務。射頻前端調(diào)諧頻率等的配置工作交由FPGA來完成,配置完成之后利用FPGA將數(shù)據(jù)采集并進行相應的預處理后回傳到DSP。DSP完成相應的處理工作之后交由ARM,ARM端將頻譜監(jiān)測結果回傳至客戶端,從而保證了頻譜監(jiān)測的實時進行。利用這種架構,ARM、DSP、FPGA之間并行運行,減少了不必要的等待,大大增強了各處理單元的利用率。

2.2 ARM端程序設計

2.2.1 Linux下的多線程編程

    線程就是程序中的單個順序控制流,利用多線程技術,可以將一個程序的任務分為多個線程,每個線程執(zhí)行程序的一個部分,所有線程都是并發(fā)執(zhí)行,這樣就可以實現(xiàn)并行計算,高效利用處理器。此外,通過為每種事務分配單獨的處理線程,能夠有效簡化程序設計,使程序更加容易理解和修改[7-8]。

    在本系統(tǒng)的ARM端,分為網(wǎng)絡服務線程與雙核通信線程兩個線程,如圖5所示。網(wǎng)絡服務線程負責接收多個客戶端的連接,并為其分配相應標識,添加到客戶隊列,同時在收到頻譜監(jiān)測結果之后,回傳結果到相應的客戶端;雙核通信線程負責與DSP端的交互工作,主要完成發(fā)送頻譜監(jiān)測任務、參數(shù)到DSP,以及接收DSP回傳的頻譜監(jiān)測結果。

ck2-t5.gif

2.2.2 Linux并發(fā)服務器系統(tǒng)設計

    在網(wǎng)絡服務線程中,由于存在多個客戶端同時連接的情況,因此接收機必須要具備并發(fā)處理多個客戶端連接的能力。圖6為TCP協(xié)議并發(fā)服務器模型示意圖,ARM端主程序在建立套接字描述符socket、綁定bind之后開始監(jiān)聽任務,調(diào)用accept函數(shù)等待客戶端的連接請求。當接收到客戶端的請求時,服務器便為該客戶端分配相應標識,加入客戶列表,并為其創(chuàng)建一個新的線程,用于處理客戶端發(fā)送的數(shù)據(jù)信息[5]。

ck2-t6.gif

    從該模型中可以看出,在接收到客戶端連接之前并不需要預先創(chuàng)建處理客戶端請求的線程,直到有客戶端連接時才創(chuàng)建,且數(shù)量是可以變動的,比較靈活、高效。

    利用這種并發(fā)服務器模型,可以大大提高服務器對客戶端的處理能力,降低服務器的響應時間。同時利用這個模型,可以在接收多個客戶端發(fā)送來的頻譜監(jiān)測請求任務的同時回傳監(jiān)測的結果,提高了頻譜監(jiān)測的執(zhí)行效率。

2.3 DSP端程序設計

    DSP端調(diào)度使用輪詢調(diào)度的方式來實現(xiàn),當收到ARM端傳遞的頻譜監(jiān)測任務后,將任務加入到DSP端的任務隊列中,當一個任務調(diào)用完成后切換到下一個任務。采用這種方式,既能夠很好地調(diào)度任務,同時又能夠保證任務的實時性。DSP端工作流程如圖7所示。

ck2-t7.gif

    DSP端解析客戶端的任務之后,將射頻前端的配置信息(如中心頻率、帶寬、增益控制等信息)發(fā)送到FPGA,交由FPGA來完成射頻前端的配置以及相關預處理工作。在FPGA完成相應配置的同時,DSP不需要等待配置完成再進行處理,而是將上一任務的緩存數(shù)據(jù)取出進行相關處理即可。與此同時,ARM端直接取出DSP上一次處理完成的頻譜監(jiān)測結果,將其回傳到對應的客戶端進行并行處理,各個客戶端的任務之間互不影響。

    多個運算單元的合理調(diào)度使頻譜監(jiān)測工作能夠高效地并發(fā)完成。以這種方式循環(huán)執(zhí)行多個客戶端的頻譜監(jiān)測請求,減少了處理過程中存在的不必要的等待時間,運行效率更高。

3 測試

    為了測試本文提出的多客戶端頻譜監(jiān)測系統(tǒng)的可實現(xiàn)性以及優(yōu)越的頻譜監(jiān)測性能,本文利用了兩臺PC作為客戶端,同時為了觀測方便,輸入信號使用信號源輸入單頻信號。

    輸入信號:100 MHz,-56.98 dBm,單頻。

    客戶端設置:左側PC客戶端設置的中心頻率為105 MHz,帶寬為20 MHz;右側PC客戶端中心頻率正好為100 MHz,帶寬為20 MHz。

    將兩個客戶端同時連接到接收機,開始執(zhí)行頻譜監(jiān)測任務,獲得如圖8所示監(jiān)測結果。

ck2-t8.gif

    從結果中可以看出,左側客戶端監(jiān)測到的頻譜結果在四分之一頻譜圖的位置,右側客戶端觀測到的頻譜正好在頻譜圖的正中位置。從配置可以知道,左側PC頻譜觀測范圍為95 MHz~115 MHz,四分之一頻譜圖的位置即剛好為100 MHz;而右側PC頻譜觀測范圍為90 MHz~110 MHz,正中位置正好也為100 MHz,頻譜監(jiān)測結果是正確的。對比可以發(fā)現(xiàn),兩者的頻譜監(jiān)測任務得到了很好的并發(fā)執(zhí)行,且兩者之間頻譜監(jiān)測結果互不干擾。

    本文在多核處理器架構和多線程的基礎上,提出了多客戶端頻譜監(jiān)測的流水并行處理架構,并在此基礎上實現(xiàn)了一個高效的多客戶端頻譜監(jiān)測系統(tǒng)。該系統(tǒng)允許多個客戶同時進行頻譜監(jiān)測,提高了接收機的利用效率,增強了接收機的靈活性,大大提高了接收機的性能。最后通過實驗展示了其可實現(xiàn)性以及優(yōu)越的頻譜監(jiān)測性能。

參考文獻

[1] 武繼兵.R&S ESMD寬帶監(jiān)測接收機的應用[J].中國無線電,2009(2):76-77.

[2] 費連.無線電監(jiān)測系統(tǒng)的革新——網(wǎng)絡化小型頻譜監(jiān)測系統(tǒng)的概念及主要技術要求[J].電子測量與儀器學報,2009(增刊):175-179.

[3] Texas Instrument Inc..OMAP-L 138 technical reference manual[EB/OL].(2009)[2014].http://www.ti.com.

[4] Altera Corporation.Stratix II Device Handbook[EB/OL].(2008)[2014].http://www.altera.com.

[5] ARM嵌入式Linux系統(tǒng)開發(fā)技術詳解[M].北京:電子工業(yè)出版社,2008.

[6] TI DSP/BIOS用戶手冊與驅動開發(fā)[M].北京:清華大學出版社,2007.

[7] 邴哲松.ARM Linux嵌入式網(wǎng)絡控制系統(tǒng)[M].北京:北京航空航天大學出版社,2012.

[8] 劉兵,陳琛.Linux下的多線程編程[J].黑龍江科技信息,2008(1):56-57.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉載。