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.

[参考译文] MSP430FR5994:ADC 转换会影响测量的电压

Guru**** 2390755 points
Other Parts Discussed in Thread: MSP430FR5994

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/996793/msp430fr5994-adc-conversion-affects-the-measured-voltage

器件型号:MSP430FR5994

您好!


在工作中、我们正在开发一款使用 MSP430FR5994 MCU 收集有关电源总线的一些遥测数据(电压测量、电流测量等)的器件。 我们的硬件工程师决定利用微控制器中内置的 ADC12外设来执行 ADC 转换。

在原型板测试期间、我遇到了 ADC 的奇怪行为。 几乎所有 ADC 通道的读数都显示了不正确的值。 当我用示波器研究问题时、可以看到 ADC 转换以一种奇怪的方式影响电压总线-测得的电压增加、波形看起来像电容器充电/放电:

蓝色通道显示 ADC 转换(标志在 ADC 开始转换之前置位、而在 ADC 繁忙标志清零后清零)。

黄色通道显示了测量的电压。

ADC 数字值与电压尖峰的峰值一致、因此 ADC 本身工作正常。

ADC 配置如下:
* GPIO 引脚设置为模拟输入

* ADC 设为12位分辨率

* ADC 频率(4.8-5MHz、使用内部 ADC 时钟)

* SHT-512周期

*使用单频转换

在深入探究之后、对于小的 SHT值、问题似乎不会重现(下图显示了相同的 ADC 通道、相同的软件、仅 SHT=16周期):

在这两种情况下、ADC 转换期间的 AVCC 电压都完全保持不变。

测量原理图如下(示波器图片可能显示不同的 ADC 通道、但可以在所有 ADC 通道上重现):

稍后、我们考虑执行另一项测试并按如下方式修改测量电路(使用更大的电容器和更小的电阻器):

测试结果未显示 SHT=16或 SHT=512/1024周期时的尖峰。 此外、我还在 launchpad 电路板上执行了测试、测试时将相同的模拟通道连接到大电位计(0.86MOhm)和电容器(100nF)。 结果也正确、对于16/512/1024的 SHTs 值、未检测到电压尖峰。

我已经反复阅读了 ADC 文档(数据表、参考手册、应用手册、勘误表)、但我仍然无法确定它的运行方式是这样的。 根据我的理解、SHT"值越大、结果越好。 唯一的缺点是浪费了更多的功率。

您是否知道问题的根源是什么? 我是否在文档中遗漏了一些内容?

此致、
科纳拉德

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

    您好、Konrad、

    非常有趣。 用户指南第34.2.2节中提到了这一点,但我认为这是一个非常快的瞬态,它将在最初几个 SH 时钟周期内发生。  当然不是您展示的内容。

    用户指南第34.2.6节中还有用于计算最小采样时间的公式。

    这是数据表中的 Ri 和 Ci。

    首先需要注意的是、您的输入电阻应尽可能低。  使用10K + 10nF 的组合进行计算时会产生相当长的等待时间、而100 + 1uF 也会产生等待时间。  我不知道到底是什么导致尖峰、但尝试使用 RC 将充电时间保持在绝对最小值。  这会浪费时间和精力。

    根据5MHz 时钟、最大 SH 时间为102usec。  如果您保持100电阻并将输入电容更改为<1nF、您是否会看到尖峰?

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

    在输入端使用 RC 滤波器时、采样时间由电容器的 ESR 决定。 滤波电容器应足够大、以便在电荷随采样电容重新分布后、电压变化是可以容忍的。

    当然、样本之间的时间必须足以替换该电荷。

    与高输入电阻相关的另一个因素是泄漏电流。 这种情况始终存在、但通常足够低、即使是10K 的压降也不是问题。

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

    大家好、感谢您的回答!

    Dennis Lehman:

     在测试过程中、我还将 ADC 频率降低至~0.6MHz、使 SHT=1024、而这种情况对我来说甚至更加奇怪:

    不幸的是、在我看来、它并不是一个瞬态。

    关于低 RC -遗憾的是、我们目前的选择有限。 一些通道使用分压器将电压与测量范围匹配。 该器件由电池供电、使用许多模拟通道、我们的功率预算有限、因此我们需要非常谨慎地选择输入电阻。 这就是我们需要100%确保问题与高输入阻抗严格连接的原因、最好是逐步解释问题。 如果是、我们需要执行硬件重新设计。

    我将尝试按照您的建议在 R=100R 和 C < 1nF 的情况下执行测试、并发布结果。

    还有一件事:
    我之前已经根据您发布的数据表中的公式计算了 SHTT、但我想知道我是否应该考虑 RC 滤波器电容(10nF/100nF)?

    David Schultz36:
    对于测试、我将对单个 ADC 通道执行单次热测量、由终端命令触发、因此测量之间的时间不应成为问题。 关于泄漏电流和电容器 ESR -如果我错了、请原谅我、因为我不是 HW 专业人员、但这不应该导致测量通道上的压降?

    对于我们的所有硬件工程师来说、令人惊讶的是、这种电压升高、就好像 ADC 在内部将测量的电压上拉或以某种方式放电到 RC 滤波电容器中一样。

    另一件有趣的事情-我们的两个原型板上都可以看到完全相同的问题。




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

    您好!

    我们的硬件工程师在数据表中发现了以下内容:

    基于此、他发现可能存在高达-10uA 的电流源、该电流源来自 ADC。

    他创建了 PSpice 仿真、并考虑了整个测量路径、多路复用器电阻和电容以及假设的电流源:

    仿真结果如下:

    它看起来非常接近我们所看到的内容。

    然后、他通过减小电流源脉冲来模拟较小的 SHT. 结果如下:

    请注意、电压尖峰为20mV、因此在示波器上几乎无法发现。

    我们的想法是否正确?


    如果是、请考虑在 MCU 的用户指南和数据表中更清楚地说明输入阻抗应更小。 对于这一点、有一个参考、其形式是 对 R_s < 10kOhm 的 St 时序方程进行注释。 我们有一条 R_s = 10kOhm 的测量路径、它似乎无法正常工作。

    科纳拉德

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

    数据表中的该条目用于外部基准输入引脚上的电流。 而不是 ADC 信号输入引脚。

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

    您好、Konrad、

    理想情况下、您希望以尽可能低的阻抗驱动 ADC 输入。  在为电压源保持极高阻抗的同时、唯一的方法是通过缓冲放大器。

    由于我们已经从您那里听说过、因此我将假定您能够推进您的项目。
    我将此帖子标记为已解决,但如果不是这种情况,请单击“这不能解决我的问题”按钮,并使用更多信息回复此主题。
    如果此主题已锁定、请单击"提出相关问题"按钮、然后在新主题中描述您的问题的当前状态以及您可能需要帮助我们帮助解决您的问题的任何其他详细信息。

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

    好的、总结一下这个问题:

    首先、很抱歉我们的硬件工程师处理了这个问题、仅在2天前就有了一些明确的结论。

    我们已使用开发板将 MCU 从电路板上切换、但问题仍然存在。 我们板上的芯片位于开发板中、工作正常。 我们的电子工程师发现、如果其中一个电源轨通电、测量工作正常、因此肯定是原理图/ PCB 布局错误。

    在下一个设计中、我们将确保降低输入阻抗。

    非常感谢您的帮助!