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.

[参考译文] MSP430FR2676:SPI 主器件最大 feUSCI 数据表规格

Guru**** 2538950 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1054761/msp430fr2676-spi-master-maximum-feusci-datasheet-specification

器件型号:MSP430FR2676

MSPFR2676的数据表显示、SPI 主控模式的最大"eUSCI 输入时钟频率"、feUSCI 为8MHz。 这是否意味着 SPI 主模式的最大 SMCLK 频率为8MHz、或者这是生成的位时钟的最大频率? 对于这些器件、指定的最大 SMCLK 为16MHz、因此如果该模块在 SPI 主控模式下只能在高达8MHz 的最大 SMCLK 频率下运行、这将是奇怪的。 在 UART 模式等其他模式下、同一模块的 feUSCI 最大值为16MHz。 大多数其他 FRxxx 器件在 SPI 主控模式下将 feUSCI 指定为16MHz。

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

    您好、Nuno、

    输入时钟频率不应与其他器件的工作频率混淆。 SPI 设置为8MHz 的原因是硬件限制、因为该时钟是系统的直接 SPI 时钟。 对于 I2C 和 UART,它们实际上有2个不同的频率,  它们在 MCU 侧运行模块所用的时钟输入,然后是用于与数据交互的时钟(I2C 的 SCL 时钟和 UART 的 BitClock)。 对于  这两种情况、具有 SPI 的利基使用1个时钟。  

    您是否只是想知道它们有何不同、或者您是否希望最大程度地提高 SPI 的数据吞吐量? 如果您希望最大程度地提高吞吐量、还需要考虑其他一些注意事项、例如如何与数据和所使用的外设进行交互。  

    此致、

    Luke

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

    感谢 Luke 的回答。 我想知道什么是 feUSCI? 在深入研究这一点之后、我发现位时钟发生器的时钟源 BRCLK 可以从外部获得(UCSSELx = 1)。 我认为 feUSCI 是外部时钟的频率、这是最大外部时钟频率的规格。 我想确认这一点。 我不打算使用外部时钟、但数据表中的任何位置都没有定义 feUSCI 是什么。 我想以16MHz 的频率运行 SMCLK、并且 SPI 位时钟尽可能高。

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

    只是为了澄清我想要知道的内容:

    • 当 UCSSELx = 1时、feUSCI 是与 SMCLK 相同的时钟还是外部时钟源?
    • 如果我在主 SPI 模式下使用 USCI 模块、能否以16MHz 运行 SMCLK?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    feUSCI 是 eUSCI 的频率、从数据表中可以看到、当 UCSSEL 为1时、它将使用 ACLK。 (请参阅下图)、了解您希望 UCSSEL = 0和 SMCLK UCSSEL = 2或3的外部时钟

    如果您希望 SMCLK 驱动 SPI、则应在8MHz 时将其最大值。 您仍然可以在16MHz 下运行 MCLK 或使用 ACLK 运行 SPI。

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

    UCSSEL 是 BRCLK 时钟多路复用器选择器、而不是始终为 SMCLK 的模块时钟。 从用户手册中:

    对于 UCSSEL 00和01、器件数据表似乎具有不同的时钟、但这并不重要。

    如果 UCSSEL 像您所说的那样选择了 feUSCI、则 feUSCI 是 BRCLK 的频率、而不是模块时钟。

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

    ACLK 和 SMCLK 是控制外设的时钟、MCLK 是整个 MCU 的主 CPU 时钟。 对于这个特定的 SPI 模块、您可以在多路复用器上的4个输入之间选择时钟(不适用、器件特定[ACLK 针对这个器件]、SMCLK、和 SMCLK)。 当 UCSSEL = 1时、它将为 BRCLK 馈送 ACLK。 因此、它并不总是 SMCLK、也可以是 ACLK。

    UCSSEL 为模块选择时钟源

    正如我最初说过的、模块时钟在这里是相同的、所以 BRCLK = eUSCI 的频率。 您可以使用该预分频器/分频器来调整结束位时钟、但由于硬件限制、初始时钟输入的最大频率为8MHz。

    下面进一步说明了 BRCLK 进入位时钟的情况。

    我希望这有助于澄清

    此致、

    Luke