基于FPGA的高速AD动态相位自校准实现

2021-10-13 10:25何广亮汤晓云
电子制作 2021年19期
关键词:原语延时时钟

何广亮,汤晓云

(1.中国空空导弹研究院,河南洛阳,471009;2.空装驻洛阳地区第一军代表室,河南洛阳,471009)

0 引言

在信号处理系统中,AD采样发挥着至关重要的作用,要想保证信号处理结果的正确性,必须首先保证AD采样数据的正确性。在FPGA的数据接收端,由于数据速率太高,随路时钟和数据延时不一致以及线路噪声的影响[1],导致单个ADC的多位数据之间存在偏移。由于采样时钟不能正确的捕捉到数据有效窗口的中心位置,使通道内数据接收不准确产生数据位偏移[6]。

本文采用ADS4449采样芯片,采样率最高达250MSPS,所以在FPGA接收端需要加入校准算法来保证采样数据的正确性,每次系统重新启动或者复位后,都需要对系统进行自适应校准。该算法利用Xilinx FPGA中自带的IDELAYE2[2]延时调整机制,调节IDELAYE2的延时tap,自适应的调整通道内随路时钟与数据的延时,实现数据对齐。

1 ADS4449简介

ADS4449为TI公司推出的高速AD采样转换芯片,采样率最高为250MSPS,精度为14bit,信噪比为69dBFs,无杂散动态范围为86dBc[3]。ADS4449芯片有多种工作模式,在实际应用中可通过FPGA对其进行配置,使AD芯片在最优性能下工作,配置接口为串行接口,最大工作频率不超过20MHz,配置时序如图1所示。

图1 ADS4449芯片配置时序

ADS4449芯片与FPGA之间用过LVDS总线连接,其14bit四通道数据双路输出使用双沿采样DDR的源同步方式,以提高数据的吞吐率和总理论带宽。LVDS模式优势明显,在低压情况下,它的摆幅切换的时间很快,可有效的解决电磁干扰的问题,采用差分传输,可实现共模抑制,大大消除了传输过程中引入的噪声干扰[4]。ADS4449的数据输出接口时序如图2所示。

图2 ADS4449数据输出接口时序

2 软件设计

软件设计采用Xilinx公司的Vivado软件和Verilog HDL语言[5]。硬件上电时,通过FPGA对ADS4449芯片进行配置,首先把ADS4449配置成输出测试序列模式,在FPGA内部,通过IDELAYE2调整随路时钟与数据的延时,使得FPGA采样时钟对准数据中间[7],并记录下采样正确时的延时值区间,找到区间的中间值,配置为随路时钟与数据的固定延时,最后把ADS4449配置为正常工作模式即可,软件总体框图如图3所示。

图3中IBUFDS、IDELAYE2、BUFG、IDDR和IDELA YCTRL均为Xilinx提供的原语,IBUFDS为差分I/O输入时钟缓冲器,用来把差分LVDS随路时钟和数据转换成单端;IDELAYE2和IDELAYCTR配合使用,调整随路时钟的路径延时;BUFG为全局时钟缓冲器;IDDR完成双边沿高速数据流到单边沿数据流的转换工作。

图3 软件总体框图

2.1 IDELAYE2子模块

IDELAYE2是7 Series FPGA硬件原语,该原语用来调整时钟或数据的相位,Tap为IDELAYE2的基本延迟单元,每个IDELAYE2有32个Tap,每个Tap的长度在0~78ps之间,能够实现0~2.5ns的延时。通过在7 Series FPGA Data Sheet中规定的范围内选择IDELAYCTRL参考时钟。IDELAYE2结构图如图4所示。

图4 IDELAYE2结构图

端口信号如表 1所示。

表1 IDELAYE2接口信号表

在例化IDELAYE2原语时,必须配合使用IDELAYCTRL原语,IDELAYCTRL模块能够根据参考时钟对IDELAYE2的Tap延迟分辨率进行校验。本设计中参考时钟为200MHz,IDELAYCTRL单元能够将Tap延迟值校验固定为78ps。

2.2 IDDR子模块

IDDR(InputDouble Data Rate,输入双倍数据率)子模块完成双边沿高速数据流到单边沿数据流的转换工作[8]。该组件为FPGA中专门用于接收外部双倍数据速率信号的器件原语。它可以在时钟的上升沿或下降沿将数据递送给FPGA,也可以将转换为只在上升沿传递数据,这样就节省了片上资源,并减小了额外的时序复杂度。IDDR的结构如图5所示。

