999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FPGA和多核DSP的雷達(dá)信號處理架構(gòu)設(shè)計(jì)

2023-07-15 14:33:36鄭東衛(wèi)白亞莉
火控雷達(dá)技術(shù) 2023年2期
關(guān)鍵詞:檢測

鄭東衛(wèi) 白亞莉

(1.西安電子工程研究所 西安 710100;2.西安昆侖工業(yè)(集團(tuán))有限責(zé)任公司 西安 710043)

0 引言

系統(tǒng)架構(gòu)設(shè)計(jì)是實(shí)時信號處理系統(tǒng)設(shè)計(jì)中的重要組成部分。目前雷達(dá)信號處理典型硬件平臺為FPGA加多核DSP。根據(jù)系統(tǒng)輸入?yún)?shù)設(shè)計(jì)出合理高效的信號處理機(jī)會面臨諸多問題,例如如何選擇合理的處理平臺,設(shè)計(jì)合理的拓?fù)浣Y(jié)構(gòu),優(yōu)化傳輸鏈路和數(shù)據(jù)存儲空間分配等。信號處理開發(fā)設(shè)計(jì)流程如圖1所示。根據(jù)信號處理任務(wù)書指標(biāo),選擇相應(yīng)的軟件算法和硬件平臺,安排相應(yīng)的算法在哪個平臺實(shí)現(xiàn),根據(jù)實(shí)現(xiàn)平臺設(shè)計(jì)拓?fù)浣Y(jié)構(gòu),然后計(jì)算傳輸鏈路帶寬分析,計(jì)算存儲空間分析等,接著進(jìn)行算法實(shí)現(xiàn),實(shí)現(xiàn)完后再計(jì)算實(shí)時性是否滿足指標(biāo)要求。如果不滿足需要調(diào)整硬件平臺或硬件底層拓?fù)浣Y(jié)構(gòu)及系統(tǒng)架構(gòu)。所以發(fā)揮FPGA和多核DSP的各自的最優(yōu)性能,開發(fā)高效實(shí)用的系統(tǒng)架構(gòu)是十分必要的。

1 算法分析及硬件平臺選擇

地面雷達(dá)信號處理算法一般包含:數(shù)字下變頻、數(shù)字波束形成、脈沖壓縮、動目標(biāo)檢測、恒虛警檢測、點(diǎn)跡凝聚、方位俯仰測角、目標(biāo)上報等環(huán)節(jié)。由于動目標(biāo)檢測之前這些算法需要用到大量的乘法器加法器等,這些算法適合在FPGA中實(shí)現(xiàn),之后的算法需要大量的邏輯判斷適合在DSP中完成。

在DSP中實(shí)現(xiàn)動目標(biāo)檢測之后的算法,DSP可以選用應(yīng)用廣泛的TI公司多核TMS320C6678芯片。此DSP包含8個內(nèi)核,核工作速率可達(dá)1.25GHz,每個核包含存儲區(qū)32KB的L1P,32KB的L1D,512KB的L2,8核共享4MB的MSMC,可外接8GByte的DDR3,支持最大5Gbps的SRIO接口[1]。雖然單個DSP功能很強(qiáng)大,但當(dāng)FPGA送來的數(shù)據(jù)量很大時,單個DSP無法在一個相參處理時間內(nèi)實(shí)時完成檢測計(jì)算,就需要多片DSP并行計(jì)算完成。計(jì)算時間統(tǒng)計(jì)可在DSP中使用C語言庫中的clock函數(shù)對各個功能的信號處理計(jì)時。需要多片DSP多個核并行處理才能完成時,需要考慮到多核并行操作有一定的效率損失,需要增加一定的冗余量。

在FPGA中實(shí)現(xiàn)動目標(biāo)檢測求模之前算法,需要根據(jù)系統(tǒng)參數(shù)估算所占的FPGA資源,選擇合適型號的FPGA。一般選用FPGA型號主要參考內(nèi)部乘法器數(shù)量,存儲器數(shù)量,GTX模塊數(shù)量等。

數(shù)字下變頻單元主要有混頻和濾波組成,所需的乘加器資源由下列公式?jīng)Q定:

