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**** 2388440 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/873827/adc12dj3200-initialization-set-up-repeatability-issue

器件型号:ADC12DJ3200

您好!

我发现初始化设置的校准可重复性有问题。 我将为 JMODE0配置 ADC 并对 CW 信号进行采样。 如果我重复初始化设置、我会看到采样信号的振幅变化为6dBm。 我正在使用以下初始化:

ADC.WRITE (0x200、0x00);//清除 JESD_EN -在清除 CAL_EN 之前始终清除 JESD_EN
ADC.WRITE (0x061、0x00);//清除 CAL_EN
ADC.WRITE (0x201、0x00);//设置 JMODE0
ADC.WRITE (0x062、0x01);// CAL_CFG:FG

ADC.WRITE (0x061、0x01);//设置 CAL_EN -在设置 JESD_EN 之前始终设置 CAL_EN
ADC.WRITE (0x200、0x01);//设置 JESD_EN

adc.write (0x2B0、0x00);//关闭 sysref 校准
ADC.WRITE (0x06c、0x00);
ADC.WRITE (0x06c、0x01);//触发 ADC FG 校准
//通过监控0x06a 位0等待 FG 校准完成

//校准 sysref
ADC.WRITE (0x2B1、0x05);//配置校准
adc.write (0x2B0、0x01);//启动 sysref 校准


//通过监控0x2B4位1等待 sysref 校准完成

如果我重新运行上述步骤、我将看到采样信号的两个可能振幅中的一个。 如果能就可能发生的情况提出任何建议,我将不胜感激。 谢谢你。

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

    您好、Jaun、

    您能否在寄存器写入开始时添加以下内容。  

    ADC.WRITE (0x000、0xB0);//芯片软复位  

    睡眠(1us)//等待1微秒。

    ADC.Read (0x270) /连续读取、直到位0返回1以指示初始化完成

    这将确保 ADC 正确初始化。  

    此外、我还建议您遵循初始化设置过程(数据表的第8.3节)

    此致、

    Neeraj  

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

    Neeraj、您好!

      感谢您的回答。 我在 ADC 初始化中添加了您的建议。 请注意、数据表中不包含0x270、但我一直监控到位0返回1、正如您建议的那样。 不幸的是,它没有解决我的问题。  

      我相信我正在按照上面初始化代码中第8.3节中的初始化设置过程进行操作。 你有其他建议吗? 感谢你的帮助。

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

    您好、Jaun、

    您能不能在看到问题和未看到问题时向我发送 FFT 的屏幕截图。 基本上、我要寻找的是本底噪声也会受到影响、因为输入信号正在改变振幅?

    此致、

    Neeraj  

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

    Neeraj、您好!

      本底噪声也会受到影响。 我在 FPGA 中捕获了 ADC 样本并将其导入到 Matlab 中。 这是 FFT 图。

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

    您好、Jaun、

    您能否尝试以下寄存器写入操作并查看是否解决了您的问题? 请注意、这里我使用的 KM1值为3、您可能需要根据您的用例更新 KM1值。  

    0x0000 0xB0 //进行软复位
    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 设置为高电平以启用校准

    此致、

    Neeraj  

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

    Neeraj、您好!

      感谢您提出后续建议。 我必须重新生成 JESD204内核才能启用解扰。 我已按照以上建议添加了其他设置命令。  

    不幸的是,我仍然观察到同样的问题。

    供参考,我的寄存器值与您的上述值相同,除了0x0202 (在我的情况下为0x1F)和0x204 (我设置为0x3)(有符号二进制补码,启用扰频器)。

    如果有其他建议,我将不胜感激。 谢谢、

     胡安

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

    尊敬的 Juan:

    您能否尝试 跟踪寄存器写入。

    0x31 0xA0 // 将 ADC 的满量程设置为800mV 默认值

    0x006C 0x00 //将 CAL_SOFT_TRIG 设置为低电平以复位校准状态机
    0x006C 0x01 //将 CAL_SOFT_TRIG 设置为高电平以启用校准

    让我们看看您是否获得相同的结果?

    此致、

    Neeraj

     

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

    Neeraj、您好!

      数据表中的状态为0xA000:800mVpp (默认值)。 它应该是默认值、但我在触发校准之前明确添加了命令:

    0x30 0x00 // 将 ADC 的满量程设置为800mV 默认值
    0x31 0xA0 // 将 ADC 的满量程设置为800mV 默认值

    0x006C 0x00 //将 CAL_SOFT_TRIG 设置为低电平以复位校准状态机
    0x006C 0x01 //将 CAL_SOFT_TRIG 设置为高电平以启用校准

    我得到相同的结果;没有改进。

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

    尊敬的 Juan:

    在执行 FFT 时、您可以尝试使用相干频率吗?

    此致、

    Neeraj

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

    Neeraj、您好!

      感谢您的帮助和建议。 我相信我的问题已经得到解决。

    问题最终是 FPGA 中的 JESD204 RX 内核。 具体而言、是指从内核传输到 ADC 的 SYNCSE 信号的时序。 我的 ADC 校准功能还会重置 JESD 内核。 我发现、简单复位内核会引发问题(复位将脉冲 SYNCSE 信号)。 在调试同步时、问题自行解决、因此我添加了同步的时序限制作为最终解决方案。

    再次感谢你的帮助。