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.

[参考译文] MSP430F5529:如果枚举了 USB、则测量结果变得 Disturb/不稳定

Guru**** 2794765 points

Other Parts Discussed in Thread: MSP430F5529

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1621543/msp430f5529-measurement-are-getting-disturb-unstable-if-usb-is-enumerated

器件型号: MSP430F5529

我正在将 MSP430F5529 微控制器用于我的一个测量和保护器件工程。 我正在测量负载电流 (RMS)、其精度最初远低于 5%。 我可以选择通过外部电源和 USB 端口为电路板供电。 如果连接了 USB 但未枚举 USB、那么它可以正常工作并满足我对电流测量的精度要求。 我正在使用 USB 作为串行通信的通信设备类模式。 如果在没有将 COM 端口连接到任何终端的情况下将它插入我的 PC 用于 USB 电源、则测量值在稳定负载下仍保持稳定。 但是、如果我将 COM 端口连接到任何串行端口终端(在源代码中,它将达到枚举完成情况)、它的测量会受到干扰/不稳定(无论通信是否正在运行)。 对于来自可靠电流源的固定电流、测量开始跳变高达 25%。 我已经检查了以下步骤、但没有结果:

  1. 采样中断速率不会受到 USB 枚举的干扰。 我使用计时器溢出中断来触发 ADC 采样。 我正在使用单序列多通道 (
    A0–A7 和 A12) 由计时器溢出中断触发的转换方法(每 625uSec)。 12 位分辨率。
  2.  ADC 基准电压在任何情况下都稳定。
  3. 溢出中断例程未与另一个中断级联、并且能够在前一个中断之前很早地完成其任务。 当前计时器溢出中断周期为 625uSec、其中中断例程能够在 23uSec 内很好地完成其任务。  

无法找出不稳定性的原因。

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

    听起来您在计时器中断内使用软件触发器 (ADC12SC) 来启动 ADC 一样。

    我对 F5529 USB 库不是很熟悉、但如果它在关键操作(例如枚举)期间禁用一段时间中断、我不会感到非常惊讶。 或者、它可能只是短暂看到大量 USB 中断、这些中断的优先级高于某些计时器[Ref 数据表 (SLAS590N) 表 6-1]。

    要解决此问题、请执行以下操作:

    1) 如果你可以安排它,我建议你使用 ADC12SHS 直接从计时器触发 ADC。 您可以使用 TA0.1、TB0.0 或 TB0.1 执行此操作[参考数据表表表 6-11、6-14]。 这将为您提供同步触发以及整个采样周期来获取结果。

    2) 如果 (1) 不够、请使用 DMA 来获取 ADC 结果[参考数据表表表 6-10]。 这将使您 (N*SAMPLE_PERIOD) 获取结果。

    这些通常是很好的想法、即使没有 USB 库也是如此。

    [编辑:几个错误开始工作的“发生了一个错误“。]

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

    尊敬的 Biswas:

    我建议您首先检查电流测量的输入信号是否稳定。 也许 VBUS 会影响您的固定电流源。

    B.R.

    Sal