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