王春蕓
(中國(guó)船舶重工集團(tuán)公司第七二三研究所,江蘇 揚(yáng)州 225101)
電子戰(zhàn)改變未來戰(zhàn)場(chǎng)的能力正在不斷增長(zhǎng),一些關(guān)鍵技術(shù)成為部署電子戰(zhàn)能力的組成部分,已經(jīng)確定的技術(shù)領(lǐng)域有很多,其中包括電子設(shè)備小型化及高性能數(shù)字信號(hào)處理。因此,本文提出一種以TMS320C6678八核數(shù)字信號(hào)處理器(DSP)作為主處理器的信號(hào)分選軟件設(shè)計(jì)方法,并已在TI提供的TMDSEVM6678 L開發(fā)板上得以驗(yàn)證。在下一步的硬件設(shè)計(jì)中,選用該芯片作為主處理器就可以實(shí)現(xiàn)信號(hào)分選模塊小型化及高性能數(shù)字信號(hào)處理。
TMS320C6678是TI公司生產(chǎn)的一款DSP芯片,其處理器架構(gòu)先進(jìn),運(yùn)算能力強(qiáng), 高速內(nèi)外接口多,開發(fā)資源豐富,為信號(hào)分選軟件設(shè)計(jì)提供了強(qiáng)大的硬件平臺(tái),也為軟件的架構(gòu)提供了極大的靈活性。
雷達(dá)輻射源信號(hào)的分選繼承傳統(tǒng)的預(yù)分選和主分選軟件架構(gòu)。其原理框圖如圖1所示。
圖1 基于TMS320C6678的信號(hào)分選架構(gòu)框圖
預(yù)分選處理主要是將接收到的密集脈沖流(以脈沖描述字(PDW)描述,主要包括到達(dá)方向(DOA)、射頻(RF)、脈寬(PW)、到達(dá)時(shí)間(TOA)、脈沖幅度(PA))進(jìn)行稀釋、分組、聚類,將具有相同特征參數(shù)的脈沖流歸于一類。主分選處理是將經(jīng)過預(yù)分選歸類得到的各PDW組(即通道組)采用各種更為復(fù)雜的算法進(jìn)行進(jìn)一步去交錯(cuò)處理,提取出一個(gè)個(gè)獨(dú)立的輻射源描述字(EDW)。
TMS320C6678多核并行處理模式有3種:主從模式(Master/Slave)、數(shù)據(jù)流模式(Data Flow)、OpenMP模式(OpenMP)。
主從模式中將一個(gè)核作為主控,其他核只負(fù)責(zé)執(zhí)行分配的任務(wù),集中控制分布執(zhí)行。這種模式適于應(yīng)用中具備很多小的獨(dú)立任務(wù),任務(wù)可以獨(dú)立在單核的資源運(yùn)行,任務(wù)之間不需要進(jìn)行交互、同步、數(shù)據(jù)共享。
OpenMP模式是一套在對(duì)稱多處理(SMP)模式下開發(fā)多任務(wù)應(yīng)用的接口,由編譯指令、庫及環(huán)境變量構(gòu)成。該模式一般用于計(jì)算量較大、需要多核并行工作、提高運(yùn)算速度的情況,如圖像處理、快速傅里葉變換(FFT)計(jì)算等。
數(shù)據(jù)流模式是一種分段流水式的控制和執(zhí)行,每個(gè)核負(fù)責(zé)處理過程的一個(gè)步驟,然后將處理結(jié)果傳遞到下一個(gè)核進(jìn)行后續(xù)處理,每個(gè)核需要相互協(xié)同,共同完成整個(gè)處理過程。
根據(jù)圖1,信號(hào)分選軟件的工作流程是:核0接收PDW流,經(jīng)預(yù)分選輸出到核1進(jìn)行主分選,兩核對(duì)PDW數(shù)據(jù)流進(jìn)行流水的處理,所以選擇數(shù)據(jù)流模式進(jìn)行并行處理。
TI提供了IPC軟件組件包,包括處理器多核管理組件、共享區(qū)域管理組件、消息隊(duì)列管理組件、內(nèi)存堆管理組件,用于多核的核間同步。本文提出的信號(hào)分選架構(gòu)使用了TMS320C6678中的兩核,所以必須使用IPC提供的組件進(jìn)行多核配置和調(diào)度。
TI也提供了多核軟件開發(fā)包(MCSDK),其中包括核間通信模塊。核間通信方式有多種,常用的有同步通知機(jī)制、消息隊(duì)列機(jī)制、數(shù)據(jù)共享機(jī)制。同步通知機(jī)制速度較快,不能攜帶數(shù)據(jù),只能帶一個(gè)標(biāo)志,用于動(dòng)作觸發(fā);消息隊(duì)列機(jī)制能夠傳遞數(shù)據(jù)和控制;數(shù)據(jù)共享機(jī)制可以在多核間共享大批量的數(shù)據(jù)。以上信號(hào)分選架構(gòu)中,共享內(nèi)存區(qū)的數(shù)據(jù)量相當(dāng)大,而且核0和核1對(duì)共享區(qū)的互斥訪問需要同步控制,所以選擇消息隊(duì)列和數(shù)據(jù)共享2種同步機(jī)制共同完成核間通信。
將以上設(shè)計(jì)在TI提供的TMDSEVM6 678 L開發(fā)板上進(jìn)行驗(yàn)證。在圖1中,核0和核1分別對(duì)應(yīng)開發(fā)板上的CORE0和CORE1,共享內(nèi)存區(qū)對(duì)應(yīng)為開發(fā)板上的DDR3。
TMS320C6678有8個(gè)核,具體使用哪些核通過MultiProc組件進(jìn)行配置,在配置文件.cfg中進(jìn)行初始化及相關(guān)設(shè)置。本設(shè)計(jì)使用2個(gè)核的配置情況如下:
var MultiProc=xdc.useModule(‘ti.sdo.utils.MultiProc’);
MultiProc.numProcessors=2;
MultiProc.setConfig(null,[“CORE0”,“CORE1”]);
TMS320C6678硬件平臺(tái)有3類內(nèi)存可配置使用:L2SRAM、MSMCSRAM、DDR3。其中L2SRAM、MSMCSRAM速度較快,但容量有限,一般用于存放頻繁執(zhí)行的核心代碼和需要高頻度訪問的數(shù)據(jù)。DDR3是外部存儲(chǔ)器,容量較大。本設(shè)計(jì)配置DDR3作為共享內(nèi)存,用于兩核之間大量PDW的傳遞,具體配置如圖2所示。
圖2 平臺(tái)內(nèi)存配置圖
地址0x80000000起始的存儲(chǔ)區(qū)配置為共享存儲(chǔ)區(qū),兩核均可使用直接地址進(jìn)行讀寫訪問。如果某個(gè)核進(jìn)行了數(shù)據(jù)更新,需要將更新后的數(shù)據(jù)刷新到cache中后其他核才可使用。
圖3是使用QMSS IPC通信的MessageQ通信結(jié)構(gòu)示意圖[1]。
圖3 使用QMSS IPC通信的MessageQ通信原理圖
根據(jù)以上使用消息隊(duì)列進(jìn)行IPC同步的原理,在核0和核1分別設(shè)計(jì)本地的消息隊(duì)列LocalQuene和遠(yuǎn)程的消息隊(duì)列RemoteQuene,同步流程如圖4所示。
圖4 核0、核1基于消息隊(duì)列的同步流程
信號(hào)預(yù)分選的主要功能是快速建通道,并將具有相同特征參數(shù)的脈沖流歸到一個(gè)通道,其工作流程如圖5所示。
圖5 信號(hào)預(yù)分選工作流程圖
信號(hào)主分選主要基于以下參數(shù)進(jìn)行:RF、DOA、TOA、PW、PA?;谶@些參數(shù)的信號(hào)分選方法主要有綜合參數(shù)相關(guān)法、 積累時(shí)差直方圖法 (CDIF)、不積累時(shí)差直方圖法(SDIF)、 序列檢索法
等。這些算法均為成熟算法,具體算法描述可參考相關(guān)資料。信號(hào)分選把上面幾種算法綜合加以應(yīng)用。在本方案中采用以下三大步:
(1) 首先進(jìn)行綜合參數(shù)相關(guān)提取,把載頻、脈寬、方位都相關(guān)的數(shù)據(jù)提取出來,以備下一步進(jìn)行時(shí)序上的分選。
(2) 對(duì)經(jīng)綜合參數(shù)相關(guān)提取出來的脈沖數(shù)據(jù)進(jìn)行時(shí)序差直方圖統(tǒng)計(jì)。此過程綜合運(yùn)用SDIF與CDIF法。
(3) 對(duì)直方圖過門限的PRI值進(jìn)行序列檢索。
主分選工作流程如圖6所示。
本文架構(gòu)已在TI提供的TMDSEVM6 678 L開發(fā)板上得以驗(yàn)證,擬應(yīng)用于某偵察干擾樣機(jī),因僅用于演示驗(yàn)證用,所以主要著重于多核DSP相關(guān)的軟件架構(gòu)設(shè)計(jì)與簡(jiǎn)單實(shí)現(xiàn)。在以后的工程應(yīng)用中,可以充分利用TMS320C6678芯片的多核資源,進(jìn)一步優(yōu)化軟件模塊設(shè)計(jì),以適應(yīng)越來越復(fù)雜密集的信號(hào)環(huán)境,實(shí)現(xiàn)對(duì)更高信號(hào)密度的全脈沖處理。
圖6 主分選工作流程圖