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.

[参考译文] TMS320F28021:SPI 和 SCI 通信同步。

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/881418/tms320f28021-spi-and-sci-communication-synchronisation

器件型号:TMS320F28021

大家好、团队、

背景:

我使用 TMS320F28021芯片通过 SPI (1Mbps)端口和另一个具有 SCI 端口的控制器(转换为115kbps 的 RS485)与某些 ASIC 进行通信。

问题:

对于 SPI 通信、情况类似于该线程中的 senario -> https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/655436

为了从 ASIC 获得答复、我发送一些虚拟数据(为 SPI 从器件生成时钟)并等待直到接收到全部数据。

问题是、这个等待时间将与 SCI 接收时间重合。

目前、我实施了以下两个选项:

  1. 在 SPI 接收过程中禁用 SCI Rx 中断。
    1. 这将导致主器件丢失相关信息、主器件应再次发送消息、从而增加总通信时间。
  2. 如果 SPI 数据被 SCI Rx 中断、则忽略该数据。
    1. 这将导致 ASIC 的大量重新配置时间。

我可以通过这两个选项来管理、但不能是理想的解决方案。 那么、是否还有其他选项可以让 SPI 外设自行处理时钟、而不是通过应用程序进行有效的断言?

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

    Anudeep、

    遗憾的是、您没有 DMA/CLA 可以将某些任务卸载到该器件上的辅助主器件。 因此、您唯一可以选择的是 SCI 和 SPI 中提供的 FIFO。 我希望您已经在相应的外设中使用 FIFO 来降低 SCI/SPI 中断的频率。 如果是、除了 SCI 和 SPI 通信之外、我们还可以做很多其他事情。

    此致、

    曼诺伊