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:通过 SPI RX 缓冲器进行 CLB 数据导出的问题

Guru**** 2611705 points
Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1032568/tms320f28388d-clb-data-export-through-spi-rx-buffer-problem

器件型号:TMS320F28388D
Thread 中讨论的其他器件:SysConfig

大家好、

我对 CLB_ex28_SPI_DATA_EXPORT_DMA 示例代码进行了一些修改、但它似乎不起作用。 (原始示例代码正常)

因此、我 尝试使用另一个 CLB 实例(CLB2)来执行相同的任务、但 SPIB 除外。 根据 TRM 的表9-16、我必须为 CLB2使用 SPIB。

在 SysConfig 中、我要做三件事情  

1. 创建 TILE2并从 TILE1复制配置

2.创建 myCLBForTILE2并从 myCLBForTILE1复制配置

3.将 SPI 外设 配置 从 SPIA 更改为 SPIB  (是的、这会为 CLB1禁用 SPI、但 没关系)

然后、我将  initTILE2 (myCLBForTILE2_base);和  CLB_enableCLB (myCLBForTILE2_base)添加到 clb_ex28_spi_data_export_dma.c  

我通过查看它是否进入 dmaCh6ISR()来检查它是否起作用。  

是否有人检查是否可以使用 SPIB、*** 和 SPID?

提前感谢!

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

    您好 Benjamin、

     

    感谢您使用 E2E 论坛。 我继续并重新创建了您对我自己的 CCS 项目文件所做的更改。 我不确定您是否进行了这些额外的更改,但由于您现在使用的是 SPIB,而不是 SPIA,因此请确保相应地调整 DMA 配置。 具体而言、这意味着替换第146行上的以下代码行:

        DMA_configMode(DMA_CH6_BASE, DMA_TRIGGER_SPIARX, DMA_CFG_ONESHOT_DISABLE |
                       DMA_CFG_CONTINUOUS_ENABLE | DMA_CFG_SIZE_16BIT);

    使用

        DMA_configMode(DMA_CH6_BASE, DMA_TRIGGER_SPIBRX, DMA_CFG_ONESHOT_DISABLE |
                       DMA_CFG_CONTINUOUS_ENABLE | DMA_CFG_SIZE_16BIT);

    我关注了您的所有更改以及我刚才指定的更改、该示例也相应地起作用。 如果您的仍无法正常工作,请确保您已完全复制过 CLB 逻辑块,并且已在 SysConfig 中的 CLB 下正确配置了“通过 SPI 缓冲器导出数据”。 请告诉我这是否解决了您的问题。

     

    此致、

    Peter

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

    我的坏!

    谢谢、很抱歉遇到这么愚蠢的错误...