TI论坛
直播中

李英

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

DAC37J84 JESD204B协议无法在500MSPS以下的采样率中稳定建立,怎么解决?


  • 您好,我在使用DAC37J84时,遇到了一些问题,需要您的支持,具体情况如下:
    我使用DAC37J84进行变采样率的操作,其在 1200MSPS 1000MSPS 600MSPS 500MSPS采样率下JESD204B协议能够稳定的建立,在 400MSPS 300MSPS 250MSPS 240MSPS 200MSPS下JESD204B协议建立失败,
    具体表现为:最初先完成CGS、ILAS、数据传输阶段的协议建立,之后等待几秒后会在数据传输阶段建立失败,之后sync信号有时会拉低一个脉冲,有时会拉低几百ns,导致协议一直无法稳定的建立,如下图所示,



    另外,观察到500MSPS以下sync信号拉低是有时不规律,有时是周期性的(大概拉低10个LFMC周期左右,拉高10个周期左右,其时间并不完全固定)


    在此我给出200MSPS采样率下DAC37J84的配置情况
    FPGA:XCKU040-FFVA1156-2-i
    L M F S HD: 8 4 1 1 1

    sysref:脉冲模式

    DAC input rate: 200MSPS

    Lane rate: 2Gbps

    Interpolation: 1x

    DAC芯片的配置情况如下所示:
    8'hFF,16'h0000
    8'h00,16'h0018
    8'h01,16'h00A3
    8'h02,16'h2002
    8'h03,16'hA300
    8'h04,16'h0000
    8'h05,16'hFF03
    8'h06,16'hFFFF
    8'h07,16'h1E00
    8'h08,16'h0000
    8'h09,16'h0000
    8'h0A,16'h0000
    8'h0B,16'h0000
    8'h0C,16'h0400
    8'h0D,16'h0400
    8'h0E,16'h0400
    8'h0F,16'h0400
    8'h10,16'h0000
    8'h11,16'h0000
    8'h12,16'h0000
    8'h13,16'h0000
    8'h14,16'h0000
    8'h15,16'h0000
    8'h16,16'h0000
    8'h17,16'h0000
    8'h18,16'h0000
    8'h19,16'h0000
    8'h1A,16'h0020
    8'h1B,16'h0000
    8'h1E,16'h9999
    8'h1F,16'h9980
    8'h20,16'h8008
    8'h22,16'h1B1B
    8'h23,16'h01FF
    8'h24,16'h0020
    8'h25,16'h2000
    8'h26,16'h0000
    8'h2D,16'h0001
    8'h2E,16'hFFFF
    8'h2F,16'h0004
    8'h30,16'h0000
    8'h31,16'h1000
    8'h32,16'h0000
    8'h33,16'h0000
    8'h34,16'h0000
    8'h3B,16'h0800
    8'h3C,16'h0028
    8'h3D,16'h0088
    8'h3E,16'h0108
    8'h3F,16'h0000
    8'h46,16'h0120
    8'h47,16'h3450
    8'h48,16'h31C3
    8'h49,16'h0000
    8'h4A,16'hFF01
    8'h4B,16'h1200
    8'h4C,16'h1F07
    8'h4D,16'h0300
    8'h4E,16'h0F6F
    8'h4F,16'h1C61
    8'h50,16'h0000
    8'h51,16'h00DC
    8'h52,16'h00FF
    8'h53,16'h0000
    8'h54,16'h00FC
    8'h55,16'h00FF
    8'h56,16'h0000
    8'h57,16'h00FF
    8'h58,16'h00FF
    8'h59,16'h0000
    8'h5A,16'h00FF
    8'h5B,16'h00FF
    8'h5C,16'h6666
    8'h5E,16'h0000
    8'h5F,16'h0123
    8'h60,16'h4567
    8'h61,16'h0211
    8'h64,16'h0000
    8'h65,16'h0000
    8'h66,16'h0000
    8'h67,16'h0000
    8'h68,16'h0000
    8'h69,16'h0000
    8'h6A,16'h0000
    8'h6B,16'h0000
    8'h6C,16'h0000
    8'h6D,16'h0000
    8'h6E,16'h0000
    8'h6F,16'h0000
    8'h70,16'h0000
    8'h71,16'h0000
    8'h72,16'h0000
    8'h73,16'h0000
    8'h74,16'h0000
    8'h75,16'h0000
    8'h76,16'h0000
    8'h77,16'h0000
    8'h78,16'h0000
    8'h79,16'h0000
    8'h7A,16'h0000
    8'h7B,16'h0000
    8'h7C,16'h0000
    8'h7D,16'h0000
    8'h4A,16'hFF1E
    8'h4A,16'hFF1F
    8'h4A,16'hFF01

    RBD调整过8、16、24、28、32,但500MSP采样率以下仍然存在这个问题

    读取0x64~0x6B寄存器发现在500MSPS以上是0000,500MSPS以下有以下三种可能0002、0100、8100,但始终无法定位问题原因

    另外,由于FPGD_DCLK和GTH CLK需要随着采样率的改变而切换,因此FPGA约束中将这两个时钟约束为采样率在1200MSPS下的时钟(如下),不确定是否会造成问题(事实上,尝试过将其约束为200MSPS对应的FPGD_DCLK和GTH CLK时钟约束,都是100MHz,但200MSPS下的协议还是无法建立起来)
    create_clock -period 3.333 -name jesd204_dac_refclk [get_ports refclk0p]
    create_clock -period 1.667 -name glblclkp [get_ports glblclkp]

    另外,本设计中line rate最大达到12Gbps,但使用的是FR4材料,不确定是否会导致问题(但如果是材料问题的话为什么高频协议建立正常,而低频协议建立失败呢)

回帖(1)

刘敏

2024-11-27 17:36:00
您好!针对您在使用DAC37J84时遇到的问题,我为您提供以下解决方案:

1. 检查硬件连接:确保所有硬件连接正确无误,包括电源、时钟、数据接口等。检查是否有松动或损坏的连接。

2. 检查时钟源:确保时钟源稳定且符合DAC37J84的要求。时钟源的不稳定可能导致JESD204B协议建立失败。

3. 调整采样率:尝试在500MSPS以下的采样率中逐步降低采样率,观察协议建立是否成功。这有助于确定问题是否与特定的采样率有关。

4. 检查FPGA配置:确保FPGA配置正确,包括JESD204B协议的配置参数。错误的配置可能导致协议建立失败。

5. 检查同步信号:观察同步信号(sync)的行为,确保其在数据传输阶段稳定。如果同步信号不稳定,可能导致协议建立失败。

6. 软件调试:检查您的软件代码,确保JESD204B协议的实现正确。错误的代码可能导致协议建立失败。

7. 参考DAC37J84的数据手册:仔细阅读DAC37J84的数据手册,了解其在不同采样率下的性能和要求。这有助于您更好地理解问题所在。

8. 寻求技术支持:如果以上方法都无法解决问题,建议您联系DAC37J84的制造商或技术支持团队,寻求专业的帮助。

希望以上建议能帮助您解决问题。如有其他疑问,请随时提问。
举报

更多回帖

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