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.

[参考译文] TMS570LS0914:如何在从模式下检查 SPI CS 是否置位为低电平

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1216801/tms570ls0914-how-can-i-check-that-spi-cs-is-asserted-low-in-slave-mode

器件型号:TMS570LS0914

尊敬的 TI 支持团队:

当 SPI 节点处于从模式时、如何监控 CS 状态?

背景信息:

我们实现了一个具有2个 SPI 节点的通信系统。 一个作为从器件运行、另一个作为主器件运行。 两个节点连接到同一个外部器件。

我们当前的目标是停止主节点上的数据传输、同时在从节点上同时接收数据。 我们不能对接收节点使用多缓冲。

此致、

Thorben

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

    尊敬的 Thorben:

    实际上、应用程序不需要 CS 即可从从器件发送数据。

    它将按以下方式工作、

    请考虑轮询模式示例传输功能。

    第一个字节将直接写入 从 SPI 器件的 DAT1寄存器中、 但在主芯片选择从器件并提供时钟之前这些数据不会传输到主器件、因此、一旦主芯片选择从器件并提供时钟主器件和从器件将以全双工模式交换数据。 一旦从器件从主器件接收到其第一个数据 、RXINTFLG 标志将在从器件侧被置位、这就是上述代码轮询第8位将被置位的原因。

    设置该位后、从器件会将从主器件接收到的第一个数据复制到缓冲区中、并再次向主器件发送另一个数据、该操作将继续进行。

    因此、我们只需要提供缓冲区起始地址、以及需要发送到该变量的数据数量。

    我在此附上一个示例从代码、请仔细查看。

    在本例中、我将从从器件向主器件发送和接收126个16位数据。

    --

    谢谢。此致、
    Jagadish。

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

    你好、Jagadish、

    我想,我的描述不够好。

    当我在从节点上接收数据时、不希望在主节点上发送数据。 为此、我需要从从节点监控 CS。

    此致、

    Thorben

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

    尊敬的 Thorben:

    我不想在从节点上接收数据时在主节点上发送数据。 为此,我需要从从节点监视 CS。

    我想,这是一个很好的例子  

    可以使用 SCSDIN 位

    实际上、 SPIPC2寄存器中的这些位将提供 SPICS 引脚的逻辑状态。

    如果 需要、我可以为您进行测试。

    --

    谢谢。此致、
    Jagadish。