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.

[参考译文] MSP430F5659:SPI 预分频器

Guru**** 2523140 points
Other Parts Discussed in Thread: MSP430F5659

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/894417/msp430f5659-spi-prescaler

器件型号:MSP430F5659

您好!

我将 MSP430f5659用于我的项目之一。 我需要在20MHz 时钟下使用 SPI 外设。 我选择了20M crsytal。

根据用户指南、我了解如果我将预分频器设置为0、那么

fBitClock = fBRCLK/UCBRx
如果 UCBRx = 0、fBitClock = fBRCLK

这意味着我可以使用20M 晶体和0预分频器与我的从器件通信。 我的理解是正确的。 请提供建议。

此外、MSP 是否支持 SPI 突发模式。  

提前感谢。

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

    是的。 UCBRx=0表示无预分频、并且最大输入时钟(fUSCI)为 fSYSTEM (在您的情况下为=20MHz)。 [参考数据表(SLAS700D)第5.32节]

    我不熟悉术语"SPI 突发模式"。 通过使用3引脚模式(UCMODE=0、UCSTEM=0)并自行控制/CS (作为 GPIO)、您可以在每个事务中选择尽可能多的字节。 DMA 可以帮助保持管线满。

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

    感谢您的快速回复。

    我们可以直接使用4引脚 SPI 模式(这是否存在将 CSB 引脚用作 GPIO 的任何问题)。

    我提到过的 SPI 突发模式是写入地址、然后从该地址读取增量数据。  例如、我们写入0x10地址、然后我开始连续读取0x10到0x20之间的数据。  

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

    在"4引脚"模式下、SPI 单元控制/CS、每个事务只能获得一个字节。 我建议使用3引脚模式+单独将/CS 引脚连接成 GPIO;如果需要、您可以使用标记为"STE"的引脚、只需不要为其设置 PSEL 位并使用 PxOUT 对其进行控制即可。

    您描述突发模式的方式听起来像是一个相当标准的 SPI 事务。 您只需发送一个"虚拟"字节即可接收每个后续字节。

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

    感谢您的回复。

    目前、我计划将该引脚 "P8.4/UCB1CLK/UCA1STE"用作4引脚 SPI。 我可以使用3引脚 SPI 模式并将其配置为 GPIO、然后正确使用它?

    这会是个问题。 请提供建议。

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

    是的、我建议使用3引脚+GPIO-CS。 (从器件会将其视为4引脚。) 这将允许您进行多字节事务。