1251489_zh-CN

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

1251489_zh-CN

1251489_zh-CN

RT1021 LPSPI DMA 四路模式

你好。有人知道如何在四路模式下使用LPSPI的DMA吗?我能明白我该怎么做。DMA 是否支持四通道模式?我这样问是因为我需要设置 LPSPI_TCR[TXMSK] 来进行接收,但是当我这样做时,模块开始发送数据,并在开始 DMA 之前自动重置 LPSPI_TCR[TXMSK]。

i.MX RT101xi.MX RT102xi.MX RT105xi.MX RT106xRe: RT1021 LPSPI DMA in Quad mode

Hello

能否分享一下您使用DMA在四路模式下读取LPSPI数据的代码?我尝试按照您的建议(用 TCR 而不是 TDR 写入,……)进行操作,但我仍然无法使用 DMA 在 Quad 模式下读取数据。我只能通过中断来实现。


先谢谢了,此致敬礼,杰里米

Re: RT1021 LPSPI DMA in Quad mode

现在我可以回答这个问题了。LPSPI 可以在四路模式下与 DMA 配合使用。需要重写 LPSPI_MasterTransferEDMA,以配置 DMA 写入 TCR 而不是 TDR。别忘了将传输大小改为 4 字节,因为命令寄存器只能使用 32 位写入。CFGR1 也应相应更改。

然而,四通道模式并没有帮助我提高传输速率。最大吞吐量保持在每秒 30 兆比特的限制。如果我使用四路模式和 30MHz SPI 时钟,传输会有明显的延迟 :(。因此,四路模式有助于降低SPI的时钟频率,但并不能提高波特率。

Re: RT1021 LPSPI DMA in Quad mode

谢谢你的回复。
确认后,4 位半双工传输适用于与 QuadSPI 存储设备连接,并且至少需要一位(发送数据)。
掩码(TCR[TXMSK] 或接收数据掩码 TCR[RXMSK])必须
也需要设置。
但是,当设置 TCR[RXMSK] 时,接收数据不会存储在接收 FIFO 中,如表 47-10 所示。LPSPI 中断和 DMA 请求,该机制无法触发 DMA 请求。

jeremyzhou_0-1616989781623.png



很抱歉之前的回复给您带来了不便。
祝你有美好的一天,
信息通信技术

-------------------------------------------------------------------------------
笔记:
- 如果此回复解答了您的问题,请点击“标记为正确答案”按钮。谢谢你!


- 我们会持续关注帖子,从最后一条回复发出后持续7周,之后的回复将被忽略。
如果您之后有相关问题,请另开新帖并引用已关闭的帖子。
-------------------------------------------------------------------------------

Re: RT1021 LPSPI DMA in Quad mode

你好, jeremyzhou。

单数据SPI接收和四数据SPI接收有很大的区别。单数据SPI接收需要写入TDR寄存器来启动传输,而四数据SPI接收需要设置TCR[TXMSK](任何写入TDR的操作都会启动传输,而不是接收)。所以我的问题是:如何在四数据模式下使用DMA接收数据?

Re: RT1021 LPSPI DMA in Quad mode

你好,
感谢您对恩智浦半导体产品的关注,并感谢您给我们提供服务的机会。
1)DMA 是否可以使用四通道模式?
——是的,而且在我看来,本质上,通过 DMA 方式进行的单数据 SPI 和四数据 SPI 传输之间没有区别。
祝你有美好的一天,
信息通信技术

-------------------------------------------------------------------------------
笔记:
- 如果此回复解答了您的问题,请点击“标记为正确答案”按钮。谢谢你!


- 我们会持续关注帖子,从最后一条回复发出后持续7周,之后的回复将被忽略。
如果您之后有相关问题,请另开新帖并引用已关闭的帖子。
-------------------------------------------------------------------------------

タグ(1)
評価なし
バージョン履歴
最終更新日:
3 週間前
更新者: