FPGA下AD采集时钟相位的调整

基本信息

测试平台:PCIE406硬件平台

FPGA芯片:xcku060-ffva1516-2-i

Vivado版本:vivado2018.3

硬件平台PCIE406,如上所示。解决ADC测试中对采样信号不准的问题时,对时钟采样的延时和信号的延迟都进行了一定程度的微调,下面进行一些总结。是关于对MMCM的相位微调。

MMCM相位延迟控制

IPCORE配置

  1. 需要开启动态相位调整Dynamic Phase Shift
  1. 基础思路先手动调整相位偏移,而后,到达合适位置时,记录下当前的相位值,作为相位的初始值,重新生成IPCORE,这样就不需要每次都手动进行相位偏移了。
  2. 开启Use Fine Ps可以进行更细微的精度调节。

控制信号说明

端口名 功能描述
psclk 动态相位偏移时钟:为相位偏移操作提供时钟信号。
psen 动态相位偏移使能:启动一次相位偏移操作。
psincdec 相位偏移增减控制:- 置 1 时,增加输出时钟的相位偏移;即向正向偏移- 置0时,减少输出时钟的相位偏移。即向反向偏移
psd done 动态相位偏移完成:表示一次相位偏移操作已结束。

单位精度说明

在ug472之中,可以看到,精细控制微调模式下,相位的分辨率如下:

当前系统的FCO为1000MHZ,则每次时钟的偏移约为(1/(56*1000ps))=18ps下面我们通过仿真来验证下。

如下,延时调整之前,输入时钟上升沿和输出时钟上升沿差为0ps

进行了一次调整,可以证明相位差值为5220018-5220000 = 18ps

控制逻辑

测试阶段控制逻辑通过VIO进行微调。psen每变化1次,时钟偏移为18ps,相位偏移为18ps/1000ps *360 = 6.48度。所以根据psen的变化次数,确定相位偏移的角度。最后在将此角度初始化到MMCM之中,即可完成对初始化相位的调整。

在调整时,可以记录信号开始变好是的psen计数,如计数为10,而后一直增大psen,假设psen = 50时,信号变差。则我们取得psen的值为(10+50)/2 = 30。应当设置的初始化相位为30*6.48 = 194.4。

如下图,最终修改初始化相位。

相关推荐
FPGA小迷弟6 小时前
FPGA 与千兆以太网校验和:从原理到 Verilog 实现
嵌入式硬件·fpga开发·无人机·ai编程·fpga
码农小韩1 天前
FPGA学习(二)——LED闪烁
fpga开发·verilog·fpga·led·组合逻辑·分频设计
9527华安2 天前
FPGA纯verilog实现DP视频接口,支持2K60帧分辨率,提供3套工程源码和技术支持
fpga开发·音视频·dp
ChaseVLSI2 天前
FPGA与ASIC的区别详解:内部结构、开发成本与适用场景,项目选型到底该选哪个
嵌入式硬件·fpga开发·硬件架构·硬件工程
9527华安3 天前
FPGA实现ARINC818总线协议,基于GT Transceivers Wizard高速收发器,提供7套工程源码和技术支持
fpga开发·transceivers·arinc818
小蘇的FPGA3 天前
fpga-wide-data-crc32
fpga开发
落雨无风4 天前
fpga板级调试常见问题
fpga开发
码农小韩4 天前
FPGA学习(一)——LED点灯与开发流程
学习·fpga开发·入门·环境配置·仿真·点灯
FPGA小迷弟4 天前
FPGA 与千兆以太网:各类物理接口的形式、区别、使用方法与应用场景详解
tcp/ip·macos·fpga开发·udp·fpga
NamoAmitabha1284 天前
Zynq 的 AXI GPIO,是“ARM 通过一条国际标准高速公路(AXI 总线),去遥控 FPGA 里的一个寄存器”。---deepseek
fpga开发·zynq--ps