1)使用非對稱系數(shù)Fir濾波器M路數(shù)字下變頻所需乘加器數(shù)為

M×N×Fs/(Fclk×D)×2+2

(1)

2)使用對稱系數(shù)Fir濾波器M路數(shù)字下變頻所需乘加器數(shù)為

M×N×Fs/(Fclk×D)+2

(2)

數(shù)字波束形成主要是乘累加運(yùn)算,所用乘法器由公式(3)決定:

3×M×B×Fs/Fclk

(3)

數(shù)字脈沖壓縮采用時域處理方式時,時域?qū)崿F(xiàn)方式即為復(fù)數(shù)的卷積運(yùn)算。一個復(fù)數(shù)的乘法運(yùn)算可由4個乘法或3個乘法來實(shí)現(xiàn)。比較4個乘法和3個乘法的運(yùn)算式可以看到,3個乘法的運(yùn)算式雖然少了1個乘法,但需要5個加法,因此,四個乘法的運(yùn)算式更適合FPGA運(yùn)算。所需的乘加器資源如下:

1)使用非對稱脈壓系數(shù)B路脈壓所需乘加器數(shù):

B×N×Fs/Fclk×4+2

(4)

2)使用對稱脈壓系數(shù)B路脈壓所需乘加器數(shù):

B×N×Fs/Fclk×2+2

(5)

動目標(biāo)檢測采用FFT加窗實(shí)現(xiàn),FFT所用乘法器可通過調(diào)用開發(fā)軟件的IP核來得出,加窗所用乘法器數(shù)為

B×FFT×Fs/Fclk

(6)

其中:M表示通道個數(shù);B表述波束個數(shù);N表示Fir濾波器階數(shù);Fs表示輸入數(shù)據(jù)率;Fclk表示工作時鐘頻率;D表示抽取率;FFT表示積累點(diǎn)數(shù)。

數(shù)字下變頻所用片內(nèi)存儲器主要由濾波器系數(shù)長度、數(shù)據(jù)位寬和數(shù)據(jù)緩存大小決定。波束形成所用片內(nèi)存儲器由通道個數(shù)、波數(shù)個數(shù)、數(shù)據(jù)位寬以及數(shù)據(jù)緩存大小決定。脈沖壓縮采用時域脈壓時,所用片內(nèi)存儲器由脈壓系數(shù)長度、數(shù)據(jù)位寬、數(shù)據(jù)緩存大小決定。動目標(biāo)檢測采用FFT加窗實(shí)現(xiàn)時,所用存儲器由窗系數(shù)大小、數(shù)據(jù)位寬、數(shù)據(jù)緩存大小決定。

GTX模塊需求數(shù)量大小由與FPGA通信傳輸帶寬和接口數(shù)量來決定。FPGA與DSP之間采用SRIO通信,單片DSP與FPGA之間可最大支持4X的SRIO,即最大傳輸帶寬可達(dá)20Gbps。如果單片DSP數(shù)據(jù)傳輸帶寬不夠就需要多片DSP并行處理,既可提高傳輸帶寬又可提高處理速度。

FPGA的主要廠商有Xilinx公司、Altera公司、Lattice公司等,其中Xilinx公司的FPGA在中高端市場占有率遙遙領(lǐng)先,可結(jié)合自己使用習(xí)慣選擇不同廠商。圖2列出了Xilinx公司的Kintex-7系列的FPGA器件手冊截圖[2]。根據(jù)所用的乘法器數(shù)量,存儲區(qū)數(shù)量及GTX數(shù)量,再結(jié)合FPGA廠家的器件手冊可以選出合適的FPGA型號。

圖2 Xilinx公司的Kintex-7系列FPGA資源

2 硬件底層拓?fù)浣Y(jié)構(gòu)

2.1 數(shù)據(jù)傳輸劃分

每片DSP內(nèi)8個核在并行處理時如何分工配合,多核DSP程序開發(fā)中兩種常用的任務(wù)分配模式為主從模式和數(shù)據(jù)流模式[3]。

1)主從模式

將核0作為主核,主要用于任務(wù)分配、調(diào)度和觸發(fā),接收FPGA數(shù)據(jù),寫DDR3操作。

