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.

[参考译文] RTOS/MSP432E411Y:如何启用硬件取平均值

Guru**** 2587345 points
Other Parts Discussed in Thread: MSP432E411Y

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/700679/rtos-msp432e411y-how-to-enable-hardware-averaging

器件型号:MSP432E411Y

工具/软件:TI-RTOS

尊敬的 TI 专家:

我尝试了解如何为 MSP432E411Y 的 ADC 使用"TI 驱动程序"。

TiREX 的 SimpleLink 路径和 doxygen 文档中有很多示例、例如 ADCBuf 和 ADCBufMSP432E4、但我无法找到如何使用"硬件采样平均电路"。

它是否受"TI 驱动程序"支持?

如果不是:driverlib 似乎提供了一个名为"ADCHardwareOversampleConfigure"的函数。 我可以改用它吗? 如何在"TI 驱动程序"上下文中使用它?

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

    TI 驱动程序不支持"硬件采样平均值计算"。

    查看 driverlib API 和 TI-Driver 实现、在 ADC TI 驱动程序初始化后、可以在应用程序中调用 API "ADCHardwareOversampleConfigure"。

    我将与开发团队核实我的理解是否正确、以及是否还有其他需要注意的事项。

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

    您好、Sai、
    有关"硬件采样平均值计算"的新闻吗?
    我自己做了一个尝试,但似乎不能正常工作。 我通过在 adcBufCallback 函数中添加1000个采样缓冲器并几乎禁用 UART 通信来修改"adcbufmultical_MSP_EXP432E401Y_tirtos_ccs"。 我在回调函数的末尾添加了一个断点、以检查调试器中的缓冲区。
    之后
    adcBuf = ADCBuf_open (Board_ADCBUF0、&adcBufParams);
    我添加了
    MAP_ADCHardwareOversampleConfigure (ADC0_BASE、2);

    对于小的平均值数字(0或2)、样本看起来不错、但对于大数字(32或64)、缓冲区内容似乎不再合适、因为通道是混合的。

    有什么想法吗?

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

    我处理过这个问题、我认为我找到了解决方案。
    我添加了两个函数调用
    /*在 fPLL = 480MHz (480/16 = 30)时将 ADC 时钟定义为16MHz -> 1MSPS *
    ADCClockConfigSet (ADC0_BASE、ADC_CLOCK_SRC_PLL | ADC_CLOCK_RATE_FULL、(480/16));
    ADCHardwareOversampleConfigure (ADC0_BASE、32);

    之后
    adcBuf = ADCBuf_open (Board_ADCBUF0、&adcBufParams);

    在示例 adcbufmultical_MSP_EXP432E401Y_tirtos_ccs 中。

    我的困惑是由于数据表 SLAU723、第710页:
    "吞吐量根据中的样本数量按比例降低
    平均计算。"

    因此、我假设我必须相应地提高采样率以获得相同的输出数据速率。
    实际上、N 个样本的硬件过采样不会对 N 个连续触发器的测量值求平均值、而是以 ADC 转换速率(此处为1MHz)对一个触发器进行 N 个测量。
    因此、无需更改采样率、因为它定义了 TI 驱动程序实现中每秒触发事件的数量、而不是 ADC 转换率。