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.

[参考译文] TMS320F28379D:SPI 中的 McBSP、传输时间超过32位

Guru**** 2540720 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/622999/tms320f28379d-mcbsp-in-spi-transfer-longer-than-32-bits

器件型号:TMS320F28379D

大家好、

我有以下问题:我在 SPI 模式下使用 McBSP 外设来访问 EtherCAT 板。 (https://download.beckhoff.com/download/document/io/ethercat-development-products/ethercat_et1100_datasheet_v2i0.pdf)

为此、我需要具有超过32位的传输、使芯片选择保持活动状态。 (前几个字节是地址和命令信息、后几个字节是被读取或写入的数据)

我让 McBSP 以 SPI 模式(时钟停止等)运行、但我只能发送8/12/16/20/24/32位的单个字。 当我在一个传输中发送多于1个字时、我在时钟线上得到额外的周期。

例如:当我配置8位/2字时、我得到

-芯片选择为低电平

- 8个时钟周期

-短暂暂停

- 10个时钟周期

-芯片选择变高

当我发送更多字时、我会得到10个周期的额外突发。  

问题:在 McBSP 上、是否可以在时钟停止/SPI 模式下发送1个以上的字?

除了软件控制、在一次传输中获得超过32位的方式是否还有其他方法?

请注意、

Paul van der Hulst

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

    感谢您的联系。 这是 McBSP 的一个棘手问题。 您是否无法使用 C28x SPI?

    一种解决方案可能是使用 GPIO 来模拟芯片选择线路。 McBSP 时钟是否仍能为您的 SPI 从器件正常工作、或者两者是否都导致了问题?

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

    您好、Kris、

    如果有的话,我本来会使用 SPI,但我也有一些失望。  

    如果我要发送多个字(大于32位的消息需要该字),时钟也会导致问题

    位拆裂时钟不是一个选项。

    我找不到关于时钟停止与多字传输如何互操作的说明。 是否有希望使其正常工作(在硬件中)?

    此致、

    Paul