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:在主模式下、从 CPU1到 SPI Tx FIFO 的 TMS320F28388 DMA 传输

Guru**** 2535150 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/929654/tms320f28388d-tms320f28388-dma-transfer-from-cpu1-to-spi-tx-fifo-in-master-mode

器件型号:TMS320F28388D
主题中讨论的其他器件:C2000WARE

您好!

我正在尝试在主模式下实现从 CPU1可访问存储器到 SPI Tx FIFO 的软件强制 DMA。 我不希望触发任何 CPU 中断、因此我没有执行 ISR 例程。 我已将 DMA 置于单次触发模式启用和连续模式禁用、并且 AM 会监视 RUNSTS 位以确定传输何时完成。 我已经设置了256 16位字传输、突发为8、传输为32。  

当我强制传输为1时、我在 SPI 接口上得到8个字。  

当我强制传输为2时、我在 SPI 接口上得到16个字。  

根据突发次数和已编程的传输次数、2以上的任何数据传输似乎会丢失数据、我可以从接口中获得17到48个字、而不是预期的256个字。  

如果感觉 DMA 和 Tx FIFO 缓冲区之间的握手设置不正确。

在 TRM 中、它特别指出我需要设置 FIFO 增强位以使 DMA 正常工作、但奇怪的是、TI 没有提供这样的命令、所以我已经编写了自己的、这允许传输= 1和2模式工作。  

我还发现,没有提供监测方面的职能,这一点很奇怪。 我们仍在使用 C2000Ware_3_01_00_00版本的工具、因为我们即将推出重要的工具。 这会影响 DMA 功能吗?

我已使用 SPI_ex4_loopback_dma.c 作为示例、该示例似乎可以正常运行、但在不同的模式下运行。  

在下面的配置中、我在 SPI 接口上得到29个字、而不是256个字。  

如果有任何帮助,我们将不胜感激。