|
查看: 8|回复: 0

[SPI] B91 SPI DMA搬运:dma_set_spi_burst_size()和dma_set_size()有什么区别?

[复制链接]

145

主题

338

回帖

1584

积分

管理员

积分
1584
发表于 7 小时前 | 显示全部楼层 |阅读模式 来自 上海
dma_set_spi_burst_size() 这个接口的用途是什么?它会和 dma_set_size() 一样影响 SPI DMA 搬运速度吗?

回答:

1、dma_set_spi_burst_size() 设置的是 DMA 搬运数据的阈值。以 DMA 搬运 SPI FIFO 中的数据到 SRAM 为例,将 burst size 设置为 DMA_BURST_1_WORD,即当 FIFO 里有一个 word 的数据就触发 DMA 去搬运。

2、dma_set_size() 设置的是 DMA 搬运数据的总长度。

3、dma_set_spi_burst_size() 会影响 SPI DMA 的搬运速度(DMA 的数据带宽)。例如早期 B91 的 hspi 四线模式在 48MHz 时钟下出现数据间隙的问题,就是默认 DMA 搬运速度慢于 SPI 传送速度导致的。

本版积分规则

关注公众号
隐私政策|Telink forum

相关侵权、举报、投诉及建议等,请发 E-mail:forum@telink-semi.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.|沪ICP备17008231号-1 |沪公网安备31011502403548号

在本版发帖返回顶部