摘 要: 根據(jù)實(shí)際項(xiàng)目需求設(shè)計(jì)了一種實(shí)時(shí)陣列信號(hào)處理系統(tǒng),,采用多路高速光纖作為數(shù)據(jù)輸入,、輸出接口;4片處理器組成互聯(lián)的拓?fù)浣Y(jié)構(gòu),,任何兩片處理器之間都可以互相傳送數(shù)據(jù),,多片處理器可同時(shí)對(duì)數(shù)據(jù)進(jìn)行高速處理;系統(tǒng)配備了大容量存儲(chǔ)器,,可滿足大量數(shù)據(jù)的存儲(chǔ)要求,;采用兩片現(xiàn)場(chǎng)可編程門陣列器件對(duì)系統(tǒng)接口、時(shí)序進(jìn)行控制,;為每片處理器分配了處理任務(wù),,并對(duì)信號(hào)處理算法運(yùn)行時(shí)間及數(shù)據(jù)傳輸時(shí)間進(jìn)行評(píng)估。該系統(tǒng)已在實(shí)際項(xiàng)目中運(yùn)行,,充分滿足項(xiàng)目要求,,運(yùn)行穩(wěn)定,,驗(yàn)證了本系統(tǒng)設(shè)計(jì)的可行性。
關(guān)鍵詞: 實(shí)時(shí)系統(tǒng)設(shè)計(jì),;陣列信號(hào)處理,;算法運(yùn)行時(shí)間評(píng)估;處理器
0引言
在現(xiàn)代雷達(dá),、測(cè)向等系統(tǒng)中需要對(duì)陣列信號(hào)進(jìn)行實(shí)時(shí)處理,。陣列信號(hào)通道數(shù)多,數(shù)據(jù)量大,,信號(hào)處理實(shí)時(shí)性要求高[1-2],。目前,F(xiàn)PGA和DSP成為這類系統(tǒng)中信號(hào)處理的主要器件,。參考文獻(xiàn)[3]~[5]均采用FPGA來實(shí)現(xiàn)數(shù)字信號(hào)處理算法,。FPGA對(duì)方法簡(jiǎn)單和規(guī)則的運(yùn)算來說效率很高,所設(shè)計(jì)系統(tǒng)具有集成度高,、體積小和快速實(shí)時(shí)處理等優(yōu)點(diǎn),,但其靈活性差、開發(fā)成本高,、系統(tǒng)升級(jí)困難,,特別是在浮點(diǎn)運(yùn)算處理時(shí)開銷呈幾何級(jí)增長(zhǎng)。DSP技術(shù)具有靈活性強(qiáng),、開發(fā)周期短以及系統(tǒng)升級(jí)維護(hù)方便等特點(diǎn)[1,,6],比較適合算法復(fù)雜的數(shù)字信號(hào)處理,。采用FPGA加DSP的方法進(jìn)行系統(tǒng)設(shè)計(jì),,兼顧二者的優(yōu)點(diǎn)[7],更適合雷達(dá),、測(cè)向等大型系統(tǒng),,使系統(tǒng)設(shè)計(jì)更加靈活,降低了開發(fā)難度和成本,,易于系統(tǒng)升級(jí)與維護(hù),。參考文獻(xiàn)[1]、[6],、[8],、[9]均采用了這種方式進(jìn)行系統(tǒng)設(shè)計(jì)。
在某實(shí)際項(xiàng)目中,,要求設(shè)計(jì)一套實(shí)時(shí)陣列信號(hào)處理系統(tǒng),,陣列信號(hào)通道數(shù)為48,每通道數(shù)據(jù)長(zhǎng)度為2 400,根據(jù)高,、低頻段選取不同的32通道數(shù)據(jù)進(jìn)行處理,,最小處理周期為50 ms,,并將選取的32通道數(shù)據(jù)和處理結(jié)果輸出,。信號(hào)處理流程如圖1所示。
針對(duì)項(xiàng)目要求設(shè)計(jì)了一套吞吐速率高,、處理速度快,、存儲(chǔ)容量大的實(shí)時(shí)陣列信號(hào)處理系統(tǒng),并在實(shí)際工程中進(jìn)行了應(yīng)用,。系統(tǒng)采用FPGA加DSP的設(shè)計(jì)方式,,DSP用于對(duì)數(shù)據(jù)的實(shí)時(shí)處理,F(xiàn)PGA用于對(duì)時(shí)序和接口的控制,。
1 系統(tǒng)設(shè)計(jì)
1.1 處理器設(shè)計(jì)
TS201是一款高性能數(shù)字信號(hào)處理器,,具有運(yùn)算速度快、接口豐富,、擴(kuò)展能力強(qiáng)等特點(diǎn),,特別適合雷達(dá)等處理數(shù)據(jù)量大、實(shí)時(shí)性要求高的信號(hào)處理系統(tǒng)[10],。
根據(jù)TS201處理器的處理速度,,對(duì)系統(tǒng)中所用到的通道校準(zhǔn)、波束合成和脈沖壓縮信號(hào)處理算法運(yùn)行時(shí)間進(jìn)行評(píng)估,,如表1所示,。
表1中所有時(shí)間合計(jì)為34.059 ms。綜合考慮,,本系統(tǒng)需要4片TS201處理器,,1片用于接收48通道基帶數(shù)據(jù),1片用于脈壓運(yùn)算及處理結(jié)果輸出,,另外兩片處理器主要用于通道校準(zhǔn),、波束合成運(yùn)算及32通道基帶數(shù)據(jù)輸出。
1.2 控制設(shè)計(jì)
選用兩片F(xiàn)PGA(型號(hào)為XC5VLX50T)用于系統(tǒng)接口和時(shí)序控制,。
XC5VLX50T是賽靈思公司Virtex-5系列中的一款產(chǎn)品,。該型號(hào)FPGA具有480個(gè)用戶I/O,可以被配置成各種電平標(biāo)準(zhǔn),;最大可提供2 160 kbit塊式RAM和480 kbit分布式RAM,;單片集成12個(gè)Rocket IO模塊,完全滿足本系統(tǒng)的設(shè)計(jì)要求,。
1.3 接口設(shè)計(jì)
主要接口包括數(shù)據(jù)的輸入和輸出,,根據(jù)項(xiàng)目要求均采用光纖進(jìn)行傳輸。48通道基帶數(shù)據(jù)分別來自3個(gè)不同的數(shù)字接收機(jī)柜(分別用A、B,、C表示),,傳送數(shù)據(jù)的通道數(shù)分別為8、24和16,,需要3個(gè)接收光口,。基帶數(shù)據(jù)轉(zhuǎn)發(fā)光口要求至少為3個(gè),,以便提供多臺(tái)設(shè)備使用,。處理結(jié)果輸出光口要求大于2個(gè)。這里為每個(gè)處理器配備3個(gè)光纖收,、發(fā)接口,。
光口收發(fā)器采用Rocket IO模塊。Rocket IO是一種高速串行收發(fā)器,,采用兩對(duì)差分信號(hào)進(jìn)行數(shù)據(jù)的發(fā)送和接收,,8 B/10 B編碼可以避免數(shù)據(jù)流中出現(xiàn)連0或者連1串,通信速率可達(dá)800 Mb/s~3.125 Gb/s,??紤]到穩(wěn)定性問題,本系統(tǒng)中光口的速率設(shè)計(jì)為2.5 Gb/s,。由于采用了8 B/10 B編碼,,因此實(shí)際有效數(shù)據(jù)傳輸速率為2.0 Gb/s。
發(fā)送數(shù)據(jù)時(shí),,處理器將數(shù)據(jù)通過外部接口寫入到FPGA的FIFO中,,然后數(shù)據(jù)再由FIFO通過Rocket IO模塊發(fā)送出去。接收數(shù)據(jù)時(shí),,數(shù)據(jù)首先進(jìn)入Rocket IO模塊,,經(jīng)過轉(zhuǎn)換之后寫入到FPGA的接收FIFO中,處理器通過外部總線從接收FIFO中讀取數(shù)據(jù)到內(nèi)存進(jìn)行處理,。
1.4 系統(tǒng)設(shè)計(jì)
系統(tǒng)結(jié)構(gòu)如圖2所示,。
每個(gè)處理器都通過Link口分別與其他3個(gè)處理器互聯(lián),數(shù)據(jù)可以在任何兩個(gè)處理器之間進(jìn)行傳輸,。剩余的一個(gè)Link口被引出,,可通過外接線纜的方式與其他系統(tǒng)TS201處理器的Link口相連,便于系統(tǒng)升級(jí)及其他項(xiàng)目應(yīng)用,。
由于陣列信號(hào)數(shù)據(jù)量較大,,處理器內(nèi)存很難滿足存儲(chǔ)要求。為此,,在本系統(tǒng)中每片處理器都搭載了總?cè)萘繛?12 MB的SDRAM,。
系統(tǒng)時(shí)鐘頻率為50 MHz,,處理器內(nèi)核時(shí)鐘頻率為600 MHz。處理器通過外部總線訪問SDRAM及光口FIFO的速率為400 MB/s,。
2 系統(tǒng)分析
2.1 任務(wù)分配
與0號(hào)處理器連接的3個(gè)光口分別與3臺(tái)數(shù)字接收機(jī)柜相連,,用于接收48通道基帶數(shù)據(jù),并按照項(xiàng)目要求分高,、低頻段選出不同的32通道數(shù)據(jù),,通過兩個(gè)Link口分別傳送到2號(hào)和3號(hào)處理器。
2號(hào)處理器收到32通道數(shù)據(jù)后,,將該數(shù)據(jù)通過3個(gè)光纖接口輸出,;然后開始對(duì)前16通道數(shù)據(jù)進(jìn)行信號(hào)處理,包括通道校準(zhǔn)和子陣波束合成,;最后將波束合成結(jié)果通過Link口發(fā)送到1號(hào)處理器。
3號(hào)處理器完成的任務(wù)與2號(hào)處理器相同,,只是處理的數(shù)據(jù)為后16通道,。
1號(hào)處理器完成對(duì)2號(hào)和3號(hào)處理器波束數(shù)據(jù)的接收,并進(jìn)行全陣波束合成和脈沖壓縮處理,,最后將處理結(jié)果通過該處理器的3個(gè)光纖接口輸出,。
2.2 系統(tǒng)評(píng)估
為實(shí)現(xiàn)傳輸?shù)姆€(wěn)定性及處理器接收速率與光纖傳輸速率的最佳匹配,控制每個(gè)接收機(jī)柜發(fā)送數(shù)據(jù)的速率為160 MB/s,,并采用圖3所示的時(shí)序進(jìn)行發(fā)送,,能充分利用系統(tǒng)傳輸帶寬。
從圖3可以看出,,同一時(shí)刻最多只有兩個(gè)光纖在傳輸數(shù)據(jù),。數(shù)字接收機(jī)柜A的8通道數(shù)據(jù)發(fā)送完成后空閑1 ms,然后數(shù)字接收機(jī)柜C開始發(fā)送數(shù)據(jù),。0號(hào)處理器接收完3個(gè)機(jī)柜發(fā)送的48通道數(shù)據(jù)所用時(shí)間相當(dāng)于機(jī)柜A的發(fā)送時(shí)間,、機(jī)柜C的發(fā)送時(shí)間及空閑時(shí)間的和,約為3.88 ms,。32通道數(shù)據(jù)以DMA的方式同時(shí)向2號(hào)和3號(hào)處理器傳送數(shù)據(jù),,需要時(shí)間為1.536 ms。因此,,0號(hào)處理器完成數(shù)據(jù)的接收和發(fā)送共需要花費(fèi)時(shí)間約5.416 ms,。
2號(hào)處理器首先接收32通道基帶數(shù)據(jù),并通過光纖接口發(fā)送,,然后對(duì)前16通道數(shù)據(jù)進(jìn)行通道校準(zhǔn)和波束合成,,最后將處理結(jié)果通過Link口發(fā)送到1號(hào)處理器,其運(yùn)算時(shí)間評(píng)估如表2所示,。32通道基帶數(shù)據(jù)要同時(shí)通過3個(gè)光口發(fā)送,,因此處理器訪問一個(gè)光口的平均速率變?yōu)?33 MB/s,。
2號(hào)處理器總的運(yùn)行時(shí)間為22.535 ms。TS201處理器內(nèi)存由6個(gè)存儲(chǔ)塊組成,,4條內(nèi)部總線分別與6個(gè)內(nèi)存塊相連,,當(dāng)參與運(yùn)算的數(shù)據(jù)分別位于不同的內(nèi)存塊時(shí)可提高運(yùn)算效率。
3號(hào)處理器算法運(yùn)行時(shí)間評(píng)估與2號(hào)處理器相同,。
1號(hào)處理器通過Link口分別接收來自2號(hào)和3號(hào)處理器的處理結(jié)果,,并將二者再次進(jìn)行波束合成,然后進(jìn)行脈沖壓縮,,最終輸出脈沖壓縮結(jié)果,。1號(hào)處理器運(yùn)行時(shí)間評(píng)估如表3所示。
1號(hào)處理器總的運(yùn)行時(shí)間為4.168 ms,。根據(jù)項(xiàng)目要求輸出數(shù)據(jù)點(diǎn)數(shù)縮短為每波束1 760點(diǎn),,同時(shí)由3個(gè)光纖口輸出。
通過以上分析可知,,所設(shè)計(jì)系統(tǒng)在功能和實(shí)時(shí)性上均能滿足項(xiàng)目要求,。
3 應(yīng)用
本文所設(shè)計(jì)系統(tǒng)已被成功應(yīng)用于某大型項(xiàng)目中。在該項(xiàng)目中,,本系統(tǒng)實(shí)時(shí)接收來自3個(gè)接收機(jī)柜的48通道基帶數(shù)據(jù),,并分高、低頻段選取不同的32通道數(shù)據(jù),,先通過光纖接口輸出,,然后完成對(duì)32通道數(shù)據(jù)的校準(zhǔn)、波束合成及脈沖壓縮處理,,最后通過光纖接口將處理結(jié)果輸出,。該系統(tǒng)實(shí)現(xiàn)了項(xiàng)目所要求的各種功能和性能指標(biāo),并且系統(tǒng)運(yùn)行穩(wěn)定,,達(dá)到了預(yù)期目標(biāo),。
4 結(jié)論
根據(jù)項(xiàng)目要求,本文提出了一種基于DSP和FPGA的實(shí)時(shí)陣列信號(hào)處理系統(tǒng)設(shè)計(jì)方法,。系統(tǒng)通過高速光纖接口實(shí)現(xiàn)外部數(shù)據(jù)的接收和發(fā)送,,內(nèi)部處理器之間通過Link口進(jìn)行數(shù)據(jù)交換;處理器每秒48億次40位浮點(diǎn)乘累加運(yùn)算及多處理器設(shè)計(jì)使系統(tǒng)具備超強(qiáng)的實(shí)時(shí)運(yùn)算能力,;單片處理器24 MB內(nèi)存及擴(kuò)展的256 MB外部存儲(chǔ)器,,充分滿足大數(shù)據(jù)量的存儲(chǔ)需求。該系統(tǒng)已成功應(yīng)用到某大型項(xiàng)目中,,實(shí)現(xiàn)了項(xiàng)目提出的各種功能及指標(biāo)要求,,驗(yàn)證了本系統(tǒng)設(shè)計(jì)的可行性。
本系統(tǒng)在接口,、存儲(chǔ)資源,、處理速度等都方面都有冗余,,易于系統(tǒng)升級(jí)改造以及滿足其他項(xiàng)目的應(yīng)用需求;系統(tǒng)結(jié)構(gòu)采用對(duì)稱設(shè)計(jì),,對(duì)不同結(jié)構(gòu)的算法具有較強(qiáng)的適應(yīng)能力,;本系統(tǒng)也是一種通用的實(shí)時(shí)信號(hào)處理運(yùn)算平臺(tái),可直接應(yīng)用于其他項(xiàng)目的實(shí)時(shí)信號(hào)處理系統(tǒng),,對(duì)同類實(shí)時(shí)信號(hào)處理系統(tǒng)的設(shè)計(jì)具有重要的參考價(jià)值,。
參考文獻(xiàn)
[1] 王魁,楊健.基于TS201的外輻射源雷達(dá)信號(hào)處理系統(tǒng)[J].數(shù)據(jù)采集與處理,,2013,,28(4):444-449.
[2] 王峰,李婧,,劉俊,,等.寬帶數(shù)字陣?yán)走_(dá)數(shù)字波束形成系統(tǒng)研究[J].雷達(dá)學(xué)報(bào),2013,,2(3):314-318.
[3] GUPTA P,, GUPTA D. Design and implementation of FPGA based signal processing card[J]. International Journal of VLSI design & Communication Systems(VLSICS), 2011,,2(3):131-137.
[4] MURALI H S, MEENAKSHI M. Design and development of FPGA based data acquisition system for process automation[J]. Communications in Control Science and Engineering(CCSE),, 2013,,1(1):7-11.
[5] Zhang Xiaojing, Yue Yajie,, Sha Chenming. Design and implementation of a multichannel pulse compression system based on FPGA[J]. Journal of Computers,, 2013,8(1):121-128.
[6] 竺紅偉,,梁之勇.一種通用無人機(jī)載SAR實(shí)時(shí)信號(hào)處理系統(tǒng)設(shè)計(jì)[J].航天電子對(duì)抗,,2013,29(3):29-31.
[7] Wu Wei,, Wang Jun,, Li Wei, et al. Design methods of multi-DSP parallel processing system[C]. World Congress on Computer Science and Information Engineering,, 2009,,3: 458-464.
[8] 周杰,李小娟,,張偉,,等.一種通用雷達(dá)信號(hào)處理系統(tǒng)設(shè)計(jì)[J].電子科技,2013,,26(5):91-94.
[9] 李鑫,,姜明.多核DSP高速實(shí)時(shí)信號(hào)處理系統(tǒng)設(shè)計(jì)[J].光學(xué)技術(shù),,2012,38(1):116-120.
[10] 陳新峰,,張軍杰,,趙非,等.基于TS201芯片的雷達(dá)信號(hào)處理機(jī)設(shè)計(jì)[J].電子設(shè)計(jì)工程,,2011,,19(13):156-158.