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.

[参考译文] MSP432P401R:如何从 msp432获取最快速度

Guru**** 2540470 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/567182/msp432p401r-how-to-get-the-fastest-from-msp432

器件型号:MSP432P401R

你(们)好。

我将具有 AD9834 DDS 的 msp432用于 FSK 调制器。 我需要的数据速率为564.48kbps、我在向上计数模式下使用48MHz 的 TimerA0来生成中断。 在 ISR 中、我将确定下一个需要发送的位是0还是1、然后告诉 AD9834它应该设置为哪两个频率。 MCLK 也是48MHz、因此我认为 ISR 有85个指令周期来执行相对简单的任务。 但是,我错了。

我发现在下一个中断到来之前、我只能运行非常有限的句子(大约3~5)。 我进行了以下测试:

当 MCLK 设置为48MHz、无中断、只需在 while 循环中按如下方式切换 P1.0、"P1OUT |= BIT0"等一个 c 语句需要360ns、我看到已拆分、它包含四个汇编语句。 那么、msp432实际上以大约10MHz 的频率(1/90ns)运行?

在我进一步了解之后、我发现我已将闪存等待状态配置为2、但是当 MSP432以48MHz 运行时、我只能将闪存等待状态重新配置为1。 经过此修改后 、"P1OUT |= BIT0"需要大约290ns、仍然无法达到最大48MHz、但速度肯定更快。

是否有其他建议可以从 msp432获取最快速度?

谢谢你。

P1OUT |= BIT0;

P1OUT &=~BIT0;

P1OUT |= BIT0;

P1OUT &=~BIT0;

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

    是否有可能为您的应用使用 USCI 模块?

    Dennis
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢、我将进一步研究 MSP432上的 USCI。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用用户="Jiang Boqian"]在看到更多内容后,我发现我已将闪存等待状态配置为2,但是当 msp432以48MHz 运行时,我只能将闪存等待状态重新配置为1。

    不知道432、但如果代码是从 RAM 复制并从 RAM 中执行、微控制器可以在没有任何等待状态的情况下运行。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Dennis:
    我听从您的建议、将 UCB2用于我的应用。 由于 UART 和 I2C 模式将使用停止位 ACK、而我不想使用该位、因此我使用 USCI SPI 模式。 一个潜在的问题是、要获得所需的数据速率、我需要一个可被分频的 SPI 输入时钟。 此外、我还担心使用 SPI 实现此目的的功耗。 不过、这些是另一个主题。 非常感谢!