摘要:高速实时信号处理是宽带数字信道化侦察接收机的主要特点之一,其性能决定着侦察接收机的整体指标。为满足宽带侦察接收机对密集雷达信号实时处理的需求,设计一种基于FPGA和多片多核DSP的并行实时信号处理平台,芯片之间通过高速串行总线互联,使用FPGA对多核DSP进行调度。本文从硬件系统架构、电源供给、时钟同步、芯片互联等方面论述了信号处理平台硬件实现方法,结合实际应用对该处理平台的性能进行了测试验证,达到了预期的设计目标。
关键词:高速实时;多核DSP;高速串行接口;硬件平台
0引言
宽带数字信道化侦察接收机通常采用基于软件无线电的设计思想,使用高速ADC对射频或者宽带中频信号进行直接采样,采用数字技术实现信道化接收和宽带信号处理[1]。随着高速ADC和FPGA技术的发展,数字信道化接收机系统中已经可以实现1.8 Gb/s/12 bit的高速采样及实时信道化[2]。要对如此高速的基带信号进行后续侦察算法处理,就必须采用实时的并行信号处理平台,以及高效的信号处理算法,其中信号处理平台必须具备高效的数据传输接口以及足够的浮点运算能力。
针对此应用需求,本文设计一种基于Xilinx公司Kintex7系列FPGA和TI公司多核DSP芯片TMS320C6678的信号处理平台,用于解决宽带数字信道化接收机实时信号处理问题。重点从系统架构、电源供给、时钟同步、芯片互联等方面介绍了硬件平台设计实现方法,最后给出了实验测试结果。
1总体架构设计
在数字侦察接收机系统中,实时信号处理平台通过高速接口接收信道化处理后的脉冲信号数据,提取信号频率、脉宽、重频、脉内调制等特征参数,通过侦察算法完成信号识别与分选,最后输出信号处理结果[3]。高速数据传输与并行DSP算法实现是本信号处理平台的关键。为保证接口带宽和信号处理性能,本文基于高性能FPGA和多片多核DSP芯片构建硬件系统,硬件结构如图1所示。
FPGA选用了Xilinx公司Kintex7系列芯片,主要用于实现高速数据接收及DSP阵列的调度。FPGA通过x8模式的GTX接口接收信道化模块发送过来的IQ数据包,然后根据特定调度算法,将数据分配到不同的DSP内核进行特征参数提取、脉内调试识别、信号分选等运算。DSP选用2片TI公司的TMS320C6678芯片,每片TMS320C 6678包含8个1.2 GHz主频的浮点处理器内核,2个芯片总共可提供320 GFLOPS的处理能力。
硬件架构采用灵活的互联方式,FPGA和2片DSP分别通过高速串行总线(SRIO)接口互联。两片DSP之间通过HyperLink接口互联,DSP处理后的数据可通过PCIe接口或者千兆以太网口上传到后续处理单元。两片DSP可以设置为并行或者串行工作模式,在并行模式下,两片DSP交替进行不同数据帧的处理,FPGA接收到待处理数据后,通过SRIO接口将数据分发到空闲的DSP内核进行处理;在串行工作模式下,两片DSP共计16个内核采用流水线模式工作,每个内核完成特定的信号算法,一个内核运算完成后将数据传递给下一个内核,工作模式根据脉冲信号的密度及信号特点灵活选择。
为减小系统的启动时间,采用并行Flash芯片对FPGA和DSP进行上电配置,DSP通过EMIF16接口外接的NOR Flash进行boot,两片DSP的上电加载独立完成,所有处理器核运行起来后,由FPGA统一调度,协同工作。
2关键电路设计实现
2.1电源系统设计
在本文所设计的高性能信号处理平台中,使用多片高速数字信号处理器以及DDR3等高速器件,高速数据线的工作频率大于500 MHz,总功耗大于30 W,要保证硬件系统的稳定工作,必须设计可靠高效的电源系统。本文采用FPGA和DSP的电源分开设计的方案,以减小电源之间的影响,提高可靠性。整个电路板采用统一的直流电源,供电电压范围为+5.5 V~+15 V,以适应不同的电源环境。电源系统的方案如图2所示。
FPGA及外围电路所需的电源,根据不同需求综合采用LDO、DCDC以及电源模块3种方式来产生,需要大电流的内核电源通过集成电源模块产生,对电源质量要求较高的与GTX接口相关的电源用线性稳压器产生,需要高电压的I/O电源通过DC-DC产生。DSP的电源主要基于数字电源套片和集成电源模块来产生,其中内核电源采用TI公司UCD系列数字电源套片产生,由一片数字PWM控制芯片UCD9244和两片电源驱动芯片UCD7242组成,可提供两组独立的电源输出,为两片TMS320C6678提供CVDD和CVDD1,CVDD1固定为1.0 V,CVDD为0.9 V~1.1 V,可通过DSP的VID来进行调节[4],UCD9244的配置可通过Texas Instruments Fusion Digital Power Designer软件实现。
为满足FPGA和DSP器件对上电顺序的严格要求,本文采用CPLD芯片对各电路单元进行上电顺序控制及电源健康状态的监控。上电过程实行闭环控制,即打开一级电源,检测到其输出稳定后,再打开下级电源,当某路电源出现异常情况时,按上电顺序的反序关闭已打开的电源,上电时序如图3。
上电过程分为FPGA上电、DSP上电、DSP复位控制3个阶段,主电源打开后,CPLD先工作,然后按顺序控制FPGA及其外围电路上电,检测到FPGA完成外部Flash加载后,启动DSP及其外围电路上电,依次打开内核电源、外设电源、时钟使能,检测到时钟锁定信号后,进入DSP复位控制阶段,按DSP器件的要求依次输出DSP的PORz、RESETFULLz、RESETz信号,当检测到DSP输出正常工作指示后,上电完成。
通过对电源系统的精细化设计以及上电顺序的准确控制,可减小该信号处理平台对整个系统电源的冲击,降低对系统电源瞬时供电能力的要求。逐级上电可提高信号处理平台硬件的稳定性,增加重要元器件的使用寿命,从而提高整个信号处理系统的可靠性。
2.2时钟电路设计
在多处理器系统中,时钟同步问题至关重要[5],本设计中存在2片TMS320C6678处理器、1片FPGA芯片以及多片DDR3等高速器件,使用GTX、SRIO、HyperLink等高速接口,整个电路板需要有多个不同频率的时钟信号。考虑到时钟源可带负载能力、分支线的阻抗效应以及噪声等对时钟信号质量的影响,本文选择了多路时钟发生器加时钟缓冲器的方案来产生整个信号处理板所需要的各类时钟信号,时钟方案如图4所示。
多路时钟发生器选用了TI公司的专用时钟芯片CDCE62005,该芯片是一款高性能的时钟发生和分配器,具有可选的参考输入方式,根据需要可选择不同的参考时钟方案:进行单板调试时,选择板上高稳晶体振荡器作为输入;在与前端信道化采集系统联合调试时,选择由信道化采集系统提供的同步时钟信号作为参考,从而保证信号处理板与系统中其他电路板时钟的完全同步。CDCE62005可产生5个独立的差分时钟输出,电平格式可选为LVPECL或者LVDS,输出时钟频率125 kHz~1.5 GHz可调。由于FPGA和DSP需要的时钟种类和数量多于时钟发生器的输出,在不增加时钟发生器数量的情况下,对时钟信号进行了归类合并,可采用相同频率的时钟信号,使用同一个时钟发生器输出端口,然后采用时钟缓冲器SN65LVDS104或者SN65LVDS108将单路信号扩展到多路,同时进行电平格式转换、增加驱动后提供给各电路单元。根据各电路单元对时钟信号的要求,CDCE62005输出端口的配置如表1所示。
CDCE62005的配置通过CPLD编程实现,由器件的SPI接口将用户的配置参数写入内部EEPROM存储器,器件上电后通过控制PowerDown管脚的电平来实现时钟信号的输出或关断。当PowerDown管脚为高电平时,CDCE62005自动调用用户配置数据输出正确的频率。CDCE62005内部的EEPROM提供了锁定功能用于保护用户配置数据安全,执行该命令后,EEPROM将不可再次更改。
2.3互联接口设计
根据本设计中FPGA和DSP器件的特点,以及信号处理平台对数据传输接口带宽的要求,选取串行高速总线进行芯片之间的互联。待处理的脉冲信号数据通过x8模式的GTX接口传入信号处理板的FPGA;FPGA通过两组GTX接口与两片DSP连接,采用SRIO协议进行数据传输;DSP之间通过HyperLink接口进行通信;信号处理结果通过DSP芯片的PCIe或者千兆以太网接口进行上报[6]。
2.3.1FPGA与DSP互联设计
SRIO(Serial RapidIO)是针对嵌入式系统芯片间和板间互联的一种开放式的、基于包交换的高速串行标准[7]。Kintex7系列FPGA的GTX接口可以配置为SRIO协议,从而与TMS320C6678的SRIO接口无缝连接。FPGA中SRIO协议通过调用Xilinx公司提供的IP核实现,在ISE软件中,使用Core generator调用Serial RapidIO Gen IP核,进行相关参数设置,生成IP核模块,然后在FPGA中开辟两个FIFO,分别用于存放发送和接收到的数据,通过编写有限状态机来实现对IP核的控制。
TMS320C6678端SRIO的配置,可通过调用TI公司CSL库中相关的API函数来实现。需要注意的是,FPGA和DSP中对器件端点ID号的定义要保持一致,否则将无法进行通信。在SRIO通信接口的调试过程中,通过在FPGA中使用ChipScope查看相关信号的状态,判断SRIO通信是否成功。首先查看SRIO IP核输出指示信号clk_lock的状态,若该信号为高,则说明有时钟进入SRIO核且被锁住;时钟锁定后再检查FPGA和DSP两侧各自时钟是否正确,传输速率是否匹配;当FPGA端SRIO IP核指示信号link_initialized被拉高后,表明通信已经建立,此时可以进行SRIO的回环测试,若两侧的回环测试都正确,说明两侧的物理链路已经建立,接下来就可以进行数据传输及接口带宽的测试。
2.3.2DSP之间互联设计
HyperLink总线是面向嵌入式应用的具有高效、低引脚数目的互联方案,数据传输完全由硬件实现,不需要处理器参与[8]。本设计中两片TMS320C6678之间通过HyperLink接口互联,每片DSP为HyperLink提供4个SerDes通道,传输速率最高支持12.5 Gb/s,采用8b9b编码,数据吞吐率为12.5×4×(8/9)=44.5 Gb/s。TI公司在CSL库中提供了丰富的HyperLink API函数,在CCS开发软件中,通过调用相关API函数对HyperLink接口进行配置,采用存储空间映射方式,将DSP2的存储空间映射到DSP1上,DSP1即可像访问自身本地空间一样去访问DSP2的存储空间,方便地实现数据交换。
3测试验证
为测试该信号处理平台的数据传输及实时处理能力,进行了如下实验:FPGA通过GTX接口从前端处理系统读取一帧脉冲信号数据,512点IQ数据共512×32×2=32 768 bit,DSP通过SRIO接口从FPGA中将数据读入内存,并启动多个内核同时进行脉内调制特性分析。其中FPGA的GTX为8x模式,波特率10 Gb/s,DSP的SRIO接口为4x模式,波特率6.25 Gb/s,DSP工作主频设定为1.2 GHz。通过CCS软件程序运行时间记录功能,对整个处理流程的耗时进行测试,如图5所示。
由图5可以看出,从FPGA开始读取数据到数据进入DSP内存共耗时0.016 251 ms,DSP进行脉内调制特性分析耗时为0.010 375 ms,处理一帧脉冲信号总时间约26 μs。
4结束语
本文从硬件设计方面介绍了一种高速实时信号处理平台的实现方法,基于Xilinx公司Kintex7系列 FPGA以及TI公司多核DSP芯片TMS320C6678构建系统,对电源电路、时钟电路以及芯片互联方案进行了详细设计及测试。采用高速串行接口实现芯片间数据交换,基于多核DSP并行运算提高计算效率,解决了宽带侦察接收机系统中海量数据传输与实时信号处理速度的瓶颈问题,可提升侦察接收机对密集信号环境的适应性。该信号处理平台具有数据传输带宽大、并行处理能力强、可靠性高等特点,可以满足实际工程应用的需求。
参考文献
[1] 龚仕仙,魏玺章,黎湘,等.宽带数字信道化接收机综述[J].电子学报,2013,41(5):118-122.
[2] 郝绍杰,何鹏,朱伟峰.双通道高速数据采集处理平台的设计与实现[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的分布式通信系统[J].微型机与应用,2014,33(13):74-76.
[6] 李鑫,姜明.多核DSP高速实时信号处理系统设计[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.