ad9250与FPGA jesd204b接口调试记录

最近项目中采用FPGA+AD9250实现数据采集功能,记录一下调试的过程。

1.硬件架构

AD9250与FPGA数据通路采用jesd204B协议,基于SerDes接口,硬件方案如下图所示。FPGA采用xilinx ku3p.
在这里插入图片描述

1个AD9250有2个lane,我们的系统用了2个AD9250接在FPGA的1个收发器Quad(4个lane)上。

注:两个jesd204bip核共用一个收发器的quad必须使用CPLL,如果使用QPLL会报错,因为QPLL是4个channel公用的,而4个channel各自有一个CPLL。当一个quad不同channel独立工作的时候就必须使用CPLL。

2.时钟方案

根据xilinx jesd204b ip核手册的时钟章节可以看到有一种简化的时钟方案(下图),用收发器的参考时钟作为jesd204b ip核的核心时钟。前提是两者的频率相等,核心时钟由线速率得到(ad9250线速率5G/40=125M),我们将收发器的参考时钟配置为125M即可共用。
在这里插入图片描述

通过这两个原语何以实现上图中clocking mudule的时钟方案

//IBUFDS_GTE4
    IBUFDS_GTE4 ibufds_refclk0
    (
        .O               (refclk_i),
        .ODIV2           (refclk_copy),
        .CEB             (tied_to_ground_i),
        .I               (refclk_pad_p),
        .IB              (refclk_pad_n)
    );
  

    BUFG_GT refclk_bufg_gt_i
    (
        .I              (refclk_copy),
        .CE             (gt_powergood),
        .CEMASK         (1'b1),
        .CLR            (1'b0),
        .CLRMASK        (1'b1),
        .DIV            (3'b000),
        .O              (coreclk_i)
    );

时钟芯片生成sysref信号、收发器的参考时钟、ADC采样时钟,其中ADC采样时钟设置为250M

注:sysref信号是jesd204b的class 1 用来实现确定性延时的信号,sysref必须是多帧时钟的周期的整数倍,由于jesd204b的F(每个多帧的帧数)默认设置了32,所以这里sysref的频率设置为采样频率的32分之1。

注:如果收发器的参考时钟是固定的没法修改,比如156.25M,与核心时钟不一致,那么就不能用上述的时钟方案,只能用通用方案,即单独一路时钟作为核心时钟,如果下图所示:

在这里插入图片描述

3.FPGA配置

FPGA侧需要两个ip核,jesd204和jesd204phy。ip核配置的参数由所选adc确定。包括SerDes的lane数量,sysref模式(连续还是单次),K(每帧的字节数),F(每个多帧的帧数),线速率,phy的参考时钟频率。这些要与adc设置一致。

ad9250的sysref默认是连续模式,采样的位宽是14bit,一帧数据会填充2bit达到16bit,也就是两个字节,所以K配置为2,F默认是32,所以ip核配置为32。线速率手册上是5Gbps,我们也可以自己算出来:

采样频率250Mx位宽14bit=3.5Gbps,算上每个采样数据补充的2bit以及链路层8b10b编码,最终的线速率为:

3.5Gx16/14x10/8=5Gbps

ip核配置

在这里插入图片描述

在这里插入图片描述

勾选示例工程包含共享逻辑,可以参考示例工程的时钟方案,特别是多个adc同步场景。

在这里插入图片描述

根据adc的设置,sysref打开

在这里插入图片描述

204bphy配置

在这里插入图片描述

在这里插入图片描述

4.启动流程

  1. 复位FPGA的204Bip核
  2. 配置时钟芯片,产生各个时钟源
  3. 使能时钟buffer,将时钟源分配给各个ADC和FPGA
  4. 根据ADC手册上的配置流程,配置204b相关参数,最后使能adc以及204b接口
  5. 将FPGA的204Bip核解除复位状态,开始和ADC完成204b的同步工作
  6. 获取采集数据

5.注意事项

jesd204b ip核的axi-lite接口用来动态配置ip核,不管是否使用都需要给时钟驱动(下面图片的信号),否则ip核一直处于复位状态无法工作。

在这里插入图片描述

项目背景1.1 AD转换 AD转换就是模数转换。顾名思义,就是把模拟信号转换成数字信号。主要包括积分型、逐次逼近型、并行比较型/串并行型、Σ-Δ调制型、电容阵列逐次比较型及压频变换型。 A/D转换器是用来通过一定的电路将模拟量转变为数字量。模拟量可以是电压、电流等电信号,也可以是压力、温度、湿度、位移、声音等非电信号。但在A/D转换前,输入到A/D转换器的输入信号必须经各种传感器把各种物理量转换成电压信号。 AD转换的技术指标,一般有如下几个: 1. 分辨率(Resolution) 指数字量变化一个最小量时模拟信号的变化量,定义为满刻度与2^n的比值。分辨率又称精度,通常以数字信号的位数来表示。 2. 转换速率(Conversion Rate)是指完成一次从模拟转换到数字的AD转换所需的时间的倒数。积分型AD的转换时间是毫秒级属低速AD,逐次比较型AD是微秒级属中速AD,全并行/串并行型AD可达到纳秒级。采样时间则是另外一个概念,是指两次转换的间隔。为了保证转换的正确完成,采样速率 (Sample Rate)必须小于或等于转换速率。因此有人习惯上将转换速率在数值上等同于采样速率也是可以接受的。常用单位是ksps和Msps,表 示每秒采样千/百万次(kilo / Million Samples per Second)。 3. 量化误差 (Quantizing Error) 由于AD的有限分辨率而引起的误差,即有限分辨率AD的阶梯状转移特性曲线与无限分辨率AD(理想AD)的转移特 性曲线(直线)之间的最大偏差。通常是1个或半个最小数字量的模拟变化量,表示为1LSB、1/2LSB。 4. 偏移误差(Offset Error) 输入信号为零时输出信号不为零的值,可外接电位器调至最小。 5. 满刻度误差(Full Scale Error) 满度输出时对应的输入信号与理想输入信号值之差。 6. 线性度(Linearity) 实际转换器的转移函数与理想直线的最大偏移,不包括以上三种误差。 其他指标还有:绝对精度(Absolute Accuracy) ,相对精度(Relative Accuracy),微分非线性,单调性和无错码,总谐波失真(Total Harmonic Distotortion缩写THD)和积分非线性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值