其它核為從核,主要用于讀DDR3操作,并行處理檢測數(shù)據(jù),核間同步等。這種分配方式需要主核和從核進(jìn)行頻繁地消息通信。

2)數(shù)據(jù)流模式

各DSP核以流水線的方式按照數(shù)據(jù)處理的流程執(zhí)行各任務(wù)。不同DSP核間有很強(qiáng)的數(shù)據(jù)依賴關(guān)系。這種分配方式需要考慮不同核之間的任務(wù)劃分的均衡,否則任務(wù)較多的核會出現(xiàn)處理瓶頸。

FPGA處理完后,一個CPI內(nèi)包含的處理數(shù)據(jù)有距離單元維,多普勒通道維,波束個數(shù)維的三維數(shù)據(jù)。當(dāng)多核DSP程序開發(fā)按主從模式進(jìn)行任務(wù)分配時,如何將這些數(shù)據(jù)分給不同DSP或不同核來完成相應(yīng)的運(yùn)算使計(jì)算效率和傳輸效率更高,現(xiàn)按三個維度劃分來分析。

1)按多普勒通道劃分

若按多普勒通道劃分,將不同的多普勒通道維數(shù)據(jù)分給不同的DSP不同的核處理,每一個DSP核處理完整的距離單元維和波束維數(shù)據(jù)。若沒有多普勒維恒虛警,不需要考慮多普勒維交疊。多普勒維點(diǎn)跡凝聚時需要匯總所有多普勒通道數(shù)據(jù)。

2)按距離單元劃分

若按距離段劃分,將不同的距離單元維數(shù)據(jù)分給不同的DSP不同的核處理,每一個DSP核處理完整的多普勒維和波束維數(shù)據(jù)。需要考慮在距離維恒虛警檢測時片間距離段交疊,距離維點(diǎn)跡凝聚時需要匯總所有距離段數(shù)據(jù)。

3)按波束劃分

若按波束劃分,將不同的波束個數(shù)維數(shù)據(jù)分給不同的DSP不同的核處理,每一個DSP核處理完整的距離單元維和多普勒維數(shù)據(jù)。需要考慮在目標(biāo)方位或俯仰測角時片間需要波束交疊,波束間凝聚需要匯總所有波束數(shù)據(jù)。

按何種方式劃分,首先看不同模式積累點(diǎn)數(shù),距離單元個數(shù),波束個數(shù)這些參數(shù)哪個參數(shù)變化小,劃分能兼顧各個模式,其次按某種方式劃分看是否帶來數(shù)據(jù)傳輸冗余計(jì)算復(fù)雜。當(dāng)按一維劃分單核還不能實(shí)時完成處理運(yùn)算時,也可進(jìn)行第二維的再次劃分。

2.2 乒乓流水傳輸

前面敘述了芯片的選擇及功能劃分,而芯片內(nèi)部鏈接關(guān)系及傳輸方式也影響系統(tǒng)處理效率。整個處理過程按流水方式操作,不同芯片之間,不同核之間都需要采用乒乓方式傳輸處理。

FPGA將數(shù)據(jù)發(fā)送到DSP的共享存儲區(qū)中,由于單片DSP的共享存儲區(qū)空間僅有4MB,共享存儲區(qū)需要給全局變量及操作系統(tǒng)等留有一定的存儲空間,所以給數(shù)據(jù)傳輸留得空間有限,FPGA需要分包給DSP發(fā)送數(shù)據(jù),如果采用乒乓方式,需要的存儲空間要翻倍。FPGA采用分包的方式通過SRIO給DSP共享存儲區(qū)空間搬移數(shù)據(jù),按乒乓方式將相鄰包發(fā)到DSP的不同共享存儲區(qū)。DSP主核乒乓將共享存儲區(qū)中數(shù)據(jù)通過EDMA方式搬移到DSP外接的DDR3中。DDR3中也需開辟的乒乓存儲空間,當(dāng)一個滑窗CPI所有數(shù)據(jù)包都寫入DDR3后,DSP主核給從核發(fā)送IPC中斷,從核每個滑窗CPI從DDR3中乒乓讀取數(shù)據(jù)到從核的L2中,從核處理完檢測數(shù)據(jù)后再寫入乒乓共享存儲區(qū)中供主核使用。數(shù)據(jù)乒乓傳輸過程如圖3所示。