我国拥有广袤的农村区域,农村面积占据了国土的绝大多数。和城市相比较而言,我国的农村教育教学水平还存在一定的差距,从教师的教育教学理念,到教学资源的配备,到教育教学的环境,到社会的关注程度,农村都远远不及城市。为了大力推进我国教育的均衡化发展,国家已经投入了更大力度,在农村幼儿园及中小学加大了投资力度,大力改善办学条件。作为一名农村幼儿园教师,也应当不等不靠,积极创新,广泛利用农村极为普遍的各种教育资源,为幼儿提供更加丰富的活动材料,组织幼儿开展更加具有农村乡土特色的区域活动,降低材料的成本,提高区域活动的效率,推动幼儿的全面发展,为农村幼儿教育事业的发展提供更加抢进的助推力量。

图5 IDDR结构图

IDDR端口信号功能如表 2所示。

表2 IDDR端口信号表

IDDR具有3种工作模式,分别为OPPOSITE_EDGE模式、SAME_EDGE模式以及SAMEEDGE_PIPEL1NED模式,其区别在于两路输出数据与输入数据相位关系不同。本文中采用SAME_EDGE_PIPELINED模式,该模式下IDDR的数据分流情况如图6所示。图中的双时钟沿数据经过IDDR后,输出两路数据。该模式的弊端是Q1,Q1信号变化时需要消耗一个额外的时钟周期延迟。

图6 IDDR的SAMEEDGE_PIPEL1NED时序图

2.3 校准算法模块

此模块是本文设计的核心内容,主要用来控制IDELAYE2中的延时值以控制随路时钟的延时。自校准需要通过特定的训练序列来实现,本设计中,通过配置ADS4449在测试模式下输出累加数特征序列。本文中IDELAYE2的Tap值为78ps,一共可以调整32次,即随路时钟的最大路径延时可以达到2.5ns左右。动态相位自校准的核心是通过特征序列从0到1的跳变,找到数据窗口的前沿和后沿,通过计算数据窗口前沿与后沿之间的Tap延时级数确定数据窗口的中心,校准流程如图7所示。

图7 工作流程图

校准的流程如下:

(1)系统刚上电或复位时,配置ADS4449为测试模式,输出累加数测试序列;

(2)找到数据窗口边沿。ADS4449输出数据稳定时,进行采样比较,由于测试序列为累加序列,在连续200个周期数据都是累加时,即认为当前的Tap延时值正确,表示数据窗口边沿被找到。

(3)找到数据窗口前沿。当数据窗口前沿被找到时,使Tap的延时级数加1,待输出数据稳定后,连续比较200个周期的累加数是否正确,如果不正确,则表示时钟还处在数据边沿的亚稳态区域,需要继续增加Tap的延时级数,直到采样结果正确为止,表示数据窗口前沿被找到,将此延时级数记为N1。

图8 校准示意图

(4)找到数据窗口后沿。找到数据窗口前沿时,继续增加Tap延时级数,直到输出数据错误时为止,表示数据窗口后沿被找到,记录下此时Tap延时级数为N2;

(5)确定数据窗口中心。数据窗口的中心位置就是前沿和后沿的中心,重新配置Tap延时级数为(N1+N2)/2,以此当作Tap的固定延时;

(6)重新配置ADS4449为正常工作模式。

3 测试结果

硬件采用V7 690t型号FPGA加ADS4449架构,为了便于观察,设置输入信号为1MHz的正弦波信号,ADS4449采样率配置为最高的250MSPS。

3.1 常温测试

首先测试不采用本算法时,随机配置一个Tap延时值得AD采样数据,结果如图9所示,可见FPGA接收到的信号含有许多毛刺,信号幅度偏小,有时候甚至看不出是正弦波信号。

图9 不采用本算法时FPGA接收数据

测试采用本算法时的FPGA接收端数据,可见FPGA收到的信号是平滑的正弦波信号,接收数据正确。

图10 采用本算法时FPGA接收数据

3.2 高低温测试

测试条件:(1)常温上电,找到数据窗口中心,然后温度逐渐降到-50℃,保持一段时间,温度在逐渐上升到+50℃,并保持一段时间,测试过程中数据一直保持正确;(2)-50℃温度下分别上电,在-50℃找到数据窗口中心,温度在逐渐上升到+50℃,并保持一段时间,测试过程中数据一直保持正确;(3)+50℃温度下分别上电,在﹢50℃找到数据窗口中心,温度在逐渐下降到-50℃,并保持一段时间,测试过程中数据一直保持正确。

4 结论

本文根据Xilinx FPGA的IDELAYE2延时机制,设计了一种AD动态相位自校准算法,使FPGA数据接收端采样时钟边沿与数据窗口中心对齐,保证了FPGA接收数据的正确性。通过±50℃的高低温试验,验证了该算法稳定可行。

猜你喜欢
原语延时时钟
课后延时中如何优化不同年级学生活动效果
古代的时钟
这个时钟一根针
基于数据选择的引信测试回波信号高精度延时
有趣的时钟
浅谈旅游翻译中文化差异的处理
一种“死时间”少和自动校准容易的Wave Union TDC
时钟会开“花”
基于ZigBee协议栈的PHY服务研究
宋湘延时答妙对