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.

[参考译文] TMS320F28P650DH:使用 DMA 的 SCI RX

Guru**** 2874300 points

Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1631812/tms320f28p650dh-sci-rx-with-dma

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

尊敬的专家:

我的客户需要接收到 SCI 的 26 个连续字节。 我认为必须从 FIFO 中读出字节以避免溢出。  

DMA 似乎未连接到 SCI、在这种情况下、我们如何在尽可能少的 CPU 占用下实现上述功能?  

此致、

挂起

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

    您好 Hang、

    您是正确的、SCI 没有 DMA 访问权限。 但在 F28P65x 上、UART 模块可以访问 DMA(这就是外设添加到该器件的原因)。 SCI 和 UART IP 的功能非常相似(两者都使用 UART 协议)、因此我建议他们切换到使用它。 我们在 C2000ware 中有一个示例、用于进行名为 uart_ex4_loopback_dma 的 UART+DMA 操作、位于[C2000ware install]/driverlib/f28p65x/examples/c28x/uart 文件夹中。

    为了接收 26 个连续字节、它们可以执行 2/16 的 FIFO 级别和 2 的 DMA 突发大小。 则传输大小可以是 13。 请注意、与 SCI 不同、UART 在该器件上没有奇数的 FIFO 级别、因此在这种情况下无法实现 13/16。 如果他们对此有任何疑问、请告知我。 该示例应该非常直观易懂、并进行了很好的注释、以展示如何做到这一点。  

    此致、

    Delaney