大家好、
将 ADC 设置为 JMODE1模式、LANE_RATE=6.4G、K=4、jesd204B_CORE LK=160MHz、Sysref 为20MHz、在3.2GHz 下采样、设置斜坡测试模式。 通过 ILA 检查数据时、从第九个数据开始会出现错误、如下图所示:
下图显示了数据分辨率:
您能帮助检查这个问题吗? 谢谢。
此致、
切里
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
大家好、
将 ADC 设置为 JMODE1模式、LANE_RATE=6.4G、K=4、jesd204B_CORE LK=160MHz、Sysref 为20MHz、在3.2GHz 下采样、设置斜坡测试模式。 通过 ILA 检查数据时、从第九个数据开始会出现错误、如下图所示:
下图显示了数据分辨率:
您能帮助检查这个问题吗? 谢谢。
此致、
切里
您好、Cherry:
我无法理解误差。 请确认您是否使用2个 Xilinx JESD IP、每个 IP 有8个通道。 在这种情况下、每个 IP 都将生成256位的输出。 斜坡测试图形模式生成一个八位位组斜坡(8位值)、而不是一个采样值斜坡(12位值的斜坡)。
我建议将 ADC 设置为传输层测试图形模式。 由于一帧中的每个样本都有一个恒定的12位值、因此这有助于您轻松了解通道数据如何映射到样本。 此值可在数据表的" N = 12模式的队列传输测试模式"表41中找到。
此致、
艾米特
尊敬的 Amet:
感谢您的支持。
客户当前正在使用传输层来测试图形模式。 采样点的顺序是否为 JMODE1的 S0、S1、S2-->S78、S79?
此外、在使用时、下面的第一张图是100MHz 正弦波的采样、但具有锯齿状杂散。 第二个图是放大后的细节。 可能的原因是什么?
谢谢。此致、
切里
您好、Cherry:
‘层测试模式是 ADC 的一种特殊测试模式。 请请求客户在此模式下配置 ADC 并生成 S0-S70的结果。 这样可以更好地了解可能导致问题的原因。
我还将请求传输层(其中通道数据映射到样本)的 RTL 代码。
此致、
艾米特
尊敬的 Amet:
上面的图像是客户使用传输层测试模式生成的图像、没有问题、但在采样正弦波时会产生波动。
目前使用的是 JMODE1、FPGA 中有2个 IP 内核、FPGA IP 内核输出的256位数据到样片的映射分为:
jesd204_0_example_design_1 -> out_data[256:0]->S0 、S2、S4…… S76、S78
jesd204_0_example_design_2 -> out_data_2[256:0] ->S1、S3、S5... S77和 S79
谢谢。此致、
切里
您好、Cherry:
遗憾的是、这些波形不提供调试问题所需的信息。 请发送以下内容(ADC 处于传输层测试模式)给我:
1) 256位总线上的精确值(连续两个时钟周期)
2) 2)用于将256位通道数据映射到样本值的客户代码。
此致、
艾米特
尊敬的 Amet:
感谢您和客户查看设备手册、发现以前的某个设置有问题。 现在提供了更普通的样品、但仍有问题:
上图显示了一些采样点、看起来它们之间存在交替和波动、并且样本校准似乎没有正确完成。 电流校准配置如下:
0:dout<=24'h0000B0; ///***///Delay of 100 ms after soft reset //时钟50MHz 20ns * 5000 = 100 ms 5001: dout<=24'h020000; ///***///Clear JESD_EN (always before CAL_EN) 5002: dout<=24'h006100; ///***///Clear CAL_EN (always after JESD_EN) 5003:dout<=24'h020101;//jmode 5004:dout<=24'h020203;//km 5005:dout<=24'h020301; //Non-zero means soft synchronization 5006:dout<=24'h020400; //00 01 5007:dout<=24'h020500; //Set JTest 5008:dout<=24'h0030FF; //Set the range 5009:dout<=24'h0031FF; 5010:dout<=24'h0032FF; 5011:dout<=24'h0033FF; 5012:dout<=24'h002920; 5013:dout<=24'h002960; 5014:dout<=24'h002970; //////Set SYSREF_SEL to 0 and use SYSREF calibration 5015:dout<=24'h02B104; //Sets the SRC calibration parameters 5016:dout<=24'h02B001; //enable SRC_EN //5016:dout<=24'h004803; //Set the serializer pre-emphasis to 3 5021:dout<=24'h006201; //Use the foreground calibration 5137:dout<=24'h02C11F; //Alarm Status Register 5138:dout<=24'h02C200; //Alarm Mask Register 5139: dout<=24'h006101; ///***///Set CAL_EN (always before JESD_EN) 5140: dout<=24'h020001; ///***///Set JESD_EN (always after CAL_EN) 5141: dout<=24'h006B00; //Setup uses the Calibration Software Trigger 5142: dout<=24'h006C00; ///***///Set CAL_soft_trig low to reset the calibration state machine 5143: dout<=24'h006C01; ///***///Set CAL_soft_trig high to enable calibration,
目前0X02C/02D/02E 寄存器分别读取 C1/00/86。 器件手册中的表7。 在 SYSREF_POS 读数和 SYSREF_SEL 选择的示例中、没有相应的 SYSREF_POS[23:0]映射和最佳 SYSREF_SEL 设置。
当前0X2B2/2B3/24寄存器分别读取15/4D/02、表示 SRC_DONE 未完成。 0X06A 寄存器现在读数为08、这表示 FG_DONE 从未完成。
为什么会这样? 是否有相应自动前台校准的配置代码?
ADC12DJ3200的两个子 ADC 当前输出的数据如下:
这应该是校准 问题。
谢谢。此致、
切里
您好!
我可以知道是否有任何更新吗?
谢谢。此致、
切里
您好!
客户仍面临此问题、您能帮助检查一下吗?
谢谢。此致、
切里
您好、Cherry:
以下是更新后的寄存器写入。
SCR_DONE 未完成意味着 sysref 未被正确校准。 能否确保 sysref 正在进入 ADC?
此致、
内拉伊