TI论坛
直播中

陈伟

7年用户 1523经验值
私信 关注
[问答]

JMODE1 ILA观测到sync信号拉低,但是xillnx IP核tdata没有数据输入是怎么回事?


  • 观测到sync信号拉低,但是xillnx IP核tdata没有数据输入(K28.5),当我ADC  203 寄存器置为0时,IP核仍然无K28.5 输入,即JSYNC_N =0,FPGA为420T,由LMK04828输出refclk和FPGA的参考时钟,LMK 连接LMX2594,输出ADC设备时钟和参考时钟,示波器观测都有产生时钟信号,这是ILA捕捉的信号
    下面是寄存器配置
    assign cfg_mem[ 0] = { 15'h0000,8'hB0 };//reset
    assign cfg_mem[ 1] = { 15'h0200,8'h00 };//Program JESD_EN=0 to stop the JESD204B state machine and allow setting changes.
    assign cfg_mem[ 2] = { 15'h0061,8'h00 };//Program CAL_EN=0 to stop the calibration state machine and allow setting changes
    assign cfg_mem[ 3] = { 15'h0201,8'h01 };//Program desired JMODE. JMODE=1
    assign cfg_mem[ 4] = { 15'h0202,8'h1F };//Program desired KM1 value. KM1 = K-1
    assign cfg_mem[ 5] = { 15'h0030,8'hFF };//1000mVpp
    assign cfg_mem[ 6] = { 15'h0031,8'hFF };
    assign cfg_mem[ 7] = { 15'h0032,8'hFF };//1000mVpp
    assign cfg_mem[ 8] = { 15'h0033,8'hFF };
    assign cfg_mem[ 9] = { 15'h0204,8'h02 };//Program SYNC_SEL as needed. Choose SYNCSE or Timestamp differential inputs and SCR.//SYNC_SEL =1 TMSTP
    assign cfg_mem[ 10] = { 15'h0203,8'h00 };//
    assign cfg_mem[ 11] = { 15'h0205,8'h00 };//// NORMAL 0: Test mode d
    assign cfg_mem[ 12] = { 15'h0213,8'h07 };// Enable overrange, set overrange holdoff to max period 8*2^7 = 1024 samples 8*2^7 = 1024
    assign cfg_mem[ 13] = { 15'h0048,8'h03 };// Set serializer pre-emphasis to 3
    //assign cfg_mem[ 14] = { 15'h0060,8'h01 };// Input Mux Control Register 01:single input A ;02 single input B
    assign cfg_mem[ 14] = { 15'h0029,8'h30 };
    assign cfg_mem[ 15] = { 15'h0029,8'h70 };
    assign cfg_mem[ 16] = { 15'h0029,8'h73 };
    assign cfg_mem[ 17] = { 15'h0061,8'h01 };//Program CAL_EN=1 to enable the calibration state machine.
    assign cfg_mem[ 18] = { 15'h0200,8'h01 };// Program JESD_EN=1 to re-start the JESD204B state machine and allow the link to re-start
    assign cfg_mem[ 19] = { 15'h006C,8'h00 };//Set CAL_SOFT_TRIG low to reset calibration state machine
    assign cfg_mem[ 20] = { 15'h006C,8'h01 };//Set CAL_SOFT_TRIG high to enable calibration
    assign cfg_mem[ 21] = { 15'h02C0,8'h00 };
    assign cfg_mem[ 22] = { 15'h02C2,8'h00 };
    assign cfg_mem[ 23] = { 15'h02C1,8'h1F }
    咨询一下后面从哪方面来排除问题

回帖(3)

陈玉兰

2024-11-22 14:18:09
您是卡在了CGS阶段是吗?
您是使用的EVM板还是自己设计的板子?检查下产生的SYNC~是否符合ADC的逻辑电平?
确认下JESD204B串行发送器和板电路配置正确,产生符合 JESD204B串行数据接收器要求的正确逻辑电平;
举报

谢辅仁

2024-11-22 14:18:33
    时钟信号似乎没有到达ADC。您能否在ADC 时钟输入管脚上检测到AC耦合输入的时钟信号?请确保时钟到达ADC时钟输入管脚
举报

刘超

2024-11-23 16:28:24
从您提供的信息来看,您在使用Xilinx FPGA和JESD204B接口时遇到了一些问题。以下是一些可能的原因和解决方案:

1. 检查JESD204B接口配置:确保您的JESD204B接口配置正确。这包括Lane Rate、Link Rate、FIFO Depth等参数。您可以在Xilinx IP核配置工具中检查这些参数。

2. 检查时钟信号:您提到示波器观测到时钟信号,但请确保时钟信号的频率和相位与JESD204B接口的要求相匹配。如果时钟信号有问题,可能会导致数据传输失败。

3. 检查ADC设备:确保您的ADC设备(LMX2594)正常工作,并且与FPGA的接口配置正确。您可以使用示波器检查ADC设备的输出信号,确保数据传输正常。

4. 检查FPGA内部信号:使用ILA或VIO等调试工具检查FPGA内部信号,确保数据在FPGA内部正确传输。这可以帮助您找到问题所在。

5. 检查寄存器配置:您提供的寄存器配置代码中,有一些参数可能需要调整。例如,cfg_mem[1]中的JESD_EN参数设置为0,这意味着JESD204B状态机被停止。您可以尝试将JESD_EN设置为1,以启用JESD204B状态机。

6. 检查IP核版本:确保您使用的Xilinx IP核版本与您的FPGA和ADC设备兼容。如果不兼容,可能会导致数据传输失败。

7. 检查FPGA和ADC设备的电源:确保FPGA和ADC设备的电源正常,电压和电流符合要求。电源问题可能会导致数据传输失败。

综上所述,您需要逐步检查和调试各个环节,以找到问题所在并解决。希望这些建议对您有所帮助。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分