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.

[参考译文] 具有Energia的MSP432 ADC采样率

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/582395/msp432-adc-sample-rate-with-energia

主题中讨论的其他部件:Energia

大家好

我正在尝试用msp432板录制声音,我想改变其ADC的采样率,但当我看标准Energia代码AnalogRead()的示例时,有一句话说:“它需要大约100微秒(0.0001 s)。 要读取模拟输入,那么最大读取速率大约是每秒1万 次。”这是否意味着此代码已经将ADC的采样速率设置为10kHz,我无法更改它?

如果我想更改ADC的采样速率,我该怎么做?

非常感谢

Barry

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Barry,
    您可能还想尝试Energia论坛。 我不熟悉Energia,但有人告诉我,您可以将SimpleLink驱动程序与Energia一起使用。 这可能是另一个选项。

    dev.ti.com/.../

    Chris

    PS。 在标签中,您指向许多MSP430器件,但没有MSP432。 您的问题是关于MSP430还是msp432?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    它是msp432。 我会尝试一下,非常感谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Barry,

    当它提到最大analogRead()速度时,这不是真正的采样率,而只是衡量Energia能够以多快的速度读取一个ADC。 每次调用analogRead()时,Energia都会对指定的端口进行一次读取。 然后,您需要将该值移动到内存中,或以某种方式对其执行操作(例如通过UART或SPI发送),这会增加额外的延迟。 要降低采样速度,可以在下一次读取之前尝试添加delay()函数。

    -Daniel

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

    非常感谢! 因为我在这里录制声音数据,所以如果我想要更高的采样率,应该怎么办?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如果您需要比这更高的采样率,则需要使用非Energia代码。 Energia在10kHz时最大输出。

    此线程显示如何将Energia代码与C代码组合在一起,以配置ADC以获得更高的采样率(尽管它适用于不同的器件,但将Energia代码与非Energia C代码组合在一起的原则仍然适用)。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    直接转到硬件-我不知道driverlib()在Energia中是否工作,但你当然可以自己设置寄存器。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Daniel,

    如果我使用外部ADC而不是内部ADC,是否可以通过analogeread()获得更高的采样率?
    谢谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    否,因为AnalogRead()只能与内部ADC一起使用。 您需要使用SPI或ADC使用的任何协议。

    Energia专为使事情变得简单而设计。 一旦您走出"简单"的范围,您需要查看其他选项。 在30 kHz频率下采样不再简单。

    我建议你看看CCS和driverlib(),它使你可以完全控制硬件,而不需要Energia的开销。 它提供了一些示例,可让您充分了解您想去的地方。

    您还必须弄清楚如何处理所有数据。 您只有64K的RAM,它只能在30 kHz采样时保持2秒的音频。 (别无他求!)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Keith

    非常感谢您的帮助,我将使用SD卡存储数据。 我知道,如果我想要更高的采样率,Energia的事情并不那么简单,但这似乎是我目前唯一的选择,如果我选择使用CCS,在哪里可以找到有用的样本? 我在这里是新手...

    非常感谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    www.ti.com/.../mspdriverlib
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢,我来看看!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Barry,

    我们想让您真正找到SimpleLink MSP432 SDK。 有用于ADC的driverlib和TI驱动程序示例
    Driverlib:dev.ti.com/.../
    TI驱动器:
    dev.ti.com/.../