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.

[参考译文] TMS570LS0914:DMA MibSPI 两个接收消息长度

Guru**** 2535250 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1011808/tms570ls0914-dma-mibspi-two-receive-message-lengths

器件型号:TMS570LS0914
您好!   

 

在使用 TSM570LS0914PGE 的应用中 、我们希望 通过   DMA 实现两个 MibSPI 接口的通信。   

例如、我们希望通过 MibSPI 端口3发送消息、并通过 MibSPI 端口接收消息  5. 发送 到外围设备的命令是写入或读取命令,长度始终为6个字节。  外设用一条6字节消息响应一条写入命令、用 2条6字节消息(12字节)响应读取命令。   

为了 创建 一个 通信、从而释放 CPU、我们需要使用通道链接 、因此 在 MibSPI 5上接收到一条消息后 、下 一条消息在 MibSPI 上传输  但是 ,此时的问题是,接收到的消息并非总是相同的长度。  

 

 

如何实现不同接收数据长度之间的处理?  

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

    我可以为 MibSPI 提供有关 DMA 配置的代码吗?  MibSPI3的 DMA 是否由 MibSPI5和 MibSPI3 TXDMAEN 的 DMA RX 通道触发?

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

    在当前的开发状态下、我们还没有要显示的任何代码。

    为了有效使用 DMA、我们需要在没有 CPU 交互的情况下发送和接收多帧消息(使用 DMA 发送和接收一条消息不是问题)。

    这就是为什么我们 在寻找一个解决方案 来在没有 CPU 交互的情况下接收两种接收消息类型

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

    MibSPI3 TX DMA 传输由 MibSPI3 RX DMA 传输的完成触发、因此 TXDMAENAx (DMAxCTRL)应该被禁用。

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

    我想用"MibSPI3 RX DMA"来表示"MibSPI5 RX DMA"。

    我们的问题是、我们的接收 数据可以有2个不同的长度(6个字节或12个字节)

    那么、问题是、如果有 MibSPI5 RX 知道的方法、 它是否必须接收6个字节或12个字节

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

    您好 Andre、

    对于主器件和从器件、数据长度必须编程为相同的长度。 DMA 传输还需要在传输开始前了解元素数量和帧计数。