基于MAXl01A的1GHz数字射频存储器的设计与实现
扫描二维码
随时随地手机看文章
2 DRFM数据采集模块的设计
2.1 MAXlOlA的主要特点
ADC芯片是数据采集的核心器件,本系统中A/D转换器采用MAXIM公司的MAXlOlA,它的最高采样速率可达到500 Msps,采样精度为8 bit。本文采用两片MAXl01A交替采样,以使系统达到1 Gsps的采样速率。MAXlOlA主要特点如下:
◇具有500 MHz转换速率;
◇在250 MHz时的有效位为7.0位;
◇1.2 GHz模拟输入带宽;
◇误差小于±1/2LSB INL;
◇带50 Ω差分或单端输入;
◇具有±250 mV的模拟输入范围;
◇数据通路可双路锁存输出;
2.2 MAXl01A的原理
(1)多位转换
MAXl01A采用并行结构(即闪烁结构)进行比普通积分ADC更快的多位转换。典型的n位闪烁结构含有(2n-1)个比较器,其负输入端均匀的从基准网络阶梯电阻的底部排布到顶部,各占据一个LSB增量值。MAXl01A是一个单片双交叉并行量化的芯片,它内部具有两个独立的8位转换器,n=8时,应有255个比较器。这些转换器将结果传送给A、B两组输出端,并在输入时钟交替负边沿锁存它们。
(2)跟踪/保持
MAXlOlA内部自带的跟踪/保持放大器提升了获得有效数据位的性能,并允许在高转换速率情况下仍以较高的精度捕捉模拟数据。其内部
Track/Hold电路为MAXIMA提供了两个重要的功能:一是它的4倍额定增益减少了输入差动电压的振幅,对±1.02 V基准源,输入信号为+250
mV;二是提供一个差动的50 Ω输入,使MAXl01A接口应用极为方便。
(3)数据流
MAXlOlA内部的跟踪/保持放大器为ADC提供模拟输入电压的采样。而T/H放大器被同时分为两部分,分别工作在交替的时钟负边沿。输入时钟CLK应满足T/H放大器要求,同时还可回馈给A/D部分。输出时钟DCLK用于数据定时,是输入时钟CLK的2分频或10分频。
2.3 MAXlOlA的应用
(1)模拟输入范围
虽然正常工作范围为+250 mV,但对MAXl01A的每个输入端而言,其对地的输入范围实际上为±500 mV,这扩展了包括模拟信号和任何DC共模的电压的输入电平。要在差动输入模式下得到满量程的数字输出,应在AIN+和AIN-之间加+250 mv电压,也就是说,AIN+=+125 mV,AIN-=-125mV (无直流偏置)。在模拟输入端之间无电压差时,会出现中间刻度数字分驱动为-250mV,即AIN+=-125 mV,AIN-=+125 mV时,会出现零刻度数字输出代码。
(2)基准
ADC的基准电阻确定了ADC的最低有效位(LSB)的大小和动态工作范围。通常,电阻串的底部和顶部都是由内部缓冲放大器驱动的。在ADC的基准输入端加RC网络可获得最佳性能,可将一个33 Ω电阻与驱动该基准电阻串的缓冲输出级相联,而0.47μF电容必须接在缓冲输出级的电阻器旁边。这个电阻与电容的组合必须位于MAXl01A封装的0.5英寸(1.27 cm)之内。任一端接点的噪声都会直接影响代码的检测,并且降低ADC的有效数据位指标。
(3)时钟CLK和DCLK
MAXl01A的所有输入时钟和输出时钟都是差动的。输入时钟CLK和DCLK是MAXl01A的基本定时信号。CLK和DCLK通过内部一个50 Ω电阻传输线锁到内部电路。只有一对CLK和DCLK输入端被驱动,而其他对耦端子通过该50 Ω传输线接到-2 V。对简单电路连接而言,任一对输入端子都可以用作被驱动的端子。DCLK和/DCLK是由输入时钟产生的输出时钟,用于数据分组A和B的内部输出定时(A组数据在DCLK的上升沿后有效。B组数据在下降沿后有效)。在正常模式下,它们是输入时钟速度的一半的时钟信号。MAXl01A可以工作在输入时钟高达500 MHz的频率上。
(4)输出模式控制(DIVl0)
当MAXl01A的DIVl0脚接地时,它工作于检测模式。这时输入时钟被10分频,从而将输出数据和时钟频率降至1/5,但仍保证输出时钟的占空比为50%,而接输出定相的时钟保持不变,这样每5个输入采样值中就有4个被丢掉。反之,当DIVlO脚悬空时,它被内部电阻拉低,MAX-lolA工作于正常模式。
(5)布线、接地和电源
正常工作时,MAxl01A需要一个+5×(1±0.01) V的正电源和一个-5.2×(1±0.01)V的负电源。用高质量的0.1μF和0.01μF的陶瓷电容,将VTT和Vcc电源旁路,并且在尽可能靠近引脚的地方接地。需将所有接地引脚接到地平面,可优化抗噪声性能并提高器件的应用精度。
3 数据缓存模块设计
数据缓存器使用Ahera公司的FLEXlOKE系列CPLD。该设计利用FLEXlOKE器件实现高速FIFO,由于作为数据缓存的FIF0的输入输出时钟频率不能相同,所以必须使用双时钟FIFO。且该类器件用低电压供电,大大降低了系统功耗,提高了系统的灵活性和可靠性。
本文所介绍的系统使用VHDL硬件描述语言来对FLEXlOKE进行编程,编程环境为MAX+PLUSⅡV9.6扳本。
VHDL编程采用模块式设计。首先建立4个模块,即FIF0、MUX、counterl、counter2。其中的FIFO既可以调用lpm-FIF0(dualClock)来修改其中的一些关键参数以符合要求,也可以手工编写程序实现,这里采用调用宏模块的方式。值得注意的是,FIFO的输入输出时钟频率不同,因此必须采用双时钟FIF0。MUX、counterl、counter2是配合FIF0使用的多路复用器和分频器(计数器),均应手工编写其源程序。几个子模块完成以后,要新建一个总的系统模块(system)来调用子模块,以在system模块中完成系统端口的定义以及各个子模块之间的逻辑关系描述。这种设计有利于逻辑设计的集成化,从而为后续的改进提供方便。图2为编译通过后的系统仿真波形图。
4 结束语
本文以DRFM设计为核心,着重介绍了DRFM的数据采集前端的设计思路和方法。在超高速数据采集领域,数百兆乃至1 GHz的采样速度非但在国内,即就在国外也是电路设计的难点。使用基于SRAM的CPLD可以有效避开使用高速FIFO作为缓存器带来的高功耗、高开销的影响。数据缓存可以在一个片子内实现,降低了硬件的复杂度,减小了系统的功耗。更加值得关注的是,这类CPLD具有icr,即在电路可重配置,可以通过对其编程的方法其修改电路功能,这样就为后续的系统改进打下了良好的基础。