Other Parts Discussed in Thread: C2000WARE
器件型号: TMS320F28P650DH
主题: C2000WARE 中讨论的其他器件
尊敬的专家:
我的客户需要接收到 SCI 的 26 个连续字节。 我认为必须从 FIFO 中读出字节以避免溢出。
DMA 似乎未连接到 SCI、在这种情况下、我们如何在尽可能少的 CPU 占用下实现上述功能?
此致、
挂起
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.
Other Parts Discussed in Thread: C2000WARE
器件型号: 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