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