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:关于 ADC 采样误差的咨询

Guru**** 2515655 points
Other Parts Discussed in Thread: LAUNCHXL-F28379D

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1561399/launchxl-f28379d-consultation-on-adc-sampling-error

器件型号:LAUNCHXL-F28379D


工具/软件:

我现在需要对电机执行故障诊断、并且需要高精度电流值。 电流传感器测量的零位置电压非常稳定、但在进入 f28379d 的 ADC 模块后、测量的电流误差非常大。 测得的电流的误差约为±1A、也就是说、ADC 采样期间的误差为 30/4096、这无法满足故障诊断的要求。 请问这是否是芯片或开发板的问题?

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

    Wu、

    如果我使用来自 DS 的增益/偏移/INL 的最大误差、我预计本机误差为~7LSB(悲观)、因此您看到的 30LSB 过高、无法仅来自 ADC。

    下面是一些可以尝试的操作:

    1. 调试提示:我建议使用一个小型程序仅对 ADC 进行采样、并有意对目标信号进行过采样。  可能是连续采集 100 个样本。  查看 Excel 中的数据并注意代码扩展。  对于理想的直流输入、您需要看到最大分布 4 或 5 个代码之类的代码、才能知道信号正在被正确捕获。  如果您看到更大的代码扩展、则意味着存在噪声耦合;尽管驱动强度/电容充电时间不正确(请参阅下面的#2/#3)、或只是信号上的一般噪声(请参阅下面的#4)。  对于这种情况、可能会选择一个已知的直流输入、AA 电池非常适合这种情况、因为它是 1.5V 直流电源、没有外部噪声源。  一旦您使其良好采样、请切换到您的电流传感器、然后查看是否仍然正常或是否存在不匹配情况。
    2. 增大 ACQPS;这是为 ADC 内部采样电容器充电的采样/保持时间。  如果馈入 ADC 的信号存在某种阻抗不匹配情况、则会导致电容器无法准确捕获引脚上的电压。  尝试增加该值(可能增加大约 10)、看看电压转换误差是否更好
    3. 使用相同的触发器在同一通道上启动多次转换、出于实验目的、请尝试使用同一触发器的所有 16 个 SOC。  如果您看到所有样本的 ADC 结果相同、则 ACQPS 可能没问题。  如果您看到 ADC 结果的趋势、则收敛它意味着 ACQPS 太小。  通过背对背采样、我们可以更准确地为 S/H 转换器充电、而不是让它在两次采样之间实现放电。
    4. 过采样、如果是噪声、我们可以过采样并对噪声求平均值。  这会降低有效采样率、但如果信号上存在杂散噪声、则可以帮助抑制噪声。
    5. 滤波、如果您认为这与电流传感器的噪声(与直流电源)有关;那么您可以内联某种类型的滤波器、以帮助消除噪声
    6. 系统噪声:如果您看到小型 ADC 测试用例看起来正常、但在您的系统中、错误会恢复;那么系统可能会发生噪声耦合。  关注靠近 FET 及时切换的 ADC 样本等情况、您可以尝试在 ADC 采样时进行更改、看看是否有所帮助。  由于这是 LP、您可以尝试使用不同的 ADC 通道、以查看是否由于靠近所使用的 GPIO 而导致该噪声。
    7. 偏移校正;driverLIB/C2000 Ware 中应该有一个函数可自行校正 ADC 的偏移。  该误差的最大值仅为 4LSB、但查看这是否有所帮助没有任何不利影响。

    此致、

    Matthew

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



    你好,我根据你的建议尝试了它。 我用 TI 的 ADC 教程进行了测试。 此处提供了具体的教程链接。 dev.ti.com/.../c2000_lab_adc.html
    测试结果与之前相同。 仍然存在显著的波动。具体影响如图 1 所示。
    此外,我使用 7 号干电池进行了测试,结果是相同的。 获得的数字信号值仍然波动。
    另外、关于您提到的 ACQPS、是否是 syscfg 中的 Sample Window [SYSCLK counts]、如图 2 所示? 我把它从 20 更改为 200、但没有变化。
    我上面提到的所有测试都是在 f28379D 开发板上执行的、无需任何额外的复杂硬件环境。 此外,我手头有四个 f28379D 开发板,并尝试了所有,但结果不好。 您能帮助我再次分析一下吗? 是否是开发板本身的问题?感谢您的答复。

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

    您能尝试 2 件事吗:

    1) 使用实验代码按原样、将 ADC 时钟分频器从 4 增加到 8、然后查看是否有任何改善

    2) 从该代码中移除 LED 切换,查看是否有任何改进。

    此外、 您能否探测为器件提供 VREFHI 电流的放大器的输出、并告诉我您读取的电压是多少?

    此致、

    Matthew

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


    我正在使用:
    LAUNCHXL-F28379D。
    1) 我不确定图 1or2 中的哪个引脚可以测量您提到的电源 VREFHI。 您能告诉我吗?

    2) 我根据您的建议进行了实验,将时钟分频器设置为 8 并关闭其他不必要的 GPIO 的操作。 但是、结果如图 3 所示、没有任何改善。

    3) 如果可能、您是否还可以使用 LAUNCHXL-F28379D 进行测试? 我怀疑这可能是由 LAUNCHXL-F28379D 本身的问题造成的。

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

    电压为 1.65V。