基于Virtex的编程嵌入式信号处理背板的开发设计
扫描二维码
随时随地手机看文章
现场可编程逻辑门阵列(Virtex)和高性能数字信号处理器(DSP)是高速信号处理领域两大关键器件,Virtex和DSP的运算速度及并行处理效能成为制约高速信号处理应用的主要因素。FPGA以其设计灵活性及硬件高密度性在高速信号处理领域显示出愈来愈重要的作用。Xilinx公司最新推出的Virtex系列FPGA。是一种采用5层0.22μmCMOS工艺的高性能、大容量现场可编程逻辑门阵列,其系统门密度高达100万门,系统性能可达200MHz,可选择配置为多种接口标准,内部含有丰富的布线资源,其SelectRAM和BlockRAM可灵活地配置为SRAM、FIFO、DPRAM、CAM等多种形式的存储单元。Virtex系列FPGA含有极其丰富的I/O资源,可灵活地与TMS320C40DSP接口,与DSP配合可完成复杂的信号处理功能。C40DSP含有两组外部总线资源和6个高速通信口,可方便地进行多DSP扩展,以提高系统信号处理的性能。
在对Virtex系列FPGA进行充分理解和研究的基础上,结合对XC4000系列FPGA和DSP背板开发设计经验,研制出了基于XCV200/300PQFP240和TMS320C40的可编程嵌入式高速信号处理背板。背板采用了针对系统需求自行开发的XPCI总线,背板可脱离实际应用系统进行独立的面向应用的设计和调试,也可按照XPCI总线标准方便地嵌入到实际应用系统中,成为系统的一部分进行联合调试。
对可编程嵌入式信号处理背板进行全面综合测试的结果表明,背板性能达到了预期设计要求,工作状态稳定。我们还针对实际应用开发了一些FPGA模块和DSP程序。
1Virtex系列FPGA性能简介
在前几代FPGA开发的基础上,Virtex系列FPGA结合了多种可编程系统的特征,采用了快速灵活的层次性互连布线资源和先进的处理技术,提供了高速度、大容量的逻辑解决方案,进一步缩短了数字信号处理系统的开发周期。与前几代FPGA相比,Virtex系列FPGA的特性主要体现在以下几个方面:
(1)更高的处理速度和更高的逻辑门密度。Virtex系列最大系统门数高达100万门,系统性能可达200MHz,其中比较常用的几个功能模块性能如表1所示。
表1Virtex系列FPGA几个常用功能模块的性能
(2)更多可兼容的I/O接口标准。Virtex系列可兼容16种高性能接口标准,可直接与ZBTRAM器件接口,且其独特的I/O分组方式可使多种不同电压标准接口在同一片FPGA上实现。
(3)片内时钟管理电路。Virtex系列内部包含4个灵活的延时锁相环用于高级时钟管理,可实现倍频、分频、锁相等功能,此外还有4个主全局时钟网络和24个从本地时钟网络,以实现高速时钟的传输。
(4)层次性存储管理系统。Virtex系列内部查找单元可配置为16bit和32bitRAM、16bitDPRAM或16bit移位寄存器,其BlockRAM资源可配置为4kbitDPRAM或FIFO、CAM等存储器件,且提供了高速外部RAM接口。
(5)更加灵活的系统结构。复杂的进位逻辑链提高了算术逻辑性能,复杂的乘法器支持,级联链支持宽位输入模块,丰富的带时钟使能的寄存器和锁存器,支持异步和同步复位及置位,支持IEEE1149.1边界扫描逻辑。
(6)基于SRAM的在系统可重构技术。可无限次重复编程,包含主串、从串、SelectRAM和JTAG四种配置模式,支持部分重构。
2基于Virtex系列FPGA的可编程嵌入式信号处理背板的设计
由于对Virtex系列FPGA进行了充分理解和熟悉,我们研制了基于自行开发的XPCI总线的可编程嵌入式信号处理背板。由于Virtex系列FPGA内部结构相同,外部引脚兼容,只是在系统门数上有所区别,我们采用了XCV200PQ240-4作为可编程嵌入式信号处理背板的主处理芯片,与FPGA接口的DSP采用功能强大、接口灵活的TMS320C40DSP。背板中DSP的应用目的是对FPGA进行管理和控制、对FPGA处理结果进行分析、通过DSP软件实现其他相关功能,以提高系统设计的灵活性。C40DSP具有两组外部总线资源和6个高速通信口,能方便灵活地实现系统扩展。背板中FPGA可根据设计需要选择不同规模的芯片。
可编程嵌入式信号处理背板结构如图1所示。
背板上主要包含1片XCV200PQ240FPGA、1片TMS320C40DSP、1片XC9536CPLD、1片EDI8L512SRAM(512K×32bit)、1片AT49020Flash?2Mbit、DSP调试JTAG接口、FPGA调试X_Checker接口、CPLD调试JTAG接口、自行开发XPCI接口及5个独立DSP通信口。背板所有器件除DSP外均采用贴片封装、双面装焊,使得背板的尺寸较小(76mm×127mm×12mm),DSP外围512K×32bitSRAM使得背板系统能够满足大部分应用程序的要求。2MbitFlash用于固化FPGA配置和DSP应用程序代码。背板系统既可以独立工作(Standalone方式),也可以通过XPCI总线嵌入系统工作(Plug_in方式)。
背板系统以40MHz晶振输出作为时钟,C40DSP工作在40MHz时钟下,XCV200FPGA以40MHz时钟作为输入,在内部通过DDL电路可将内部工作时钟倍频到180MHz。DSP通过本地总线(LA?0..30?、LD?0..31?)以TTL兼容方式与FPGA接口,占用FPGA65bitI/O资源;DSP通过本地总线对FPGA进行配置、参数设置及数据交换,实现软硬件之间的协同处理。
Virtex系列FPGA内部供电电压为2.5V,I/O通过VCCO和VREF控制实现与各种电平接口之间的兼容;与TTL兼容的VCCO控制电压为3.3V,VREF作为一般I/O使用;Virtex的I/O分组方式实现使得不同电平接口得以在同一芯片设计中共存。
背板通过168线XPCI总线与外部系统接口,XPCI总线主要包含三大部分:电源接口、FPGA的可编程I/O口、DSP接口。电源接口包括给DSP、CLPD、SRAM及其他TTL逻辑供电的5V电源,给XCV200PQ240等Virtex系列FPGA内部工作逻辑供电的2.5V电源,I/O接口供电电平VCCO和分组参考电平VREF(Bank0~Bank7?FPGA可编程I/O接口主要提供了64个从Virtex系列FPGA引出的可编程I/O引脚,用于设计特定逻辑;DSP接口提供了TMS320C40DSP主总线接口、中断口和通信端口0及TCLK0和TCLK1,用于系统扩展及与用户程序之间的数据交换。
背板有丰富的配置及调试接口。Virtex系列FPGA在板上可实现三种配置方式:从串方式(通过Xlinx专用X_Checker接口)、JTAG方式(通过XPCI接口提供给用户)、Select_RAM方式(通过DSP和XC9536CPLD实现);DSP调试通过专用14芯JTAG接口完成;CPLD逻辑可通过标准JTAG电缆实时修改配置。DSP其他5个通信口通过5个IDC14插座输出,可根据系统实际需要选用。
3基于Virtex系列FPGA的可编程嵌入式信号处理背板的调试
在信号处理背板制作完成之后,我们对背板进行了调试,并开发了一些背板专用配置程序。
在调试过程中我们使用了WhiteMount公司的CodeComposerDSP开发调试软件和Xilinx公司的Foundation2.1IFPGA&CPLD开发调试软件。为全面验证我们预期的设计效果,调试按以下过程进行:
(1)利用Foundation2.1I通过X_Checker接口向FPGA下载测试配置,FPGA响应结果正确。
(2)利用CodeComposer通过JTAG电缆对DSP内部RAM和外部SRAM进行测试,测试表明硬件设计正确。
(3)利用Foundation2.1I通过标准JTAG电缆对XC9536下载测试配置,CPLD响应结果正确。
(4)利用Foundation2.1I通过标准JTAG电缆对XC9536下载自行设计的FPGA专用配置,利用CodeComposer通过JTAG电缆对DSP加载专用配置程序,使得DSP完成对Flash烧录FPGA配置数据和DSP的Bootloader数据。
(5)脱离开发系统,背板上电通过Flash内的配置数据自行FPGA配置和DSP的Bootloader?运行结果正确。
4应用设计实例
为进一步验证背板的通用性,我们根据实际课题需求,在背板上开发了两个应用设计实例。一个是320MHz32bit高速计数器。我们在以前开发的200MHz高速计数器的基础上,基于多路均匀相差时钟信号在TOA时刻进行逻辑译码获得高速计数效果的原理,通过外部40MHz输入时钟,利用VirtexFPGA内部DDL电路产生4路相差90°的80MHz信号,形成320MHz32bit高速计数器,使得时间测量精度达到3ns左右。该设计可用于高精度TOA、PW、RF等参数的测量。
另一个是基于内容可寻址存储器(CAM)的关联比较器。我们在充分分析Xlinx提供的CAM_Core设计的基础上,自行设计了一种基于CAM的可编程关联比较器。该比较器采用中值比较法,可通过控制线控制比较范围,并设计了一种专门对付捷变参数的多值比较逻辑。我们利用XCV200PQ240实现了上述设计,通过测试母板上的UART从控制台微机上接收模拟辐射源数据。测试结果表明,在辐射源参数空间重叠不太严重的情况下,该设计可同时处理80个以上的装定辐射源参数(128bitPDW可包含捷变参数),且能达到较好的分选效果,可见它在侦察信号处理领域的应用前景是非常广阔的。