圖3 數(shù)據(jù)乒乓流水架構(gòu)

2.3 運(yùn)算板DSP內(nèi)核間通信與同步

DSP片內(nèi)8個核在處理過程中存在通信和同步的問題。核間中斷(IPC)與硬件信號量(Semaphore)是多核DSP內(nèi)實(shí)現(xiàn)核間通信與同步的兩種主要方式[4]。片上系統(tǒng)設(shè)計(jì)了核間中斷的映射中斷號與中斷向量,通過片上中斷控制器來完成內(nèi)核間的同步操作。而硬件信號量則是結(jié)合了中斷與查詢兩種方式實(shí)現(xiàn)核間的同步與數(shù)據(jù)傳遞,下面將就這兩種方式分別做一概述。

核間中斷專門用作處理器內(nèi)部各核之間的通信與同步等操作。C6678的每個內(nèi)核均可以向其他核發(fā)送中斷,每個內(nèi)核也都可以接收任何主控制核的中斷請求操作。IPC中斷的觸發(fā)和接收過程設(shè)置簡單,只需要操作各核的IPC中斷產(chǎn)生寄存器(IPCGRx)和IPC中斷響應(yīng)寄存器(IPCARx),其中x代表核ID號0~7。將IPC中斷產(chǎn)生寄存器的IPCG位置1即會觸發(fā)相應(yīng)核的IPC中斷,將寄存器中SRCCn置1會清除相應(yīng)的中斷標(biāo)志[5]。

在主核程序中初始化核間中斷,當(dāng)主核接收完FPGA發(fā)來的數(shù)據(jù)寫入DDR3后依次觸發(fā)給從核的核間中斷。從核完成各自檢測運(yùn)算處理,通過信號量進(jìn)行核間同步,同步完后由核1給核0發(fā)送核間中斷。核0收到核1的核間中斷后讀取從核的檢測數(shù)據(jù)。圖4示意了主核與從核之間的核間中斷。

圖4 多核DSP的核間中斷

DSP中信號量可用于同步多核處理流程或用來避免多個DSP核同時操作某一共享資源時產(chǎn)生的沖突問題。利用硬件信號量可以在某一共享資源正在備占用或修改時,拒接或阻塞其他DSP核訪問請求。信號量的操作主要有等待信號量CSL_semIsFree,獲取信號量CSL_semAcquireDirect,釋放信號量CSL_semReleaseSemaphore。這三個ARI函數(shù)可調(diào)用庫函數(shù)實(shí)現(xiàn)[6]。

從核處理完后可采用信號量的方式完成核間同步。設(shè)置兩個信號量,一個為處理信號量SEM_PROCESS_BASE_ID,一個為同步信號量SEM_SYNC_BASE_ID+DNUM。7個從核之間信號量過程如圖5所示。核1在處理檢測之前先獲取處理信號量SEM_PROCESS_BASE_ID,處理完檢測數(shù)據(jù)后再獲取核1的同步信號量SEM_SYNC_BASE_ID+1,然后判斷所有從核何時會全部釋放各自的同步信號量SEM_SYNC_BASE_ID+DNUM,如果全部釋放了說明所有從核都完成了檢測處理,這時核1給主核發(fā)送核間IPC中斷,如果判斷沒有全部釋放同步信號量,則進(jìn)行等待。核2~7在檢測處理完后獲取各自的同步信號量SEM_SYNC_BASE_ID+DNUM,然后判斷核1是否釋放處理信號量SEM_PROCESS_BASE_ID,如果核1釋放了處理信號量,則核2~7釋放各自的同步信號量SEM_SYNC_BASE_ID+DNUM,否則判斷等待核1的處理信號量。

圖5 信號量處理流程

3 DSP的存儲空間和傳輸時間計(jì)算時間分析

現(xiàn)結(jié)合實(shí)例來分析DSP的存儲空間和傳輸時間及計(jì)算時間。某地面雷達(dá)有1024個距離單元,16個多普勒通道,5個和波束數(shù)據(jù),5個差波束數(shù)據(jù),一個相參處理時間CPI為3ms。FPGA將處理后的MTD數(shù)據(jù)通過4X的SRIO送給多核DSP做后續(xù)檢測處理。DSP按主從模式處理,FPGA按波束劃分給DSP傳輸,5個和波束需要一個主核和5個從核處理,每個從核完成一個和波束的檢測處理。

