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