何 鵬, 郝紹杰, 趙新明
(中國電子科技集團公司第四十一研究所,山東 青島 266555)
基于多核DSP的實時信號處理平臺設計
何 鵬, 郝紹杰, 趙新明
(中國電子科技集團公司第四十一研究所,山東 青島 266555)
高速實時信號處理是寬帶數(shù)字信道化偵察接收機的主要特點之一,其性能決定著偵察接收機的整體指標。為滿足寬帶偵察接收機對密集雷達信號實時處理的需求,設計一種基于FPGA和多片多核DSP的并行實時信號處理平臺,芯片之間通過高速串行總線互聯(lián),使用FPGA對多核DSP進行調(diào)度。本文從硬件系統(tǒng)架構(gòu)、電源供給、時鐘同步、芯片互聯(lián)等方面論述了信號處理平臺硬件實現(xiàn)方法,結(jié)合實際應用對該處理平臺的性能進行了測試驗證,達到了預期的設計目標。
高速實時;多核DSP;高速串行接口;硬件平臺
寬帶數(shù)字信道化偵察接收機通常采用基于軟件無線電的設計思想,使用高速ADC對射頻或者寬帶中頻信號進行直接采樣,采用數(shù)字技術實現(xiàn)信道化接收和寬帶信號處理[1]。隨著高速ADC和FPGA技術的發(fā)展,數(shù)字信道化接收機系統(tǒng)中已經(jīng)可以實現(xiàn)1.8 Gb/s/12 bit的高速采樣及實時信道化[2]。要對如此高速的基帶信號進行后續(xù)偵察算法處理,就必須采用實時的并行信號處理平臺,以及高效的信號處理算法,其中信號處理平臺必須具備高效的數(shù)據(jù)傳輸接口以及足夠的浮點運算能力。
針對此應用需求,本文設計一種基于Xilinx公司Kintex7系列FPGA和TI公司多核DSP芯片TMS320C6678的信號處理平臺,用于解決寬帶數(shù)字信道化接收機實時信號處理問題。重點從系統(tǒng)架構(gòu)、電源供給、時鐘同步、芯片互聯(lián)等方面介紹了硬件平臺設計實現(xiàn)方法,最后給出了實驗測試結(jié)果。
在數(shù)字偵察接收機系統(tǒng)中,實時信號處理平臺通過高速接口接收信道化處理后的脈沖信號數(shù)據(jù),提取信號頻率、脈寬、重頻、脈內(nèi)調(diào)制等特征參數(shù),通過偵察算法完成信號識別與分選,最后輸出信號處理結(jié)果[3]。高速數(shù)據(jù)傳輸與并行DSP算法實現(xiàn)是本信號處理平臺的關鍵。為保證接口帶寬和信號處理性能,本文基于高性能FPGA和多片多核DSP芯片構(gòu)建硬件系統(tǒng),硬件結(jié)構(gòu)如圖1所示。
圖1 硬件平臺示意圖
FPGA選用了Xilinx公司Kintex7系列芯片,主要用于實現(xiàn)高速數(shù)據(jù)接收及DSP陣列的調(diào)度。FPGA通過x8模式的GTX接口接收信道化模塊發(fā)送過來的IQ數(shù)據(jù)包,然后根據(jù)特定調(diào)度算法,將數(shù)據(jù)分配到不同的DSP內(nèi)核進行特征參數(shù)提取、脈內(nèi)調(diào)試識別、信號分選等運算。DSP選用2片TI公司的TMS320C6678芯片,每片TMS320C 6678包含8個1.2 GHz主頻的浮點處理器內(nèi)核,2個芯片總共可提供320 GFLOPS的處理能力。
硬件架構(gòu)采用靈活的互聯(lián)方式,F(xiàn)PGA和2片DSP分別通過高速串行總線(SRIO)接口互聯(lián)。兩片DSP之間通過HyperLink接口互聯(lián),DSP處理后的數(shù)據(jù)可通過PCIe接口或者千兆以太網(wǎng)口上傳到后續(xù)處理單元。兩片DSP可以設置為并行或者串行工作模式,在并行模式下,兩片DSP交替進行不同數(shù)據(jù)幀的處理,F(xiàn)PGA接收到待處理數(shù)據(jù)后,通過SRIO接口將數(shù)據(jù)分發(fā)到空閑的DSP內(nèi)核進行處理;在串行工作模式下,兩片DSP共計16個內(nèi)核采用流水線模式工作,每個內(nèi)核完成特定的信號算法,一個內(nèi)核運算完成后將數(shù)據(jù)傳遞給下一個內(nèi)核,工作模式根據(jù)脈沖信號的密度及信號特點靈活選擇。
為減小系統(tǒng)的啟動時間,采用并行Flash芯片對FPGA和DSP進行上電配置,DSP通過EMIF16接口外接的NOR Flash進行boot,兩片DSP的上電加載獨立完成,所有處理器核運行起來后,由FPGA統(tǒng)一調(diào)度,協(xié)同工作。
2.1 電源系統(tǒng)設計
在本文所設計的高性能信號處理平臺中,使用多片高速數(shù)字信號處理器以及DDR3等高速器件,高速數(shù)據(jù)線的工作頻率大于500 MHz,總功耗大于30 W,要保證硬件系統(tǒng)的穩(wěn)定工作,必須設計可靠高效的電源系統(tǒng)。本文采用FPGA和DSP的電源分開設計的方案,以減小電源之間的影響,提高可靠性。整個電路板采用統(tǒng)一的直流電源,供電電壓范圍為+5.5 V~+15 V,以適應不同的電源環(huán)境。電源系統(tǒng)的方案如圖2所示。
圖2 電源設計方案
FPGA及外圍電路所需的電源,根據(jù)不同需求綜合采用LDO、DC-DC以及電源模塊3種方式來產(chǎn)生,需要大電流的內(nèi)核電源通過集成電源模塊產(chǎn)生,對電源質(zhì)量要求較高的與GTX接口相關的電源用線性穩(wěn)壓器產(chǎn)生,需要高電壓的I/O電源通過DC-DC產(chǎn)生。DSP的電源主要基于數(shù)字電源套片和集成電源模塊來產(chǎn)生,其中內(nèi)核電源采用TI公司UCD系列數(shù)字電源套片產(chǎn)生,由一片數(shù)字PWM控制芯片UCD9244和兩片電源驅(qū)動芯片UCD7242組成,可提供兩組獨立的電源輸出,為兩片TMS320C6678提供CVDD和CVDD1,CVDD1固定為1.0 V,CVDD為0.9 V~1.1 V,可通過DSP的VID來進行調(diào)節(jié)[4],UCD9244的配置可通過Texas Instruments Fusion Digital Power Designer軟件實現(xiàn)。
為滿足FPGA和DSP器件對上電順序的嚴格要求,本文采用CPLD芯片對各電路單元進行上電順序控制及電源健康狀態(tài)的監(jiān)控。上電過程實行閉環(huán)控制,即打開一級電源,檢測到其輸出穩(wěn)定后,再打開下級電源,當某路電源出現(xiàn)異常情況時,按上電順序的反序關閉已打開的電源,上電時序如圖3。
圖3 上電控制時序示意圖
上電過程分為FPGA上電、DSP上電、DSP復位控制3個階段,主電源打開后,CPLD先工作,然后按順序控制FPGA及其外圍電路上電,檢測到FPGA完成外部Flash加載后,啟動DSP及其外圍電路上電,依次打開內(nèi)核電源、外設電源、時鐘使能,檢測到時鐘鎖定信號后,進入DSP復位控制階段,按DSP器件的要求依次輸出DSP的PORz、RESETFULLz、RESETz信號,當檢測到DSP輸出正常工作指示后,上電完成。
通過對電源系統(tǒng)的精細化設計以及上電順序的準確控制,可減小該信號處理平臺對整個系統(tǒng)電源的沖擊,降低對系統(tǒng)電源瞬時供電能力的要求。逐級上電可提高信號處理平臺硬件的穩(wěn)定性,增加重要元器件的使用壽命,從而提高整個信號處理系統(tǒng)的可靠性。
2.2 時鐘電路設計
在多處理器系統(tǒng)中,時鐘同步問題至關重要[5],本設計中存在2片TMS320C6678處理器、1片F(xiàn)PGA芯片以及多片DDR3等高速器件,使用GTX、SRIO、HyperLink等高速接口,整個電路板需要有多個不同頻率的時鐘信號??紤]到時鐘源可帶負載能力、分支線的阻抗效應以及噪聲等對時鐘信號質(zhì)量的影響,本文選擇了多路時鐘發(fā)生器加時鐘緩沖器的方案來產(chǎn)生整個信號處理板所需要的各類時鐘信號,時鐘方案如圖4所示。
圖4 時鐘方案
多路時鐘發(fā)生器選用了TI公司的專用時鐘芯片CDCE62005,該芯片是一款高性能的時鐘發(fā)生和分配器,具有可選的參考輸入方式,根據(jù)需要可選擇不同的參考時鐘方案:進行單板調(diào)試時,選擇板上高穩(wěn)晶體振蕩器作為輸入;在與前端信道化采集系統(tǒng)聯(lián)合調(diào)試時,選擇由信道化采集系統(tǒng)提供的同步時鐘信號作為參考,從而保證信號處理板與系統(tǒng)中其他電路板時鐘的完全同步。CDCE62005可產(chǎn)生5個獨立的差分時鐘輸出,電平格式可選為LVPECL或者LVDS,輸出時鐘頻率125 kHz~1.5 GHz可調(diào)。由于FPGA和DSP需要的時鐘種類和數(shù)量多于時鐘發(fā)生器的輸出,在不增加時鐘發(fā)生器數(shù)量的情況下,對時鐘信號進行了歸類合并,可采用相同頻率的時鐘信號,使用同一個時鐘發(fā)生器輸出端口,然后采用時鐘緩沖器SN65LVDS104或者SN65LVDS108將單路信號擴展到多路,同時進行電平格式轉(zhuǎn)換、增加驅(qū)動后提供給各電路單元。根據(jù)各電路單元對時鐘信號的要求,CDCE62005輸出端口的配置如表1所示。
表1 時鐘發(fā)生器CDCE62005輸出配置
CDCE62005的配置通過CPLD編程實現(xiàn),由器件的SPI接口將用戶的配置參數(shù)寫入內(nèi)部EEPROM存儲器,器件上電后通過控制PowerDown管腳的電平來實現(xiàn)時鐘信號的輸出或關斷。當PowerDown管腳為高電平時,CDCE62005自動調(diào)用用戶配置數(shù)據(jù)輸出正確的頻率。CDCE62005內(nèi)部的EEPROM提供了鎖定功能用于保護用戶配置數(shù)據(jù)安全,執(zhí)行該命令后,EEPROM將不可再次更改。
2.3 互聯(lián)接口設計
根據(jù)本設計中FPGA和DSP器件的特點,以及信號處理平臺對數(shù)據(jù)傳輸接口帶寬的要求,選取串行高速總線進行芯片之間的互聯(lián)。待處理的脈沖信號數(shù)據(jù)通過x8模式的GTX接口傳入信號處理板的FPGA;FPGA通過兩組GTX接口與兩片DSP連接,采用SRIO協(xié)議進行數(shù)據(jù)傳輸;DSP之間通過HyperLink接口進行通信;信號處理結(jié)果通過DSP芯片的PCIe或者千兆以太網(wǎng)接口進行上報[6]。
2.3.1 FPGA與DSP互聯(lián)設計
SRIO(Serial RapidIO)是針對嵌入式系統(tǒng)芯片間和板間互聯(lián)的一種開放式的、基于包交換的高速串行標準[7]。Kintex7系列FPGA的GTX接口可以配置為SRIO協(xié)議,從而與TMS320C6678的SRIO接口無縫連接。FPGA中SRIO協(xié)議通過調(diào)用Xilinx公司提供的IP核實現(xiàn),在ISE軟件中,使用Core generator調(diào)用Serial RapidIO Gen IP核,進行相關參數(shù)設置,生成IP核模塊,然后在FPGA中開辟兩個FIFO,分別用于存放發(fā)送和接收到的數(shù)據(jù),通過編寫有限狀態(tài)機來實現(xiàn)對IP核的控制。
TMS320C6678端SRIO的配置,可通過調(diào)用TI公司CSL庫中相關的API函數(shù)來實現(xiàn)。需要注意的是,F(xiàn)PGA和DSP中對器件端點ID號的定義要保持一致,否則將無法進行通信。在SRIO通信接口的調(diào)試過程中,通過在FPGA中使用ChipScope查看相關信號的狀態(tài),判斷SRIO通信是否成功。首先查看SRIO IP核輸出指示信號clk_lock的狀態(tài),若該信號為高,則說明有時鐘進入SRIO核且被鎖住;時鐘鎖定后再檢查FPGA和DSP兩側(cè)各自時鐘是否正確,傳輸速率是否匹配;當FPGA端SRIO IP核指示信號link_initialized被拉高后,表明通信已經(jīng)建立,此時可以進行SRIO的回環(huán)測試,若兩側(cè)的回環(huán)測試都正確,說明兩側(cè)的物理鏈路已經(jīng)建立,接下來就可以進行數(shù)據(jù)傳輸及接口帶寬的測試。
2.3.2 DSP之間互聯(lián)設計
HyperLink總線是面向嵌入式應用的具有高效、低引腳數(shù)目的互聯(lián)方案,數(shù)據(jù)傳輸完全由硬件實現(xiàn),不需要處理器參與[8]。本設計中兩片TMS320C6678之間通過HyperLink接口互聯(lián),每片DSP為HyperLink提供4個SerDes通道,傳輸速率最高支持12.5 Gb/s,采用8b9b編碼,數(shù)據(jù)吞吐率為12.5×4×(8/9)=44.5 Gb/s。TI公司在CSL庫中提供了豐富的HyperLink API函數(shù),在CCS開發(fā)軟件中,通過調(diào)用相關API函數(shù)對HyperLink接口進行配置,采用存儲空間映射方式,將DSP2的存儲空間映射到DSP1上,DSP1即可像訪問自身本地空間一樣去訪問DSP2的存儲空間,方便地實現(xiàn)數(shù)據(jù)交換。
為測試該信號處理平臺的數(shù)據(jù)傳輸及實時處理能力,進行了如下實驗:FPGA通過GTX接口從前端處理系統(tǒng)讀取一幀脈沖信號數(shù)據(jù),512點IQ數(shù)據(jù)共512×32×2=32 768 bit,DSP通過SRIO接口從FPGA中將數(shù)據(jù)讀入內(nèi)存,并啟動多個內(nèi)核同時進行脈內(nèi)調(diào)制特性分析。其中FPGA的GTX為8x模式,波特率10 Gb/s,DSP的SRIO接口為4x模式,波特率6.25 Gb/s,DSP工作主頻設定為1.2 GHz。通過CCS軟件程序運行時間記錄功能,對整個處理流程的耗時進行測試,如圖5所示。
圖5 系統(tǒng)運行時間測試
由圖5可以看出,從FPGA開始讀取數(shù)據(jù)到數(shù)據(jù)進入DSP內(nèi)存共耗時0.016 251 ms,DSP進行脈內(nèi)調(diào)制特性分析耗時為0.010 375 ms,處理一幀脈沖信號總時間約26 μs。
本文從硬件設計方面介紹了一種高速實時信號處理平臺的實現(xiàn)方法,基于Xilinx公司Kintex7系列 FPGA以及TI公司多核DSP芯片TMS320C6678構(gòu)建系統(tǒng),對電源電路、時鐘電路以及芯片互聯(lián)方案進行了詳細設計及測試。采用高速串行接口實現(xiàn)芯片間數(shù)據(jù)交換,基于多核DSP并行運算提高計算效率,解決了寬帶偵察接收機系統(tǒng)中海量數(shù)據(jù)傳輸與實時信號處理速度的瓶頸問題,可提升偵察接收機對密集信號環(huán)境的適應性。該信號處理平臺具有數(shù)據(jù)傳輸帶寬大、并行處理能力強、可靠性高等特點,可以滿足實際工程應用的需求。
[1] 龔仕仙,魏璽章,黎湘,等.寬帶數(shù)字信道化接收機綜述[J].電子學報,2013,41(5):118-122.
[2] 郝紹杰,何鵬,朱偉峰.雙通道高速數(shù)據(jù)采集處理平臺的設計與實現(xiàn)[J].計算機測量與控制,2015,23(7):35-39.
[3] 吳斌,楊神化,楊娜,等.基于DSP與FPGA的船用雷達信息采集卡的設計[J].微型機與應用,2015,34(13):31-34.
[4] 吳敏杰,馮起,袁乃昌.TMS320C6678 DSP的電源設計[J].電子設計工程,2012,20(6):46-49.
[5] 董淵文,張永軍,高曉亮,等.基于TMS320C6678多核DSP的分布式通信系統(tǒng)[J].微型機與應用,2014,33(13):74-76.
[6] 李鑫,姜明.多核DSP高速實時信號處理系統(tǒng)設計[J].光學技術,2012,38(1):55-60.
[7] SPRUGW1.KeyStone architecture SerialRapidIO (SRIO) user guid[Z].Texas Instrunments,2010.
[8] SPRUGW8.KeyStone architecture HyperLink user guid[Z]. Texas Instrunments,2010.
The design of real-time signal processing platform based on multi-core DSP
He Peng, Hao Shaojie, Zhao Xinming
(The 41st Institute of China Electronics Technology Group Corporation, Qingdao 266555, China)
Wideband digital channelized reconnaissance receiver features in high-speed and real-time digital signal processing, which affects the performance of reconnaissance receiver. In order to meet the growing demand for the real-time signal processing of high pulse-density environment, a high performance real-time signal processing platform has been designed and implemented based on FPGA and multi-core DSP. Different processors have been connected by high-speed serial ports, and FPGA is used as the controller of DSP cores. The hardware realization methods of the design have been discussed, including the power supply, the clock design and the data communication method. The system performance has been verified with the practical application.
real-time; multi-core DSP; high speed serial port; hardware platform
TN957
A
1674- 7720(2016)03- 0044- 03
何鵬,郝紹杰,趙新明.基于多核DSP的實時信號處理平臺設計[J] .微型機與應用,2016,35(3):44- 46,50.
2015-10-09)
何鵬(1981-),通信作者,男,本科,工程師,主要研究方向:寬帶數(shù)字信號處理技術。E-mail:xibeilanghp@163.com。
郝紹杰(1976-),男,本科,高級工程師,主要研究方向:高速數(shù)據(jù)采集及處理技術。
趙新明(1988-),男,碩士,工程師,主要研究方向:雷達信號處理及多核DSP編程技術。