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:

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

本文章由威三学社出品

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

相关推荐
史蒂芬_丁16 小时前
PG分频_CLB
fpga开发
博览鸿蒙18 小时前
嵌入式是否如传说中那么简单?
fpga开发
Aaron158819 小时前
全频段SDR干扰源模块设计
人工智能·嵌入式硬件·算法·fpga开发·硬件架构·信息与通信·基带工程
洋洋Young1 天前
【Xilinx FPGA】DDR3 SDRAM 控制器
fpga开发·xilinx
碎碎思1 天前
在 FPGA 里跑 SDR 和 FT8:一个 32 MHz 全频谱无线电的硬核实现
fpga开发
EVERSPIN1 天前
USB3.0接口转换高性能图像传感和数据采集方案
fpga开发·usb3.0·接口转换·usb3.0接口转换
Macbethad2 天前
串口服务器技术报告:从RS232/485到MODBUS TCP的工业通信演进
fpga开发
GateWorld2 天前
FPGA DSP模块使用中不易察觉的坑
fpga开发·ip·实战经验·fpga dsp使用
minglie12 天前
用vio_uart测试verilog
fpga开发