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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/974284/adc12dj3200-noise-floor-improvement

器件型号:ADC12DJ3200

您好!

我在使用两个 ADC12DJ3200改进定制 FMC 板的本底噪声方面遇到了困难。 我在 JMODE 2中以3.2GSPS 的速率进行采样(双通道、每通道4条信道)。 JESD204链路的一切都很好、因为我可以接收成功的测试模式和我馈送到 ADC 的信号。

我正在尝试测量 ADC 的采样噪声、我在 ADC1B、ADC2A、ADC2B 通道前面有50欧姆终端。 尤其是通道 ADC1A、我绕过了电路板的前端、并在 INA+/INA-之前直接施加50欧姆电阻、以检查噪声是否来自前端

我测量的噪声非常高:使用原始数据,我具有72/67/39/83的 ADC1A/ADC1B/ADC2A/ADC2B 峰值。 这对应于大约6 LSB 位的噪声、远高于预期。

下面是 ADC1A 采样的 FFT:

您可以在下面找到我的 ADC 初始化序列(我正在对两个 ADC 执行此操作):

--------------------------------------

持续运行 sysref

SPI_WRITE{0x000、0xB0}、   //复位 ADC
SPI_WRITE{0x200、0x00}、   //清除 JESD_EN
SPI_WRITE{0x061、0x00}、   //清除 CAL_EN
SPI_WRITE{0x201、0x02}、   //将 JMODE 设为2 (双通道2*4通道)
SPI_WRITE{0x202、0x1f}、   //将 KM1 (=K-1)编程为31
SPI_WRITE{0x204、0x03}、   // JCTRL:SYNC_SEL 至我们的 SYNCn 引脚、二进制补码、扰频器打开
SPI_WRITE{0x030、0xff}、   //将满量程 VFS INA 设置为1Vpp
SPI_WRITE{0x031、0xff}、   //将满量程 VFS INA 设置为1Vpp
SPI_WRITE{0x032、0xff}、   //将满量程 VFS INB 设置为1Vpp
SPI_WRITE{0x033、0xff}、   //将满量程 VFS INB 设置为1Vpp
SPI_WRITE{0x048、0x00}、   //预加重
SPI_WRITE{0x062、0x15}、    /CAL_CFG0:重置校准前台值+启用前台偏移校准
SPI_WRITE{0x061、0x01}、   //清除 CAL_EN
SPI_WRITE (0x213、0x0F);//启用 OVR_EN 以启用覆盖检测(ORA0、ORAB0、……)
SPI_WRITE (0x029、0x70);// SYSREF_RECV_EN=1、SYSREF_PROC_EN=1、SYSREF_Zoom=1和 SYSREF_SEL=0
SPI_WRITE (0x200、0x01);//设置 JESD_EN

启动 FPGA JESD204B RX 链路

SPI_WRITE (0x06c、0x00);//将 CAL_SOFT_TRIG 编程为0
SPI_WRITE (0x2b0、0x01);//对 SCR_EN 进行编程以启用 SYSREF CAL

等待 SRC_DONE 变为1 (SYSREF 校准完成)
停止为 ADC 和 FPGA 生成 SYSREF

SPI_WRITE (0x06c、0x01);//将 CAL_SOFT_TRIG 编程为1以触发校准

------------------

我的初始化是否正确? 您对我如何改善噪声有什么想法吗?

提前感谢您的回答、

此致、

文森特

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

    尊敬的 Vincent:  

    要触发软件校准、您必须首先将0x00的值写入地址0x6C、然后写入0x01的值、并触发校准。 对校准进行排序的方法未被触发。 基本上、在 SPI 写入序列的末尾执行以下寄存器写入。  

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

    此致、

    Neeraj

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

    Neeraj、您好!

    实际上、我在将值0x00写入地址0x6C 几步后再将其设为1。 请参阅以下内容:

    (笑声)

    启动 FPGA JESD204B RX 链路

    SPI_WRITE (0x06c、0x00);//将 CAL_SOFT_TRIG 编程为0
    SPI_WRITE (0x2b0、0x01);//对 SCR_EN 进行编程以启用 SYSREF CAL

    等待 SRC_DONE 变为1 (SYSREF 校准完成)
    停止为 ADC 和 FPGA 生成 SYSREF

    SPI_WRITE (0x06c、0x01);//将 CAL_SOFT_TRIG 编程为1以触发校准

    --------------

    我正在关注论坛上的初始化: https://e2e.ti.com/support/data-converters/f/73/p/687199/2543859?tisearch=e2e-sitesearch&keymatch=ADC12dj3200%20noise#2543859

    我想知道数据表下面的摘要、我必须等待多少时间才能完成校准。 如果我非常了解在校准期间不得访问 SPI、但未指定时间。 此外、SPI 与电路板上的其他器件共享。 校准过程中能否访问其它器件、或者 SDI/SDO/CLK 上的线路变化(ADC_CSn 保持高电平)会干扰校准?

    提前感谢您、

    此致、

    文森特

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

    尊敬的 Vincent:

    是的、您是正确的、您需要等待校准以完成执行。 为此、您可以检查 CAL_STATUS 寄存器(地址0x6A)位0、并确保其读数为0、然后再继续从 ADC 捕获数据。

    此外、在复位 ADC 后、请等待500uec 以便保险丝正确加载。

    SPI_WRITE{0x000、0xB0}、   //复位 ADC

    请告诉我这是否有帮助。

    此致、

    Neeraj

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

    Neeraj、您好!

    实际上、在数据表中、校准完成后、0x06A 应为1。

    我在复位 ADC 后添加了500 μ s 等待时间、但结果没有变化。

    我仍在采样大量的噪声:+/- 40在原始数据中,这意味着我有6 LSB 位的噪声。 这远远超出预期(如果我的回答正确、则为2 LSB)。

    此致、

    文森特

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

    尊敬的 Vincent:

    您能否向我们提供一个有关如何测试 ADC 的方框图?

    时钟信号链是什么样子的、如果这是外部时钟或电路板上用于为 ADC 计时的东西。

    任何此类信息都将帮助我们更快地找到问题的根本原因。

    此致、

    Rob