3.1 DSP的存儲空間分析

DSP的存儲空間主要包含內(nèi)部L1D,L1P,L2,共享存儲區(qū),外部DDR3。在設(shè)計(jì)中為了提高代碼運(yùn)行效率,一般將DSP的每個核L1D,L1P全部設(shè)為cache。L2有512MB空間,分128KB空間用于堆棧存放,剩下384KB空間用于buffer緩存,主要是運(yùn)算過程中臨時數(shù)據(jù)緩存。共享存儲區(qū)中預(yù)留512KB用于程序代碼的存放,預(yù)留2MB用于接收FPGA發(fā)來的MTD數(shù)據(jù),預(yù)留1.5MB用于程序中全局變量,數(shù)組,結(jié)構(gòu)體的存放。DDR3中主要放從共享存儲區(qū)中搬來的MTD數(shù)據(jù),以及處理完的MTD模值數(shù)據(jù),重排數(shù)據(jù),雜波圖數(shù)據(jù),原始視頻數(shù)據(jù)等。由于DSP的1個主核和5個從核共享DDR3,每個從核讀取一個和波束和一個差波束數(shù)據(jù),MTD總共存儲數(shù)據(jù)為1024距離單元,16個多普勒通道,10個波束,MTD實(shí)部虛部,數(shù)據(jù)位寬32bit,如果再考慮乒乓存儲,所以共計(jì)大小為20Mbit。雜波圖設(shè)計(jì)為5維雜波圖,數(shù)據(jù)為1024距離單元,16個多普勒通道,5個和波束,3個參差的prf,256個方位單元,數(shù)據(jù)位寬為32bit,所以共計(jì)大小為1.875Gbit。而單片DSP可外掛8GByte的DDR3,完全滿足存儲空間要求。

3.2 傳輸時間分析

FPGA按一包64個距離單元,16個多普勒通道數(shù)據(jù)搬移到DSP的共享存儲區(qū)中,DSP主核收到一包數(shù)據(jù)后將共享存儲區(qū)中數(shù)據(jù)搬移到DDR3中,實(shí)測每一包數(shù)據(jù)傳輸最大耗時Max_SRIO_Transmit_Time為9.174μs,如圖6所示,圖中時間單位為ns。一個滑窗CPI內(nèi)需要搬移的數(shù)據(jù)為160包(每個波束分為16包,5個和波束,5個差波束,共計(jì)160包),所以DSP主核搬移一個滑窗CPI數(shù)據(jù)耗時為160×9.174μs(1467.84μs)小于一個滑窗CPI時間3000μs,所以傳輸時間滿足要求。

圖6 DSP傳輸數(shù)據(jù)時間統(tǒng)計(jì)

3.3 計(jì)算時間分析

DSP的單個從核處理一個有效和波束的檢測,實(shí)測單個波束檢測運(yùn)行時間如圖7所示:單位為ns,恒虛警采用單元平均選大恒虛警時整個檢測最大處理時間Max_PD_Process_Time為629.053μs。DSP多核并行計(jì)算5個和波束的目標(biāo)檢測,計(jì)算時間遠(yuǎn)小于一個滑窗CPI時間,滿足系統(tǒng)實(shí)時性要求。

圖7 單個波束DSP單核檢測時間統(tǒng)計(jì)

由于整個檢測處理過程中采用乒乓處理,每個節(jié)點(diǎn)最大處理時間都是一個滑窗CPI時間,所以整個信號處理過程流水會延時多個滑窗CPI時間。

4 結(jié)束語

