LVDS系列46:Xilinx Ultrascale系 ADC LVDS接口参考方法(八)

 IDELAY校准模块:

idelay_ctrl是整个AFE数据接收系统的核心控制模块,工作在100MHz系统时钟域。

通过主状态机统一调度4个AFE(每个AFE有16个通道,工程有4个afe芯片,每个芯片物理通道16,两个通道共用一个物理通道,共计128通道)的IDELAY校准流程,

进入测试模式全范围延迟扫描逐步锁定最佳延迟退出测试模式正常工作;

同时负责与125MHz时钟域的idelay_lane进行跨时钟域交互。

模块端口:

端口分为两个时钟域,上图为100M时钟域的信号,连接的模块是afe同步模块,afe测试模式进入退出模块,

上图为125M时钟域的信号,连接的模块lvds_s2p模块中的hssio ip的IDELAY延时控制端口,使用的是ip输出的125M pll clkout0,在模块内部要跨时钟域使用;

输入接口:

clk:100MHz系统时钟,

rst:全局复位,

pwon_init_ok:AFE上电完成标志,

sync_status_0~315:0:每个AFE各通道的同步状态(来自afe_sync),

sync_done_0~3:每个AFE的同步完成标志(进入WORK后为1),

sync_ok_0~3:每个AFE的同步成功标志(所有通道连续匹配测试码成功),

enter_pat_ok_0~3:控制afe进入测试模式完成,

exit_pat_ok_0~3:控制afe退出测试模式完成,

clk_dly_03、rst_dly_03:各AFE的125MHz时钟和复位(来自afe_process的hssio ip),

rx_cntvalueout_0~3:各AFE的IDELAY当前值(只读,用于校准),

输出接口:

sync_start:同步启动脉冲(restart,用于触发afe_sync进入SYNC),

sync_ok:全局同步成功标志(所有AFE同步成功且锁定),

afe_soft_rst:软复位输出,用于复位AFE芯片,

enter_pat/exit_pat:控制AFE进入/退出测试模式的脉冲,

rx_cntvaluein_03、rx_en_vtc_03、rx_load_0~3:IDELAY控制信号,送到每个AFE的每个通道,控制时序与前述的IDELAYE3的time模式下的控制时序一致;

主状态机:

初始IDLE空闲状态:当设备上电pwon_init_ok1且同时没有软复位afe_soft_rst0跳转进入ENTER_PAT状态;

ENTER_PAT状态:控制AFE进入测试模式 ,当接收到外部传来的enter_pat_ok为1表示进入测试模式操作完成,可以跳转DETECT状态;

DETECT状态:对通道数据进行延时修改,扫描检测,完成512次扫描后进入LOCKING状态;

LOCKING状态:当locking_ok1,表示扫描同步成功,跳转到EXIT_PAT状态;当locking_err1表示锁定失败,触发软复位,重新开始全流程;

EXIT_PAT状态:控制AFE退出测试模式,接收到exit_pat_ok1跳转到LOCKED状态;
LOCKED状态:全部通道同步成功且延时锁定到最佳数据采样点,正常输出数据的工作状态,只有当pwon_init_ok0检测到掉电或是全局复位才会退出该状态跳转到IDLE状态重新开始;

ENTER_PAT子流程:

enter_pat脉冲:在状态进入ENTER_PAT时产生1拍脉冲,驱动外部模块afe_en_pattern驱动spi写寄存器进入测试模式,同时配置10bit测试码;当接收到外部传来的enter_pat_ok为1表示进入测试模式操作完成;

等待所有AFE完成,enter_pat_status3:0分别记录各AFE的进入测试模式的状态。当enter_pat_status==4'hf时表示全部进入测试模式,启动enter_pat_delay延迟计数;

延迟等待10us,让AFE在进入测试模式后,等待数据稳定,最后拉高一拍enter_pat_ok;

本文章由威三学社出品

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

相关推荐
ERROR:9914 小时前
AMD Ross没有介入Vivado的私生活
fpga开发
Riwuarua14 小时前
从近似 0 基础开始 FPGA 开发——Part.18:FPGA 复位系统与可靠启动设计
fpga开发
智感子2 天前
测控链路:从传感器到上位机
人工智能·嵌入式硬件·fpga开发
szxinmai主板定制专家2 天前
基于Zynq的高精度多通道数据采集卡完整解决方案(工业振动/高速采集/边缘传输)
fpga开发·zynq·数据采集卡
szxinmai主板定制专家3 天前
基于TI AM62x+FPGA的24bit高精度数据采集卡设计(振动/风电/发动机监测)
人工智能·fpga开发·arm+fpga·rk3588+fpga
szxinmai主板定制专家3 天前
基于 ARM+FPGA 雕刻机控制系统的设计
arm开发·人工智能·fpga开发·rk3576·半导体设备
吉他英雄一里4 天前
zynq入门教程
fpga开发·zynq
XMAIPC_Robot4 天前
RK3576/RK3588+FPGA+AI数据采集系统:实时性与边缘AI算力兼顾
人工智能·fpga开发·机器人·数据采集·rk3588+fpga·rk3576+fpga
156082072194 天前
JFMRFVU3P5G的bit正常,但烧录mcs程序后加载异常
fpga开发
狂奔蜗牛(bradley)4 天前
把 EtherCAT 初始化从 FPGA 搬到 ARM:命令通道的接口设计与11个坑
arm开发·人工智能·fpga开发·架构