本帖最后由 CrazyClock 于 2025-3-28 09:24 编辑
1. 问题现象 VU33P 的FPGA载板+AD9172子卡(编号001)加载逻辑后,大概十多秒后就会出现AD9172 JESD 断链的现象,下图中tx_sync拉低就是断链时刻。
2. 工程配置说明
ADC12QJ800工作模式Jmode0(L=8,M=8,F=8,S=5,HD=0,N'=12,LaneRate=6.4Gbps),800Msps(5相数据,160MHz处理时钟),lane速率6.4Gsps。AD工作正常。 DA芯片AD9172工作模式Jmode8(采样率10240MHz(8xInterpolation),数据率1280MHz,L=8,M=2,F=1,S=2,NP=16,Lane Rate12.8Gbps)。参数计算如下: - Fref_clk = 160MHz
- Lane Rate = (M/L)*NP*(10/8)*Data Rate
- Data Rate = DAC Rate/Total Interpolation (Total Interpolation = Channel Interpolation * Main Interpolation)
- fDAC = (8*N*Fref)/M/(Register0x094[1:0] + 1) = (8*8*160)/1/(0 + 1)=10240MHz
- where:
- fDAC is the desired DAC clock rate.
- N is the VCO feedback divider ratio, ranging from 2 to 50.
- Fref is the reference clock.
- M is the reference clock divider ratio; the valid values for reference clock divider (predivider) are 1, 2, 3, or 4 by setting Register 0x793, Bits[1:0].
-
- 时钟芯片为LMK04828,输出频率如下:
- CLKout0 : dac_clk :160MHz 作为DA输入参考,使用DA内部PLL倍频到10240MHz
- CLKout1 : dac_sysref :2.5MHz
- CLKout2 : adc_clk :800MHz
- CLKout3 : adc_sysref :2.5MHz
- CLKout4 : adc_glb_clk :160MHz
- CLKout5 : fpga_sysref2 :2.5MHz
- CLKout6 : adc_ref1_clk :160MHz
- CLKout7 : adc_ref2_clk : (PD)
- CLKout8 : dac_ref1_clk :160MHz
- CLKout9 : (PD)
- CLKout10 : dac_ref2_clk :160MHz
- CLKout11 : (PD)
- CLKout12 : dac_glb_clk :160MHz(实际不用这个时钟,与AD共用)
- CLKout13 : fpga_sysref1 :2.5MHz
复制代码
3. 测试情况
3.1. 更换测试载板 将出现问题的子卡(001)更换到另一块载板上,AD9172 JESD 工作正常。 将没问题的子卡(002)更换到出现问题的载板上,AD9172 JESD 还是会断链。
可以说明问题现象是跟载板。
3.2. 硬件调整 调整问题载板的电压值、调高子卡的电压、测量电源纹波等均无改善。 3.3. 修改AD9172工作模式 将AD9172的工作模式改为Jmode 0, single-link模式 ,Lane速率12.8Gsps。8条Lane均进行了单独测试,在001载板每一条lane工作时依然异常。但是同样的逻辑在002载板上工作则正常。 以下为 Jmode 0 模式下测试截图
3.4. 降低Lane速率
在Jmode8 模式下,将数据率降为400M,采样时钟 800Msps ,Lane速率 4Gsps,AD9172直接使用外部800M采样钟。依然会出现断链的现象。同样的逻辑在002载板上工作则正常。
3.5. ADCQJ800和AD9172测试模式下的误码率测试,测试正常
使用IBERT测试AD9172+ADC12QJ800 Jesd204b Lane误码率。
设置ADC JTEST 为 PRBS23 模式,IBERT接收端同时设置为PRBS23 。
ADC12QJ800 JESD Ibert测试接收误码率为0,眼图测试正常。
AD9172 JESD204B TEST MODES 设置为 PRBS31,同时设置IBERT发送PRBS31 。回读误码统计寄存器,多次回读统计值为0,说明AD9172的物理链路均正常。
IBERT中修改其中一条TX Lane的PRBS码,可以看到回读统计值变化,证明测试有效性。
3.6. 使用In system ibert调整发送参数,断链现象无改善
使用In system ibert动态调整发送信号的预加重值和发送幅度,均无改善,在某些临界值可能断链更频繁。
3.7 使用ADI的JESD核测试,出现断链
将Xilinx 的JESD IP核替换为 ADI 的JESDIP(UTIL_ADXCVR ),问题板卡的断链现象依旧存在。但是在002载板上工作正常。
3.8. 外购FMCP高速自环测试卡,测试正常
FMCP测试卡的24X MGT 收发(每个Quads内收发自环)、84对LVDS差分自环测。使用IBERT测试ADC/DAC BANK的误码率,Lane速率15Gsps。 下图中可以看到,ADC/DAC所使用的BANK(BANK124/125/126/127)在15Gsps速率下误码率为0。可以说明FPGA的高速串行收发器工作正常。
3.9. JESD收发回环测试正常
使用FMCP高速自环测试卡,Xilinx的JESD IP进行回环测试,速率12.5Gsps。测试结果:JESD链路工作正常,未出现断链现象。
经过上述测试,暂未定位到问题所在,有点玄学,摸不着头脑,有没有大佬可以给点思路
|