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.

[参考译文] TMS570LC4357:具有 DMA 的 SPI 兼容模式

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/582161/tms570lc4357-spi-compatibility-mode-with-dma

器件型号:TMS570LC4357

你(们)好。

我想将 SPI2 (而不是 Mibspi)与 DMA 一起用于从 SD 卡读取和写入突发数据、但 DMA 没有从 SPI2获取请求(已配置 SPIINT0以获取 DMA 请求)、并且也不清楚哪个 DMA 通道编号 和 DMA 请求编号 (在数据表中不清楚)应与 SPI2一起使用, 有人能告诉我可能会出现什么问题,以及如何为标准 SPI2配置 DMA 吗?

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

    Dinesh 您好!

    DMA 通道2用于 SPI2 RX、DMA 通道3用于 SPI2 TX。 (表6-41、LC4357数据表)。

    每次接收到的数据被复制到 SPIBUF 时、SPI 在 RX_DMA_REQ 线上生成一个请求、并且每当 TX 数据从 TXBUF 复制到 TX 移位寄存器时、在 TX_DMA_REQ 线上生成一个请求。  

    应将 DMA 请求使能位(DMAREQEN)置位、以将对 DMA 控制器模块的请求置为有效。 在 DMACTL 寄存器中启用 TX 和 RX DMA。  

    此致、

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 QJ、
    感谢您的回复,正如您说的在 DMACTL 寄存器中启用 TX 和 RX DMA,但 DMACTL 寄存器位于 MIBSPI 之下,那么我是否应该启用 MIBSPI2驱动程序来访问 DMACTL 寄存器? 我已启用 DMA 请求位(DMAREQEN)、但仍然没有 SPI2未生成的 DMA 请求、并且我已经完成了您所说的所有其他配置。
    谢谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好,
    请有人回答 question....it 将会非常有帮助
    谢谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Dinesh 您好!

    您应该能够利用用户代码部分写入 DMACTL 寄存器、以在 SPI 兼容模式下启用 DMA 功能。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Dinesh:

    要在 SPI 兼容模式下使用 DMA、请按如下方式配置 SPI 和 DMA:

    1.启用 DMA

    2.为用于接收数据的 DMA 通道0启用 DMA BTC 和 HBC 中断

    3.将 DMA 请求(SPI RX 和 SPI TX)分配给 DMA 通道0和 DMA 通道1

    4.配置 DMA TX 和 RX 控制包

    5.将 DMA 通道(DMA_CH0和 DMA_CH1)设置为在硬件请求(DMA_HW)时触发

    6.启用 SPI (GCR1寄存器的第24位)

    7.在 SPI INT0寄存器中启用 DMAREQ

    此致、

    6.