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.

[参考译文] CCS/TMS320F28379D:通过 DMA 的 TMS320F28379D SPI

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/751317/ccs-tms320f28379d-tms320f28379d-spi-via-dma

器件型号:TMS320F28379D

工具/软件:Code Composer Studio

尊敬的支持人员:

我运行两个示例:SPI_LOOP_CPU1和 SPI_LOOP_DMA_CPU1。

在这两个示例中,我都删除了环回。 在 SPI_LOOP_DMA_CPU1中,我添加了调用 InitSpiGpio()始终发送/读取数据:

while (1)

StartDMACH6();

StartDMACH5();

在的第1个示例中、请参阅所有信号正常(1-SPISTEA、2-SPICLKA、3-SPISIMOA)

在具有 DMA 的第2个示例中、我看不到 SPISTEA 信号、并且始终看到 SPICLKA

可能是我做了一些错误吗? 我也应该看到 SPISTEA 信号吗? 我们希望通过 SPI 与 FPGA 进行通信。 我想通过 DMA 来实现它,但如果没有 SPISTEA 信号,我们就无法工作。

谢谢、Sabina

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

    如果您看一下 DMA 寄存器、它是否看起来只执行部分传输? 您说您看不到 SPICLKA "始终"-这是否意味着问题出现不一致、或者您从未在 SPICLKA 上获得信号?

    惠特尼

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

    我从不会在 SPISTEA 上获得信号

    具有 DMA:(1-SPISTEA、2-SPICLKA、3-SPISIMOA)

    无 DMAA

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

    可以帮我们解决这个问题吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    传输完所有数据后、使能线路是否最终再次变为高电平? 如果连续发送字、硬件不会使 SPISTE 行失效。 只有在两次传输之间有足够的时间时、它才会将其置为无效(在非 DMA 示例中是这样、因为它每次发送一个字)。

    如果您的从器件需要不同于我们硬件提供的芯片选择方案、则需要使用软件控制的 GPIO 将其置为有效。

    惠特尼