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.

[参考译文] TMS320F28388D:如何配置 TMS320f28388d 以通过两个 SPI 通道从 ADS8588H 进行检索

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1364163/tms320f28388d-how-to-configure-tms320f28388d-to-retrieve-from-ads8588h-over-two-spi-channels

器件型号:TMS320F28388D

我尝试在三线模式下使用 f28388d 通过两个 SPI 通道触发和检索 ADC 数据。

设置:

SPI-C 主器件-按预期工作。 SCLK 使 ADC 在 DOUTA 上发回数据。

SPI-D 从器件:

  • 配置与主器件相同、但为从器件设置除外
  • 主器件 SCLK 连接到从器件和 ADC。
  • 从 Rx 连接到 ADC DOUTB。
  • 主器件~CS (~SPISTE)被连接至从器件~SPISTE。

数据从 ADC 发送到 f28388d 上的 SPI-D、DSP 不在 Rx FIFO 中接收数据。

我缺少什么?  这是否有可能?

有问题/想法?

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

    尊敬的 Tim:

    您能否确认数据是否正在传输到 RX 缓冲区? SPIDAT 发生了什么情况?

    由于 SPI 接收和发送由同一双向 SPI 通道进行、应用软件需要负责执行虚拟/实际读取、以清除 SPI 数据寄存器中接收到的额外数据。 换言之、SPI 必须在全双工通信中运行。

    在运行期间还需要如 TRM 第 37.3.10 SPI 3线模式说明 和 37.4.5 SPI 3线模式代码示例中所述配置 TALK 位

    此致、

    艾什瓦里亚

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

    Aishwarya,

    感谢您的答复。   

    我不需要从 f28388d 向 ADC 发送任何命令、因此设置了 SPI 主器件(Talk = 0)。  主~仅提供 Δ V CS 和 SPICLK。 根据 SPRUII0E - 2019年5月- 2023年9月修订的图37-9 (主器件)和图37-10 (从器件)、ADC DOUTA 通道连接到主器件。  第二个 SPI 端口(从器件)配置了(与主器件相似)、但以下几点除外。

    • ADC DOUTB 已连接
    • 配置为从机
    • CLKPolarity 从主站反转(此设置解决了我的问题)