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:两个 SPI 连接

Guru**** 2524550 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/566787/msp432p401r-two-spi-connections

器件型号:MSP432P401R

大家好、我想为项目使用"MSP432P401R LaunchPad"。  MSP432P401R LaunchPad 能否与两个 SPI 从器件交换数据?

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

    你好,黄!

    由于 SPI 是一条总线、因此您可以将任意数量的器件实际连接到单个 USCI 模块。 每个从器件通常都有自己的芯片选择、因此只要您可以为每个器件提供一个、它们都可以共享相同的 MISO、MOSI 和 CLK 线路。 虽然从器件数量的增加会要求信号具有更高的驱动强度、但我怀疑您是否打算使用几十个从器件、对吧?

    此外、MSP432P401R 具有八个独立的 USCI 模块、它们均可执行 SPI、因此您可以连接八个甚至不需要共享模块的不同从器件。 但 LaunchPad 可能没有全部路由到接头-请仔细检查电路板的引脚排列。

    Dennis

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

    您好!

    如 Dennis 所述、您可以将来自单个 MSP432P401R 器件的多个 SPI 从器件作为主器件运行。  然后、每个从器件都需要自己的 CS、片选引脚、该引脚来自 任何可用 的 GPIO。

    作为您问题的一般回答、是的、它具有此功能。  如果您对如何实施有其他疑问、请随时咨询。

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

    Haug、

    这是否回答了您的问题并让您入门?  如果您需要更多有关 SPI 入门的帮助、Resource Explorer (可通过 dev.ti.com 或 CCS 的"View"选项卡进行访问)是一个很好的起点。  由于我最近没有听到您的声音、我将很快关闭此主题、但如果您需要重新打开并提出有关如何使此 SPI 连接正常工作的更多问题、请随时重新打开。

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

    我正在使用 LaunchPad 进行测试。  根据引脚映射、似乎有三个 SPI CS 可用。  是否有有关如何对 LaunchPad 进行编程以激活 SPI 的示例代码?  谢谢你。

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

    是的、 Resource Explorer 中的 www.dev.ti.com 提供了一些示例。  MSP432示例可在 software->SIMPLELINK MSP432 SDK ->示例下找到。  这里 有一 个 来自该位置 的示例、它使用 MSP432作为使用单个 CS 的 SPI 主设备。  

    CCSv7的"视图"选项卡下也提供了该资源浏览器。

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

    感谢您提供了非常有用的链接。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可以使用任何 GPIO 引脚进行从器件选择。 根本不需要使用 STE。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

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

    您能否重新表述此问题?  我不确定我是否理解这个问题。

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

    我有一个后续问题。 我有两个从器件、我想连接到 MSP432上的单个 SPI eUSCI 模块。 一个器件使用 CPOL:0 CPHA:1。 另一个使用 CPOL:1 CPHA:1、CPOL:0或 CPHA:0。 我可以这么做吗?

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

    如何控制 SPI 时钟速率?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    有用于设置分频器的 BR0和 BR1。 BR0只是整数值、BR1将整数值乘以256。 这两个值都构成了分频器。 现在、它取决于模块的时钟源。 示例:时钟源为8MHz 的 SMCLK、您将 BR1设置为0、将 BR0设置为4。 这将导致(8MHz/((0 x 256)+ 4))= 2MHz。 如您所见、与输入时钟速度相比、产生的时钟速度始终相等或更低。

    我希望这也适用于 MSP432 -现在不知道、因为我目前没有任何文档。 必须稍后检查。 但它将非常类似。

    Dennis
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Luke、在启用每个从器件之前、每次在器件之间切换时、您需要更改模块的控制寄存器(CTLW0)设置以反映所需的 CPOL/CHA 设置。 通常、这些设置在 main 的开头仅配置一次;每次在器件之间切换时、您需要更改这些参数。 这有道理吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的帮助、Dennis。  是的、Dennis 认为 BRW 寄存器(拆分为 br0和 BR1字节)是分频器值是对的。   有一个 BRW 宏定义 、因此不需要拆分为2个单独的值 BR1/br0。  UCSSEL 设置源时钟、然后位速率是源(BRCLK)除以 BRW 字。  数据表的第23.3.6节对此进行了说明

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、这就让 John 明白了。 抱歉、正切线。 我为 SPI 器件构造参数并在 main()中启动它们,如所提供的示例中所示。 我担心的一个特殊问题是、我有一个高优先级的器件、一个 ADC、它持续运行并与其他器件同步。 ADC 的中断是比较器、在该中断范围内、主机与从机 ADC 交换数据。 避免失去 ADC 同步的最佳解决方案是使用另一个中断、在该中断范围内、将模块短暂更改为我所需的 CPOL/CHA、并将命令发送到另一个器件(仅需要命令且没有有用返回字节的 PGA)吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Luke、

    我不确定这是否是最佳方法;我确信这取决于您的特定系统。  似乎需要了解很多变量、是否会足够快地更改 SPI 的寄存器、以便以合理的方式捕获您正在为系统寻找的数据。

    一些想法。

    如果14位分辨率足够、您可以考虑使用内置 ADC 外设。 (我猜您已经考虑过这一点、需要更多解决方案?)

    2.您可以测试此处提到的方法,查看您的结果,并通过测试确定它是否适用于您的应用程序。

    我的建议:在 MSP432中使用附加的 SPI 外设。  每个配置一个。  有8个可用(eUSCI_A 上4个、eUSCI_B 上4个)。  如果需要、端口映射可增加灵活性。  如果系统中只有2个从器件、则每个 SPI 模块可专用于单个器件、无需在4引脚模式下运行、因为您不需要 CS。  现在您有 CLK、MISO、MOSI、CS1、CS2 (5引脚)。  这样、您只需要 CLK1、MISO1、MOSI1、CLK2、MISO2 (5引脚)。  您说过 PGA 没有 MOSI2、因此总引脚数不受影响。

    请告诉我您的想法、如果这似乎是适合您的途径。  谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    先生。 Morrison、
    您的建议是一流的。 相同的引脚数、两个 SPI 外设。 我感谢对我与原始问题相切的答案。 您是真正的专业人士!
    谢谢!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我们是否回答了您的所有问题?  我认为我在电子邮件中看到了另一个问题(关于转换到更高的速率)、但看起来它已经从论坛中删除了吗?  您还有其他问题吗?