LVDS系列38:Xilinx 7系 AD9253 LVDS接口设计仿真(五)

 LVDS数据仿真:

本设计,是基于外部LVDS电路是处于理想情况下进行的,也就是在ADC芯片输出端口和PCB板上,硬件设计者通过等长布线确保了 DCLK的边沿正好对准数据眼的中心(90°相位差)。此时,如果用这个比特时钟直接采样数据,时序最佳,但是这只是FPGA端口处的情况,离FPGA内部逻辑实现还有一段距离;

在进入FPGA后,情况就比较复杂了:

对于数据路径和FCLK帧时钟路径,LVDS数据进入FPGA引脚后,经过IBUFDS,直接连接到ISERDESE2原语的D输入端口,这条路径是专用的比较直接的硬件连线,也就是说,帧时钟和数据通道,到需要FPGA内部采样时,还能保持,相对于FPGA端口处理想时序来说比较好的时序关系;

但是对于时钟路径,比特时钟进入FPGA引脚后,FPGA为了使用该时钟去采样去驱动ISERDESE2,不能直接连接到ISERDESE2的CLK端口,比特时钟需要经过以下路径:先进入时钟专用引脚,经过IBUFGDS或IBUFIO,经过BUFIO或BUFR,最后通过FPGA的全局或区域时钟树,布线到各个CLK或CLKDIV端口,可以看到,时钟路径会和数据路径完全不一致,且时钟路径延时会长的多,且无法去确定其延时,如果直接使用其去采集,采样结果将完全无法预测;

所以本次设计,主要目的,就是使用FPGA端口处,时序良好的比特时钟,去派生出一个FPGA内部使用的采样时钟和分频时钟,然后用IDEAYE2去把内部的采样时钟,和FPGA端口处的采样时钟去对齐,因为端口处采样时钟和数据路径关系比较理想,所以把内部采样时钟和端口处采样时钟,两者对齐后,内部采样时钟也能尽量对齐数据路径的数据眼中心;

本次仿真,是tb中产生标准的ad9253的时序输入,用模块进行处理,tb模拟产生的,模拟FPGA输入端点处理想的输入时序,

Testbench:



仿真结果:

dds产生1M的正弦波,4个通道修改不同的幅度,模拟LVDS时序输入模块进行处理;

输入的lvds时序:

比特时钟对齐数据眼中心,数据边沿和帧时钟边沿对齐,和ad9253的时序一致;

可以看到下图中,是采样出来输出的数据波形,其中分成3个时间段,下面图中红字标准,时间段1,是还没有做对齐操作,时间段2,是对齐过程中,时间段3,是对齐稳定后,

下面看看处理流程中信号时序的变化,这里只看通道0数据,模块中使用BitClk_Dclk采样,单端化后的ad_data_D0_A、ad_data_D1_A,

时间段1:

可以看到,虽然也能采样出正常的正弦波,但是此时的采样点比较危险,十分靠近数据眼边沿,在实际上板过程中,这种采样时刻,采样输出肯定会出错;

时间段2:

这个时间段,时序在变化,采样点在数据眼上移动变化,

时间段3:

可以看到,对齐稳定后,采样时钟边沿对齐到数据眼中心,采样时钟恢复到输入端点处的最佳采样点附近了;

本文章由威三学社出品

对课程感兴趣可以私信联系

相关推荐
FPGA小迷弟2 小时前
FPGA 时序约束基础:从时钟定义到输入输出延迟的完整设置
前端·学习·fpga开发·verilog·fpga
daxi1507 小时前
Verilog入门实战——第3讲:流程控制语句(if-else / case / 循环结构)
fpga开发·fpga
biubiuibiu9 小时前
工业机器人编程语言详解:多样化选择与应用
fpga开发·机器人
lf28248143110 小时前
04 DDS信号发生器
fpga开发
szxinmai主板定制专家11 小时前
基于 STM32 + FPGA 船舶电站控制器设计与实现
arm开发·人工智能·stm32·嵌入式硬件·fpga开发·架构
ARM+FPGA+AI工业主板定制专家21 小时前
基于ARM+FPGA+AI的船舶状态智能监测系统(二)软硬件设计,模拟量,温度等采集与分析
arm开发·人工智能·目标检测·fpga开发
szxinmai主板定制专家1 天前
基于ZYNQ MPSOC船舶数据采集仪器设计(一)总体设计方案,包括振动、压力、温度、流量等参数
arm开发·人工智能·嵌入式硬件·fpga开发
FPGA小迷弟1 天前
高频时钟设计:FPGA 多时钟域同步与时序收敛实战方案
前端·学习·fpga开发·verilog·fpga
szxinmai主板定制专家1 天前
基于ZYNQ MPSOC船舶数据采集仪器设计(三)振动,流量,功耗,EMC,可靠性测试
arm开发·人工智能·嵌入式硬件·fpga开发
hoiii1871 天前
Vivado下Verilog交通灯控制器设计
fpga开发