合理的系統(tǒng)架構(gòu)設(shè)計(jì)是雷達(dá)信號處理設(shè)計(jì)中優(yōu)先考慮的問題。硬件平臺設(shè)計(jì)冗余會導(dǎo)致系統(tǒng)資源浪費(fèi),成本增加。硬件平臺設(shè)計(jì)小于算法實(shí)現(xiàn)要求時會導(dǎo)致部分功能不能實(shí)現(xiàn),設(shè)計(jì)反復(fù),增大了設(shè)計(jì)時間,拖延了項(xiàng)目進(jìn)度。軟件算法在已有的硬件平臺上實(shí)現(xiàn)時如果沒有規(guī)劃好算法和數(shù)據(jù)流分配,會導(dǎo)致設(shè)計(jì)復(fù)雜,通信交互繁瑣,資源競爭等問題。本文根據(jù)系統(tǒng)參數(shù)估算出所需的硬件資源,選擇合適的硬件平臺,在硬件平臺上合理分配算法,結(jié)合硬件,重點(diǎn)討論了多核DSP在并行運(yùn)算情況下軟件架構(gòu)設(shè)計(jì)的相關(guān)問題。根據(jù)多核DSP硬件結(jié)構(gòu)特點(diǎn)合理安排算法流程與資源分配,避免核間沖突與總線沖突,發(fā)揮多核DSP的最優(yōu)性能。值得一提的是文中按流水處理會延時多個CPI,在后續(xù)目標(biāo)點(diǎn)的方位測角時需要與碼盤信息修正對應(yīng)。系統(tǒng)架構(gòu)設(shè)計(jì)中的其它相關(guān)問題還需在以后的工程應(yīng)用中進(jìn)一步探索。

猜你喜歡
檢測
QC 檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
“幾何圖形”檢測題
“角”檢測題
“有理數(shù)的乘除法”檢測題
“有理數(shù)”檢測題
“角”檢測題
“幾何圖形”檢測題
主站蜘蛛池模板: 色欲色欲久久综合网| 日本免费一级视频| 黄色网在线免费观看| 国产性爱网站| 欧美国产精品拍自| 午夜色综合| 欧美精品在线看| 最近最新中文字幕免费的一页| 免费国产福利| 免费一级毛片在线播放傲雪网| 国产一二三区视频| 蝴蝶伊人久久中文娱乐网| 国产精品香蕉| 国产免费人成视频网| 99久久国产自偷自偷免费一区| 久久国产精品娇妻素人| 国产成人麻豆精品| 丁香五月激情图片| 亚洲福利视频网址| 四虎成人精品| 2022国产无码在线| 国产91精品久久| 99热国产这里只有精品9九| 综合色88| av一区二区无码在线| 视频国产精品丝袜第一页| 99精品国产电影| 亚洲无码A视频在线| 国产视频欧美| 热99re99首页精品亚洲五月天| 国产九九精品视频| 午夜啪啪网| 看你懂的巨臀中文字幕一区二区| 国产青榴视频| 久久青草免费91观看| 五月天在线网站| 久久免费精品琪琪| 欧美国产在线一区| 四虎精品免费久久| 亚洲精品片911| 国产精品亚洲一区二区三区在线观看| 日本不卡视频在线| 精品一区二区三区自慰喷水| 国产一区二区福利| 久久影院一区二区h| 日韩欧美色综合| 精品人妻AV区| 亚洲日韩AV无码一区二区三区人| 99在线观看精品视频| 亚洲欧美成人在线视频| 国产啪在线91| 免费Aⅴ片在线观看蜜芽Tⅴ| 福利一区三区| a级毛片免费在线观看| 亚洲欧美精品日韩欧美| 国产粉嫩粉嫩的18在线播放91 | 中国国产A一级毛片| 极品性荡少妇一区二区色欲| 国产成人一区二区| 国产精品专区第一页在线观看| 欧美影院久久| 男女男免费视频网站国产| 国产精品极品美女自在线网站| 亚洲中文精品久久久久久不卡| 国产成人1024精品下载| a级毛片一区二区免费视频| 宅男噜噜噜66国产在线观看| 亚洲国产成人综合精品2020| 宅男噜噜噜66国产在线观看| 国产精品综合久久久| 欧美日韩中文国产| 中文字幕欧美日韩| 国产真实自在自线免费精品| 国产毛片一区| 深夜福利视频一区二区| 婷婷色中文网| 国产门事件在线| 国产91九色在线播放| 九九视频在线免费观看| 国产91无毒不卡在线观看| 久久久久人妻一区精品| 99久久精彩视频|