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.

[参考译文] ADC12DJ3200:前台校准

Guru**** 2386620 points
Other Parts Discussed in Thread: LMK04828, LMX2594
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1137205/adc12dj3200-foreground-calibration

器件型号:ADC12DJ3200
主题中讨论的其他器件:LMK04828LMX2594

大家好、

客户使用自己的设计板、FPGA 为420T、REFCLK 和 FPGA 的参考时钟由 LMK04828生成、LMK 连接 LMX2594以输出 ADC 器件时钟和参考时钟。 示波器可以观察生成的时钟信号。  

JMODE1、ILA 观察到的同步信号被拉低、但 xillnx IP 内核 tdata 没有数据输入(K28.5)、 并且无法完成 ADC 上的前台校准、0x6A 始终读取0C。

这是 ILA 捕获的信号

此致

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    这是寄存器配置:

    分配 cfg_mem[0]={15'h0000, 8'hB0};//重置
    分配 cfg_mem[1]={15'h0030、8'hFF};
    分配 cfg_mem[2]={15'h0031、8'hFF};
    分配 cfg_mem[3]={15'h0032、8'hFF};
    分配 cfg_mem[4]={15'h0033、8'hFF};
    预加釿 cfg_mem[5]={15'h00488'h03};//将串行器预加重设置为3 μ s
    分配 cfg_mem[6]={15'h0200、8'00};//对 JESD_EN=0进行编程以停止 JESD204B 状态机并允许更改设置。
    分配 cfg_mem[7]={15'h0061、8'00};//编程 CAL_EN=0以停止校准状态机并允许更改设置
    分配 cfg_mem[8]={15'h0201、8'h01};//对所需的 JMODE 进行编程。 JMODE=1
    分配 cfg_mem[9]={15'h0202,8'h1f};//编程所需的 KM1值。 Km1 = K-1
    根据需要分配 cfg_mem[10]={15'h0204,8'h06};//对 SYNC_SEL 进行编程。  
    分配 cfg_mem[11]={15'h003B、8'h03};//TMSTP 输入使能和 LVPECL
    分配 cfg_mem[12]={15'h0205,8'h04};//测试模式0x00刿0xFF 测试链路屿斜坡测试模式
    超量稿 cfg_mem[13]={15'h0213、8'h07};//启用超范围、将超范围保持设置为最大周期8*2^7 = 1024个样本8*2^7 = 1024 μ s
    分配 cfg_mem[14]={15'h0029、8'h70};
    分配 cfg_mem[15]={15'h0029、8'h73};
    分配 cfg_mem[16]={15'h0061、8'h01};//编程 CAL_EN=1以启用校准状态机。
    分配 cfg_mem[17]={15'h0200、8'h01};//对 JESD_EN=1进行编程以重新启动 JESD204B 状态机并允许链接重新启动
    将 cfg_mem[14]={15'h006C、8'00};//将 CAL_SOFT_TRIG 设置为低电平以重置校准状态机
    将 cfg_mem[15]={15'h006C、8'h01};//将 CAL_SOFT_TRIG 设置为高电平以启用校准
    分配 cfg_mem[18]={15'h02C0、8'00};
    分配 cfg_mem[19]={15'h02C2,8'00};
    分配 cfg_mem[20]={15'h02C1、8'h1f};

    您可以提出任何故障排除建议吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我很抱歉。 它会自动翻译、 我将删除最后一个问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Rui:

    首先、让我们确保 FG CAL 运行正常。 通常、当 FG 校准失败时、这意味着器件未接收 CLK。 加电后和复位前、请确保应用器件 CLK。 您能否在 CLK 的输入引脚上进行测量以进行确认?

    复位后、请等待寄存器0x270 的位0为高电平。 当初始化逻辑完成 时(~250ms)、该位返回1、但出于调试目的、我建议 等待1秒、并在您有一个具有时间基准的工作系统后进行优化。

    分配 cfg_mem[0]={15'h0000, 8'hB0};//重置

    等待 INIT 位在复位后完成。 寄存器0x270位0

    分配 cfg_mem[6]={15'h0200、8'00};//对 JESD_EN=0进行编程以停止 JESD204B 状态机并允许更改设置。
    分配 cfg_mem[7]={15'h0061、8'00};//编程 CAL_EN=0以停止校准状态机并允许更改设置

    分配 cfg_mem[1]={15'h0030、8'hFF};
    分配 cfg_mem[2]={15'h0031、8'hFF};
    分配 cfg_mem[3]={15'h0032、8'hFF};
    分配 cfg_mem[4]={15'h0033、8'hFF};
    预加釿 cfg_mem[5]={15'h00488'h03};//将串行器预加重设置为3 μ s

    分配 cfg_mem[8]={15'h0201、8'h01};//对所需的 JMODE 进行编程。 JMODE=1
    分配 cfg_mem[9]={15'h0202,8'h1f};//编程所需的 KM1值。 Km1 = K-1
    根据需要分配 cfg_mem[10]={15'h0204,8'h06};//对 SYNC_SEL 进行编程。  
    分配 cfg_mem[11]={15'h003B、8'h03};//TMSTP 输入使能和 LVPECL
    分配 cfg_mem[12]={15'h0205,8'h04};//测试模式0x00刿0xFF 测试链路屿斜坡测试模式
    超量稿 cfg_mem[13]={15'h0213、8'h07};//启用超范围、将超范围保持设置为最大周期8*2^7 = 1024个样本8*2^7 = 1024 μ s
    分配 cfg_mem[14]={15'h0029、8'h70};
    分配 cfg_mem[15]={15'h0029、8'h73};
    分配 cfg_mem[16]={15'h0061、8'h01};//编程 CAL_EN=1以启用校准状态机。
    分配 cfg_mem[17]={15'h0200、8'h01};//对 JESD_EN=1进行编程以重新启动 JESD204B 状态机并允许链接重新启动
    将 cfg_mem[14]={15'h006C、8'00};//将 CAL_SOFT_TRIG 设置为低电平以重置校准状态机
    将 cfg_mem[15]={15'h006C、8'h01};//将 CAL_SOFT_TRIG 设置为高电平以启用校准
    分配 cfg_mem[18]={15'h02C0、8'00};
    分配 cfg_mem[19]={15'h02C2,8'00};
    分配 cfg_mem[20]={15'h02C1、8'h1f};

    从 cal_status 拉至 FG_DONE

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    这是 器件 CLK、位于 CLK 输入引脚处的 CLK 由 LMX2594提供:

    信号似乎没有问题。

    2.    初始化逻辑完成时,我等待1秒钟,但 寄存器0x270  的位0始终为0,寄存器0x06A 始终为0C。
     我希望收到更多建议。
    谢谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    TI 网站即将进行维护。 在维护期间如何联系您?请为 我留下详细联系信息。感谢您的帮助。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Rui:

    只需确保您探测的时钟尽可能靠近 ADC 而不是 LMX 输出。

    ADC CLK 交流电是否与 LMX 器件耦合?

    此外、您能否测量时钟引脚的 VCM。 应与下面的数据表匹配。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

     我正在探测 ADC 交流耦合电容器中的时钟、信号似乎没有问题。

    且时钟引脚的 VCM 在0.1V 范围内。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    在我结束时、当我关闭时钟或将时钟减少到特定点时、只有 INIT 位在复位后不会清除、并且如果没有时钟 FG 校准将不会完成。 您是否正在使用我提供的新产品?

    对于您为时钟提供的图片、只有1个桥臂(仅限+ CH)还是差分? VCM 处于低侧... 您能否测量最靠近引脚的电源电压(尝试使用去耦电容器)以确保它们在数据表中并且源极具有为 ADC 供电的适当额定电流。 您能否检查要计时的交流电容器。 您能否共享设计原理图?

    上电后、clk 处于活动状态且 复位已置为有效。 尝试以下寄存器写入...

    0x0200 0x00 //清除 JESD_EN (始终在 CAL_EN 之前)
    0x0061 0x00 //清除 CAL_EN (始终位于 JESD_EN 之后)
    0x0201 0x00 //设置 JMODE0
    0x0202 0x03 //设置 KM1=3、因此 K=4
    0x0204 0x01 //使用 SYNCSE 输入、偏移二进制数据、启用扰频器
    0x0213 0x07 //启用超范围,将超范围保持设置为最大周期8*2^7=1024个样本
    0x0048 0x03 //将串行器预加重设置为3
    0x0061 0x01 //设置 CAL_EN (始终在 JESD_EN 之前)
    0x0200 0x01 //设置 JESD_EN (始终在 CAL_EN 之后)
    0x006C 0x00 //将 CAL_SOFT_TRIG 设置为低电平以复位校准状态机
    0x006C 0x01 //将 CAL_SOFT_TRIG 设置为高电平以启用校准

    读取寄存器0x208 (JESD_STATUS)并检查 PLL_LOCKED 是否为高电平(位2)。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    它是 差分信号、我在 这里测量电压、这是 ADC 时钟的原理图。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您是否尝试了我一周前给您的序列、并测量了电源电压以关闭器件?

    我要重新连接它。

    上电后、clk 处于活动状态且 复位已置为有效。 尝试以下寄存器写入...

    0x0200 0x00 //清除 JESD_EN (始终在 CAL_EN 之前)
    0x0061 0x00 //清除 CAL_EN (始终位于 JESD_EN 之后)
    0x0201 0x00 //设置 JMODE0
    0x0202 0x03 //设置 KM1=3、因此 K=4
    0x0204 0x01 //使用 SYNCSE 输入、偏移二进制数据、启用扰频器
    0x0213 0x07 //启用超范围,将超范围保持设置为最大周期8*2^7=1024个样本
    0x0048 0x03 //将串行器预加重设置为3
    0x0061 0x01 //设置 CAL_EN (始终在 JESD_EN 之前)
    0x0200 0x01 //设置 JESD_EN (始终在 CAL_EN 之后)
    0x006C 0x00 //将 CAL_SOFT_TRIG 设置为低电平以复位校准状态机
    0x006C 0x01 //将 CAL_SOFT_TRIG 设置为高电平以启用校准

    读取寄存器0x208 (JESD_STATUS)并检查 PLL_LOCKED 是否为高电平(位2)。