基于ADC08D500的FPGA数据采集系统
扫描二维码
随时随地手机看文章
引言
当前,越来越多的通信系统都工作在很宽的频带上。而且对于保密和抗干扰有很高要求的某些无线通信更是如此,随着信号处理器件的处理速度越来越快,数据采样的速率也变得越来越高,在某些电子信息领域,还要求处理的频带要尽可能的宽、动态范围要尽可能的大,以便得到更宽的频率搜索范围,从而获取更多的信息量。
因此,通信系统对信号处理前端的A/D采样电路也提出了更高的要求,即希望A/D转换速度快而且釆样精度高,以便满足系统处理要求。现场可编程门阵列(Field-ProgrammableGateArray,FPGA)的出现,已经显著改变了数字系统的设计方式,也使数字系统设计具有高度的灵活性,因此FPGA的应用越来越广泛,这也使高转换速率的ADC器件在FP-GA的应用系统中能发挥出最好的性能。本系统设计就是基于以FPGA为核心芯片的高速数据采集系统。它选用美国国家半导体公司的高速A/D转换芯片ADC08D500来实现高达500MHz的釆样速率,同时利用FPGA对AD模数芯片的控制实现数据采集,也可以选择将数据缓存起来以备后续处理,还可以选择通过高速PCI接口来实时输出数据。
1 基于FPGA的高速数据釆集系统的结构原理
基于FPGA的高速数据釆集系统的设计原理框图如图1所示。
图中的输入信号为中频模拟信号,该信号经差分处理后可连接到高速A/D转换芯片ADC08D500的输入端。ADC08D500在500MHz釆样时钟下,对模拟信号进行数字化处理,然后将转换后的二进制数字数据输出到FPGA中,再由FPGA对ADC输出的数字数据进行实时处理或者先将数据缓存,最后通过高速接口PCI输出显示或者直接输出到高速缓存存储器中。
NS公司的ADC08D500为双通道8位模数转换器,其采样率为500MSP/s,因此,对输入的模拟信号必须限制在250MHz频率下,一般中频信号都低于100MHz以下,因而可以满足本设计的要求。
FPGA具有电路设计灵活,硬件资源丰富等特点,使用FPGA不仅可以控制A/D转换器进行高速采样,而且可以使用其内部的块RAM存储资源作为高速数据的缓存,同时也可对采集到的数据进行实时处理。
2 ADC08D500芯片的内部结构原理
ADC08D500是差分输入、采样率达500MSP/s的双通道模拟/数字转换器。该A/D转换器的特点在于其高采样性能和低功耗,功耗可低至1.4W以下,因此,在设计电路时,无需再为该A/D转换器加设散热器,这样不仅可以节省电路板的板面空间,而且还可降低系统成本,而且提高系统的可靠性。
ADC08D500芯片的内部结构框图如图2所示,由图2可见,该器件主要由输入多路模拟开关、采样保持电路(S/H)、8位ADC和1:2分离器/锁存器四部分组成。器件包含两路相同的通道,控制逻辑可由普通方式或扩展方式进行配置,以对整个芯片进行控制。其中VINI﹢、VINI-与VINQ﹢、VINQ-是两路差分输入端,CLK+,CLK一是差分采样时钟输入端,采用差分输入可以有效消除漂移影响;每路转换器都有一个L2的信号分离器,这使得数据在总线上的输出频率总是采样速率的一半。具体来说,在T时刻的采样值将在之后的T+13Tclk血时刻在DI或者DQ上输出,而T+Tclk时刻的采样值将在T+14Tclk时刻在Did或者DQd上输出;以此类推,采样数据将在时间上交错的出现在2条数据线DI(DQ)和Did(DQd)上,因此,每个输出数据频率其实只是采样频率的一半。
本设计的输出模式有二种,分别为单边数据率模式和双边数据率模式。在单边数据率模式下,输出数据和输出时钟的频率相同,外部处理器可以在输出时钟的上升沿采样;而在双边数据率模式下,输出时钟的频率是输出数据速率的一半,也即外部处理器必须在输出时钟的上升和下降沿都采样,这样才能采集完整。采用双边数据率工作模式可以降低芯片的输出时钟频率,有利于保证系统的稳定性。
3 Xilinx FPGA芯片介绍
高速采集系统的性能要求主要包括两点:一是高速性,目前高速数据采集中所用的A/D转换器已达到几十甚至几百MSPS的水平,这就要求采样数据存储器的速度也要与之匹配,也就是应采用高速缓存;二是大容量,其原因是高速数据采集会产生巨大的数据流。所以,通常需要海量缓存来存储采样数据。使用FPGA接收前端高速A/D转换器采集的多通道数据。将该数据用作数据的缓冲和数字信号的预处理是一种比较好的方式。由于FPGA的IO端口的读写速度要求与A/D转换器输出的时钟相匹配,因此,在FPGA内需要作数字预处理时,也由高速的乘法器来帮助完成,这样,综合考虑,本设计选择TXilinx公司的性价比较高的Virtex-5系列FPGA芯片XC5VLX5OT。
Virtex-5是Xilinx公司采用先进的65nm三栅极氧化层技术、突破性的新型ExpressFabric技术和ASMBL技术生产的系列产品,该芯片可实现真正的6输入LUT,并可将性能提高2个速度级别。该芯片的逻辑单元有33万个,1/0管脚1200个,并有1.25Gb/sLVDS以及增强型器件配置,可支持商用FLASH存储器,这些都使Virtex-5系列的芯片性价比大大提高,同时也降低了器件成本和总体系统成本。
4 FPGA控制的ADC模块设计
本设计可在Xilinx公司提供的开发集成软件ISE环境平台下,采用VerilogHDL硬件描述语言进行控制模块的软件编程。编程主要分为两个部分:分别是系统复位时对ADC芯片进行运行模式的控制和复位后对ADC芯片的自校准时间进行控制。图3所示为FPGA控制ADC的模块设计原理图。
本设计采用FPGA芯片XC5VLX50T来对ADC08D500进行采样控制,并对数据进行实时处理,处理后再将数据输出。图3中,Vin_p、Vin_n和Dclk_p、Dclk_n分别为差分模拟输入时钟和差分采样时钟引脚。FPGA当芯片XC5VLX50T在对ADC08D500控制时,可产生输入复位reset信号来启动控制模块,当reset信号有效时,可对ADC08D500芯片进行基本的控制方式配置;当reset信号无效时,则控制芯片的上电时间和自校准时间,以保证芯片能以最好的性能运行起来。具体可用Verilog HDL语言来进行编程,其基本的流程图如图4所示。
一些基本的控制可通过ADC的普通模式来设置,比如自校准、休眠模式和量程设置等。此外,ADC08D500还提供有扩展控制模式,可借助串行接口来配置芯片内部的寄存器,但此扩展控制模式不能动态地选择,而要通过14管脚(ECE)来选择。本设计选择普通控制方式,主要是对对应管脚的电平进行设置,包括CAL,CALDLY,FSR,OUTEDGE, OUTV,PD和PDQ等,综合考虑可以双边沿采样、650mV(峰峰值)、低边沿SDR非低功耗模式来操作,并用VerilogHDL语言对其进行配置。为了保证采样精度,同时考虑到实际应用中的发热及环境变化等因素,可以釆用初始化延时方法,也可利用芯片本身的自校准功能来予以解决。
当ADC芯片运行良好时,就会持续不断的输出二路8位差分数据对,分别为Dq_p、Dq_n和Dqd_p、Dqd_n。
5 波形仿真
利用Xilinx公司提供的ChipscopePro软件工具可以将逻辑分析仪、总线分析器以及有效的I/O小型软件核等直接插入设计中,从而可以査看任何内部信号和节点,信号线可从编程接口引出并接入PC,采集到的信号可以直接通过逻辑分析仪进行分析,这样可为设计释放了更多的引脚。
在A/D转换器输出数据的速率达到250MHz时,可用ChipscopePro进行分析。输入信号源可以是HP公司生产的8165A任意波形发生器,A/D的输出值范围是0〜255,根据物理意义,其中128即表示零电平。图5所示是输入端接地时,从ChipscopePro中直接读到的DQd端接收的数据。从图5可以看出,其DQd端的数据一直保持为128,表示接收数据正确。
图6所示是信号源产生50MHz正弦波时,DQd端接收到的数据。图中显示的只是其中一段信号的采样数据,从图中分析数据的递增和下降趋势,可见其基本符合正弦波的波形特点。
图7所示是信号源产生方波时,DQd端接收到的数据,从图中可以看到,低电平采样值从低电平突变到高电平的间隔非常短,中间仅仅只有一个数据11,然后马上就过渡到高电平,在高电平处采样得到的值都在230上下浮动,基本符合方波的特性。
从以上这三个波形结果分析可见,模拟信号经ADC08D500的模数转换后,FPGA接收的数据在DQd端基本正确,从而实现了高速A/D系统的釆样,同时也完成了数据采集系统的功能。
6 结语
本文详细介绍了基于FPGA的高速转换芯片ADC08D500在采集系统的应用设计和编程实现方法,并对设计的FPGA控制模块程序进行了详细的说明,同时使用Xilinx公司提供的逻辑在线分析仪ChipscopePro进行了具体的波形仿真。由于所采用的ADC芯片ADC08D500性能强大,价格合理,因此,在以FPGA为核心的数据釆集系统中不仅可以为其提供很高的釆样速率,而且,FPGA设计的控制模块设计简单,可以更好地发挥高速率模/数转换器的强劲性能,因而在现代高速数字釆集系统中具有很好的应用前景。