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.

[参考译文] MSP430FR5994:两个 SPI 通道、具有一条时钟线

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1200519/msp430fr5994-two-spi-channels-with-one-clock-line

器件型号:MSP430FR5994

大家好、

MSP430FR5994上的 SPI 有问题。

我的 MSP430可在3引脚主控模式下与 UCB1和 UCB2搭配使用。

从器件有两条数据线、但必须使用同一个时钟来驱动。

我可以用一个时钟同步两个 SPI 模块(UCB1和 UCB2)吗?

示例:

主                              从设备

UCB1 SIMO ------------------------------------------------------- 数据输入1

UCB2 SIMO ------------------------------------------------------- 数据输入2

UCB1 CLK ---------------- |-------- 时钟

UCB2时钟------- |

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

    一种想法是(在物理上)连接两个 CLK (我假设是两个/CS)并将其中一个 UCB 配置为从机。 我没有尝试过、但似乎可以正常工作。 您可能需要(至少)在从器件 UCB 中使用 DMA。

    [编辑:您可能已经弄清楚了这个问题、但您会将从 UCB SOMI (不是 SIMO)连接到 SPI-slave MOSI。]

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

    如果您只想读取数据。 我想您可以将 UCB1配置为主器件、将 UCB2配置为从器件。  

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

    感谢您的回答。 这解决了我的问题! 我已经将 UCB1配置为主控、将 UCB2配置为受控。 当时钟线路由主控器件控制时、这两个器件同时在 SIMO (UCB1)和 SOMI (UCB2)上发送它们的数据。 但我必须先写入从器件的发送缓冲区、然后再由主器件发送! 在主器件启动时钟之前、必须写入从器件的发送缓冲区。 在本例中、我也以不同的方式配置了控制寄存器、这样它真的可以同步运行!  :)

    主控:UCCKPL=1
    从机:   UCCKPL = 1、UCCKPH = 1