1引言
随着电子技术的发展,军用无线数传设备向着小型化、低功耗化的方向发展。无线数传设备需要在面积有限的印刷电路板上实现多路采样的需求,采用多通道高速ADC可以满足设备微型化的要求 。AnalogDevice公司的AD9252集成了八路模数转换,输出采用高速串行DDR(DoubleDataRate)方式,Xilinx公司高端FPGA中集成了片同步模块,利用这一模块可以满足串并转换的时序要求,正确地恢复出并行数据。但是低端的FPGA中无此模块,考虑到成本问题,系统采用兼容低端FP-GA设计方法,利用FPGA内部的寄存器来实现串并转换,通过内部时钟管理模块DCM(DigitalClock Management)、位置约束等来满足时序要求。
AD9252是一款八通道,14b的模数转换器,最高采样率为50Msample/s;内部集成了采样保持电路,输出采用高速串行DDR方式,输出端包含一个输出数据时钟(DCO)用于捕获数据和一个帧使能信号(FCO)表示新的数据位的开始;接收端通过串并转换,恢复并行数据。
2设计方案
AD9252高速串行数据转换成并行数据是通过FPGA内部寄存器来实现。帧使能信号FCO生成上下沿使能信号,通过多个寄存器来寄存串行数据,下一个帧使能信号FCO到来之前,取走并行数据,完成串并转换, 具体实现如图1所示。
图1 FPGA解串的示意图
采样时钟为40MHz的系统,输出时钟DCO为 40×14/2=280MHz,串行输出采用DDR方式,数据率为280×2=560Mb/s,数据的时间窗口仅为1.79ns, 除去数据上升沿、下降沿时间和抖动时间,数据的有效窗口长度变得更小。采用FPGA内部寄存器完成串并转换时,寄存器之间的布线延迟时间与数据有效窗口时间相当,要实现系统稳定的工作, 必须满足数据的建立保持时间的要求。FPGA内部的时钟资源、时序约束以及位置约束为此实现提供了基础。
3时序设计
FPGA内部时序设计通过时钟管理模块DCM、 位置约束和延迟单元IDELAY来实现。
3.1 DCM的时钟设计
AD9252输出280MHz时钟通过FPGA全局输入引脚进入FPGA内部的DCM, 产生两个相差180°的时钟,分别用来寄存上下沿数据。DCM除了倍频和分频时钟功能外,还能补偿时钟进入FPGA到DCM布线延迟和时钟经过全局网络到达触发器的延迟,保持时钟与数据原来的时序关系。
为了保证时钟到达各个触发器的延迟相同,DCM产生的两个时钟接入FPGA内部的全局时钟网络,全局时钟网络是一种全局布线资源,保证时钟信号到达各个目标逻辑单元的延迟基本相同。FP-GA内部全局时钟资源网络如图2所示。
图2FPGA内部全局时钟网络示意图
图2显示了FPGA内部全局时钟资源为一树形结构, 保证了全局时钟到达逻辑单元的布线长度相同。时钟接入全局时钟资源通过全局缓冲器来实现 , 如下所示:
FPGA内部布线前的全局时钟与触发器的关系可通过FPGA开发工具Planahead查看,全局时钟连接到触发器的关系如图3所示。
图3布局布线前全局时钟网络图
FPGA内部高速时钟必须加入周期约束来保证时钟布线满足时序要求,约束语句如下所示:
约束语句保证了全局时钟周期为280MHz,占 空比为50%,高电平有效。
FPGA内部布局布线后,通过FPGA editor工具 查看全局时钟布线资源, 如图4所示。
图4布局布线后的全局时钟网络图
3.2位置约束
设计时加入位置约束,将串并转换的触发器放 在FPGA内部同一物理区域,缩短输入数据与触发器之间的布线长度,减小布线延迟时间。图4显示通过位置约束,触发器被约束在FPGA内部同一位置区域,并且靠近ADC输入引脚。
3.3 时序调整模块IDELAY
串并转换时, FPGA内部寄存器必须在数据稳定时间内寄存数据, 才能正确恢复并行数据。AD9252输出的数据与时钟的时序关系经过布线的延迟后, 不能满足建立保持时间的要求,需要重新调整。通过FPGA内部集成的IDELAY来实现时序微调整 。
IDELAY是FPGA内部集成的可编程绝对延迟单元。IDELAY具有64个tap的可调延迟单元,每个tap延迟时间为78ps,可以实现5.0ns的延迟。时序设计时改变tap值,来调整数据和时钟的时序关系。IDELAY模块需要一个参考时钟才能正常工作。
4时序分析
5测试
高速接口的FPGA程序是在XilinxISE12.4编译环境下实现的,仿真采用ISE自带的仿真工具ISim12.3,功能验证和时序验证通过ChipscopePro12.3捕获波形实现。
5.1功能测试
功能测试时采用信号发生器产生一定频率的正 弦波接入ADC的输入端,后端通过FPGA的在线逻辑分析仪Chipscope来分析采集的数据信号,如图5所示。
图5正弦信号的采样波形
图5中重建的信号波形和频率与信号产生器的相同,验证了串并转换时序设计的正确性。
5.2 时序测试
时序分析主要测试IDELAY模块中多少个tap值可以使系统稳定工作,计算出数据眼图宽度。测试结果见表1。
从测试结果可以看出数据眼图宽度为5taps,时间宽度为T=5×78=0.39ns,眼图测试宽度与分析的眼图宽度相差0.12ns,时序分析时并未考虑到PCB布线和FPGA内部布线的抖动时间,此外IDELAY模块中每个tap都会引入相应的抖动时间,这些都会减小数据眼图宽度。
6结论
本文综合利用FPGA内部时序约束工具和FP-GA内部的组成单元———寄存器实现了高速串行数据的正确解串,避免了高端FPGA内部集成的片同 步模块在低端FPGA中无法实现的问题;同时,克服了片同步模块要求解串通道的信号线需要布局在FPGA相邻区域的限制,提高了系统设计的灵活性,降低了系统设计的成本。测试结果表明,该高速接 口可以稳定工作。此外, 此系统还可以应用在其他高密度集成系统中,提高了系统的复用性。