《计算机系统应用_双FPGA高速数字系统的设计与实现.pdf》由会员分享,可在线阅读,更多相关《计算机系统应用_双FPGA高速数字系统的设计与实现.pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2010 年 第 19 卷 第 10 期 计 算 机 系 统 应 用 Application Case 实用案例 1 双 FPGA 高速数字系统的设计与实现 罗旗舞1 谢洪途2 黎福海1(1.湖南大学 电气与信息工程学院 湖南 长沙 410082;2.国防科学技术大学 电子科学与工程学院 湖南 长沙 410073)摘 要摘 要:系统以两片 Spartan-3E 系列 FPGA 器件 XC3S500E 为核心,选用 A/D 转换芯片 MAX12529 进行高速同步采样、D/A 转换芯片 DAC902 进行实时信号产生。两片 FPGA 通过 8bit 数据位互连或共享高速双口 RAM 方式实现通信
2、。两片独立配置,分别辅以 FLASH 存储器,构成一个功能较强的数字系统。关键词关键词:FPGA;A/D;D/A;MicroBlaze;高速 Design and Implementation of Dual-FPGA High-Speed Digital System LUO Qi-Wu1,XIE Hong-Tu2,LI Fu-Hai1(1.College of Electrical and Information Engineering,Hunan University,Changsha 410082,China;2.College of Electronic Science and En
3、gineering,National University of Defense&Technology,Changsha 410073,China)Abstract:Centering on two pieces of Spartan-3E series FPGA chip XC3S500E,the system uses ADC MAX12529 for high-speed synchronous sampling and DAC902 for real-time signal generating.Two pieces of FPGA can communicate with each
4、other by interconnecting the 8-bit GPIO,or by the sharing of high-speed dual-port RAM.Its configuration circuits are independent,and it constitutes a high-performance digital system with a FLASH memory,respectively.Keywords:FPGA;A/D;D/A;MicroBlaze;high speed 1 引言 随着数字系统向高速度、低功耗、低电压、高集成度方向发展,对高速电路设计的
5、要求越来越高。可编程逻辑器件 FPGA 由于其固有的特性,正好满足了这方面的需求1。目前,部分高校和企业使用可编程器件厂家和第三方的开发套件用于学生的教学、员工的培训和科研原型机开发。但由于价格原因以及相关学科竞赛和敏感科研对平台的特殊要求,使其受到一定限制。作为高性能数字平台的开发,与低速情况下的数字设计相比,信号的过冲和串扰明显,如果不做端接等特殊处理,在速度进一步提高时,会直接影响系统 的电气性能2。由于高速数字设计对接插方式,扁平 收稿时间:2010-01-26;收到修改稿时间:2010-03-18 电缆的性能要求都非常高,传统的 FPGA 核心板与高速功能子板的接插方式,会对系统信号
6、完整性有很大影响。本文以 FPGA 为核心,将高速的 A/D、D/A 和双口 RAM 模块集总于同一 PCB 平台,而低速模块作为其功能子板,根据 TOP-DOWN 的方法给出了一种高速数字系统的设计方案,并予以实现和测试。解决了FPGA容量、成本和速度的矛盾,提高了系统集成度。2 系统设计 2.1 系统总体设计系统总体设计 系统为满足一定的通用性,每片 FPGA 都配有按 键、LED 和调试串口,方便开发与使用,图 1 给出该 数字系统的原理框图。为满足更高需求,系统配备双 计 算 机 系 统 应 用 2010 年 第 19 卷 第 10 期 2实用案例 Application Case 通
7、道同步高速采样 ADC、高精度信号产生 DAC、高速双口 RAM 和大容量 FLASH,以 FPGA 为载体进行数字信号处理并为嵌入式应用提供解决方案和硬件支持,避开了传统的单片机加 FPGA 方案系统集成度不高的缺点来做嵌入式研究。图 1 系统设计框图 2.2 器件选型与核心模块设计器件选型与核心模块设计 Xilinx 与 Altera 作为 FPGA 的两大巨头,在“可编程技术势在必行(Xilinx CEO Moshe Gavrielov:the programmable imperative)”有关整个行业的发展趋势这种方向性的问题上是没有分歧的3,故FPGA 芯片的选型关键在于满足系统
8、设计要求。目前业界大容量 FPGA 一般为 BGA 封装,这种封装的焊接需要专业仪器,且其 PCB 设计需要多层板,生产成本较高;基于 TQFP 封装 FPGA 的 PCB 设计仅需双面板就能达到系统要求且焊接简单,但对信号完整性有一定的影响。而从高速数字设计理论分析上2,结合电气性能仿真的参数指导,特别是保证关键信号的良好端接,能够解决这个问题。为了确保性能、降低生产难度和节约生产成本,选择了 Xilinx Spartan-3E 系列 PQ208 封装的 XC3S500E。传统单通道信号采集往往不能满足多节点实时采样分析的要求,本文以 MAXIM 公司的 MAX12529为核心,辅以相应的前
9、端模拟电路做好信号的适当放大和单端信号到双端信号的转换(single-ended signal to differential signal),实现的高速数字采集模块,克服了这一弱点。MAX12529 是美信公司的双路 96Msps、12 位模数转换器(ADC),具有全差分、宽带采样/保持(T/H)输入,用于驱动内部量化器。该芯片优化于低功耗、小尺寸和高动态性能指标,非常适合中频(IF)与基带采样应用。双路 ADC 工作于 3.3V单电源,在 175MHz 输入频率下具有典型值为69.5dB 的信噪比(SNR)4,满足较高的设计要求。为满足高精度的信号输出,选用 TI 公司的DAC902,辅以
10、相应的后端模拟电路,对输出信号的幅度有可靠的控制并能够满足高带宽要求。DAC902是 12 位 165MSPS Speed Plus(TM)DAC,可伸缩电流输出在 2mA 与 20mA 之间5。为了将双端电流转化成单端电压输出,较常规的设计方法是使用高频传输器或宽带运放,但是前者低频通带特性比较差,故选择宽带运放OPA690,该运放带宽为500MHz(G=1),其通带特性在 0-100MHz 范围内基本平坦6,以 FPGA 为核心,集高速 ADC 和 DAC 等宽带模拟器件一体构成数字信号处理系统。该模块框图如图 2,在验证采样的正确性后,可实现信号的频谱分析、失真度分析以及信号鉴别和提取工
11、作等。当处理工作繁多且需要人机交互时,可将重要模块封装成 IP 核(core),并配置 32 位软核 MicroBlaze 对其调度,来提高系统工作效率、加速开发进程。图 2 数字信号处理框图 2.3 双双 FPGA 设计设计 数字信号处理过程中,FPGA 资源消耗问题尤为突出。如进行 4096 点的 FFT 算法实现,并把运算结果存入 Block RAM 中,频谱分析的目标信号通过 DDS技术产生。该设计总体资源占用情况如图 3。图 3 总体资源消耗情况 特别对 Block RAM 资源的消耗情况如表 1。2010 年 第 19 卷 第 10 期 计 算 机 系 统 应 用 Applicat
12、ion Case 实用案例 3 表 1 Block RAM 消耗情况 模块名称 DDS CORE FFT CORE 结果 存储区 18Kbits-Block RAM 消耗 2 7 5 由此可知其资源消耗比较大。如果要实现特定网络相频、幅频特性的算法,并配置 MicroBlaze 软核来调度各个核心模块,单片 XC3S500E 的性能已经不能满足设计需求,需要两片 FPGA 才能实现。本系统的 FPGA-I 完成高速信号的采样、关键算法的实现及数据的缓存,FPGA-II 完成基于 MicroBlaze 软核的人机交互以及用户外设的协调处理。双 FPGA 之间的通信是本文的难点。选用高速双口 RA
13、M 芯片 IDT7028L20PFI,可以独立作为单片FPGA 的内存单元,又可作为两片 FPGA 的通信介质。此外,为了满足比较灵活而且速度要求不高的应用,两片 FPGA 之间的 8 位互连 GPIO,可作为通用接口,也可根据需求配置成 UART、IIC 和 SPI 等方式通信接口,避免使用高价格的双口 RAM 芯片。为了满足大容量程序的存储,尤其是基于 Micro Blaze 处理器的 Linux 的嵌入式设计7,每片 FPGA可扩充 128Mbit 的 FLASH。3 系统实现 根据系统总体规划和核心模块分析,为保证其良好的电源完整性和信号完整性,处理好以下细节:电源地、数字地、模拟地和
14、晶振地的良好分割隔离;信号通路上合理端接;芯片电源管脚旁路电容合理分布;差分对的严格电气规则定义;敏感信号线的避开;接口位置的合理摆放;测试焊盘的安排。图 4 给出了系统实物图。图 4 系统实物图 4 系统关键模块性能测试 数据采集的高精度、双片 FPGA 之间通信的高可靠性,是本设计的关键。文章给出这两个关键模块的测试方法和相应结果。4.1 数据采集精度测试数据采集精度测试 该测试将采样数据每 2048 点一组,通过串口传给 Matlab 并做图,对整个设计的正确性进行验证。A、B 通道输入频率分别为 1.25MHz、10MHz,峰峰值均为 49mV 的正弦信号,信号调理电路增益预设为15
15、倍。采样结果如图 5,结果与输入信号一致。进一步对采样精度验证和测试,无信号输入时,ADC 采样到 MAX12529 差分输入端的 COM 端电压,量化后理论值为 212/2,图 6 的采样结果说明,采样精度与理论计算逼近。图 5 采样数据的测试图一 图 6 采样数据的测试图二 4.2 共享双口共享双口 RAM 的数据通信测试的数据通信测试 系统配备的双口 RAM,能够作为大流量数据高速 计 算 机 系 统 应 用 2010 年 第 19 卷 第 10 期 4实用案例 Application Case 传输的媒介,其传输的可靠性是关键。按照测试框图7,通过串口从 PC1 键盘读入数据并发送至
16、FPGA-I,FPGA-I通过A端口将此数据写入双口RAM的指定地址,并将写入的数据回显到 PC1 上,以保证数据写入的正确性;FPGA-II 从双口 RAM 的 B 口读取对应地址的数据,并将数据通过串口显示至 PC2 上。测试结果如图 8,TXD_PC1 为发送方,RXD_PC2 为接收方,结果表明,发送数据和接收数据一致,且具有可靠的实时性。图 7 共享双口 RAM 的数据通信测试框图 图 8 共享双口 RAM 的数据通信测试结果 5 结束语 传统 FPGA+MCU 或 ARM 的方案,存在系统冗余、通信速度慢的缺点。本文在 FPGA 内配置软核处理器 MicroBlaze 作为系统的控
17、制核心,克服了这一缺点。在 FPGA 内部实现 delta-sigma 算法的 DAC,实现信号调理电路的增益实时控制,保证了高速 ADC的可靠采集,进一步提高了系统集成度。并从 PCB 布线、ADC 输出码型的选择等细节上保证采样的高精度和高速度。经过整机测试,各项功能均已实现,且性能稳定。参考文献 1 孙航,胡灵博,于联锋,樊彧.Xilinx 可编程逻辑器件应用与系统设计.北京:电子工业出版社,2008.2 Johnson H,Graham M.朱来文,陈宏伟译.王强(审).High-Speed Digital Design.北京:电子工业出版社.2008.178,128132.3 杨晖.2009 年:FPGA 的秀场.电子技术应用网,2009,3:23.4 Maxim.Dual,96Msps,12-Bit,IF/Baseband ADC.2007:711.5 Texas Instruments.12-Bit,165MSPS DIGITAL TO ANALOG CONVERTER.2008:12.6 Texas Instruments.Wideband,Voltage Feedback Operational Amplifier With Disable.2002:1,6.7 王淑贞,姚铭.FPGA 嵌入式系统的引导实现.计算机系统应用,2009,18(9):185189.
限制150内