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.

[参考译文] TMS320F28335:有关 McBSP 接口的更多信息

Guru**** 2589300 points
Other Parts Discussed in Thread: TMS320F28335, CONTROLSUITE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/666640/tms320f28335-further-information-on-mcbsp-interface

器件型号:TMS320F28335
Thread 中讨论的其他器件: controlSUITE

你好
我有一位客户希望
在设计中使用 TMS320F28335 MCU 以及 FPGA。 FPGA 需要一个串行接口(MCU 主器件、FPGA 从器件)来定期传输6个左右的16位字。  

 

查询:

 

SPI (非首选)  

  1. 我从阅读相关的 SPI 参考指南文档中了解到、虽然 MCU 具有专用的 SPI 功能、但它看起来相当基本、在可能涉及一定程度软件开销以确保数据一致性的情况下、只允许单字传输。 从 Web 下载的用户指南确实提到了16字 TX/RX FIFO、但不清楚这会减少多少开销、因为文档仍然及时提到 SCITXBUF/SCIRXBUF 的软件加载/卸载、以确保数据一致性。 似乎已将 FIFO 添加为以后的功能,但文档尚未完全对齐以消除任何模糊之处?  您能用 FIFO 来说明操作吗? 例如在发送时、SPI 接口是否会在 FIFO 和 SCITXBUF 之间自动发送字、直到 Tx FIFO 为空? 接收时、SPI 接口是否会自动将字从 SCIRXBUF 传输到 RX FIFO、直到 Rx FIFO 满?

 

McBSP (首选)

  1. 我们需要多个串行总线、因此使用两个 McBSP 通道似乎是一个更好的选择。 再次将此接口配置为 SPI 接口似乎存在限制、因为每次仅传输1个字。 在真正的 McBSP 模式中使用 McBSP 接口确实允许在一个帧中传输多个背靠背字。 理想情况下、在单次传输中 FSX 置位(使用一个相位)后、 我们希望主器件向从器件发送6个左右的16位字、同时从从从器件接收6个左右的16位字、即通过使用4根导线的 SPI 接口可实现同步双向数据流。 是否有办法使用配置为4线制接口的 McBSP 端口实现此目的? 否则、必须采用单独的 TX 和 RX 传输(6根导线)、这将不是最高效的解决方案。 您能否概述连接要求和相关寄存器设置以实现这种安排?

     

  2. 该查询与上述 SPI 函数的 McBSP FIFO 相关。 是否可以用6个左右字加载 Tx FIFO、然后以最少的软件开销自动进行传输? 完成后、从器件中的相应6个或6个左右字是否会在 MCU Rx FIFO 中提供以供检索、并且开销极小?   

期待您的帮助和回应

 

此致
Bob 熏肉

 

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

    Bob、

    你问了一个非常详细的问题,我希望能用一个非常简单的答案来回答。

    SPI 有一个 FIFO、它将发送 TXFIFO 中的内容、直到该 FIFO 为空、当级别低于设定的字数时、将产生 μ è 中断。 一旦这些字被写入 FIFO、SPI 就会管理传输、直到传输完成。 接收 FIFO 也是如此。 当所需字数可用时、可生成中断。 F28335只有一个 SPI 模块、但它可以连接到所需的多个从器件。 只需要一条额外的芯片选择线路、并且这两条线路都需要手动控制。

    McBSP 没有 FIFO、但可以连接到 DMA。 McBSP 也可被配置为一个 SPI 模式 (4线)并且也可与 DMA 一起使用。

    controlSUITE 中提供了所有这些配置的示例。

    如果 您有其他问题、请告诉我。