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.

[参考译文] LAUNCHXL-F28379D:16位差分输入的失真

Guru**** 2589280 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/662807/launchxl-f28379d-distortion-with-16-bit-differential-inputs

器件型号:LAUNCHXL-F28379D
主题中讨论的其他器件:C2000WARE

您好!

我们修改了该示例

C:\TI\c2000Ware_1_00_03_00\device_support\f2837xd\examples\CPU1\ADC_SoC_ePWM

要使用16位分辨率和差分输入、请将 ADCINA2/3用作对。 这起作用的功能。 输入电路是一个差分运算放大器、其增益= 0.5、用于从单端转换为差分。 ADCINA2的输入是一个摆幅介于0和3V 之间的正弦波。 ADCINA3是反相波形、同样在0和3V 之间摆动。

但是、我们看到 ADC 16位结果中存在大量失真、ENOB 远低于通告的14。

下一步是使用板载差分运算放大器电路将示例切换到 ADCIND4/5输入。

我们是否对 LP 进行过任何差分输入测试、最终得出 ENOB 14、这是有人可以分享的?

是否需要更优化的 ADC 设置?

谢谢!

-Gunter

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

    我们尚未在 launchpad 上专门测试 SNR/THD/SFDR/SINAD/ENOB、但我希望它至少相当接近数据表指定值。

    您是将一个频谱纯正弦波提供给差分运算放大器、捕获较长的记录、执行 FFT、 计算 SINAD 以获得 ENOB (还是这是一个更非正式的测试,您可以通过查看时域波形来判断它是否严重失真)?

    您使用的信号源是什么? 常规台式函数发生器通常不会具有足够低的噪声/失真、因此您通常需要某种专门的仪器来测试16位级别的 ADC 性能。 您还需要非常小心布线和噪声耦合。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Devin、

    这仍然是帕克方面的非正式测试。 我还担心 VREFHIA 和 LOA 的噪声以及电源轨对 MCU 的任何影响。

    至于将 ADCIND4/5用于差分输入、我已经修改了 ADC_SoC_ePWM_cpu01.c (已连接)以使用板载差分运算放大器。 这起作用的功能。

    观察结果:

    []暂时将 ADCD 切换为单端16位,对于 ADCIND4或 ADCIND5,ADC 结果约为0x8000。 这表示在未连接信号的情况下、这些输入端的电压为1.5V。 我认为这是可以的。

    []将 ADCD 切换为差分模式,使用 ADCIND4/5作为输入对,ADC 结果仍为大约0x7Fxx 类型值,但我本来希望这是输入的差值,即接近零。 为什么不会发生这种情况?

    总体而言、您能否采用随附的示例并在我们接近公布的 ENOB 的地方重复测试?

    谢谢!

    -Gunter

    e2e.ti.com/.../adc_5F00_soc_5F00_epwm_5F00_cpu01.zip

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

    您好 Gunter、

    如果您查看 TRM ()中的转换公式 ,则会得到预期的结果:

    (1.5 - 1.5 + 3.0)/6.0 = 0.5 ->数字范围的一半。   

    注意:"ENOB"是根据 SINAD 规范计算的噪声+失真的具体测量值、如 ENOB =(SINAD - 1.76dB)/6.02。  如果您查看直流输入的转换结果精度、您可能需要与增益、偏移和 INL 规格进行比较。   

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

    谢谢、TRM 帮助解释了结果缓冲器中的差分值。

    现在的主要问题是帮助找到一个平台(如果不是 Launchpad)、该平台允许复制数据表中的 ENOB 14.1。 在16位和差分输入中测试 ADC 时、Launchpad 未显示我们已接近。

    我们应该使用哪种测试平台? 还需要具备哪些附加条件?


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

    您好 Gunter、

    ENOB 的测试设置大致如下:

    • 从相位噪声和 THD 大于14.1位(86.6dB)的仪器中获得一个接近10kHz (速度也较慢)的特殊纯差分正弦波
      • 选择的仪器通常是音频精密 AP-2722、但斯坦福研究公司的 DS-360也是合适的
      • 可选:使用带通或低通滤波器来帮助消除输入信号中的噪声。  如果您使用的是差分信号源、这可能不是必需的。
      • 从仪器到 ADC 的布线极其 important...us、采用 SMA 或 BNC 等屏蔽电缆、并保持电缆长度较短。  理想情况下、这应该是一根差分电缆、但您可以使用紧密编织的 SMA 电缆对之类的东西进行微调。
      • 信号应使用高带宽、低噪声、低失真运算放大器(或一对运算放大器)在电路板上本地进行缓冲。  
    • 使用 ADC 将正弦波的长记录捕获到器件 RAM 中
      • 建议使用64K 长度记录、并且应该可以在该器件上轻松实现(有足够的 RAM)
      • ADC/系统设置:
        • PLL 提供的200MHz SYSCLK  
        • PLL 输入=片外 XTAL
        • ADCCLK = 50MHz
        • ADC S+H = 320ns 或更长(ACQPS = 63)
          • 根据驱动运算放大器和 ADC 输入引脚之间的 R 和 C 值以及驱动运算放大器的 BW、这可能需要稍长一些。  LP 上的差分放大器电路应在最短或接近最短 S+H 持续时间内正常。
        • 定期进行 ADC 采样
          • ePWM、CPU 计时器或连续乒乓采样都是不错的选择
          • SW 触发不足以产生良好结果
    • 使用 FFT 窗口化函数窗口化 ADC 结果   
    • 将 SNRD 计算为基频(接近10kHz 或您使用的任何 fin)与 FFT 单元其余部分的功率比。
    • ENOB =(SNRD - 1.76)/6.02

    您能评论一下客户的设置与此相比是什么(例如、使用了什么仪器、布线看起来是什么、使用了什么电路进行本地缓冲等)吗?

    您能否共享 FFT 结果和/或原始捕捉?