TI中文支持网
TI专业的中文技术问题搜集分享网站

AM3358芯片从dma启动到传输完整中断所需的时间能缩短吗?

硬件:beaglebone black板

软件:3.8.13内核

使用的是gpmc的dma传输:

从edma_start()调用之前开始测量,通过内核函数读取当前时间值T1;到传输中断函数执行完毕后,通过内核函数读取当前时间值T2

发现两者平均差值在35us左右。

这个时间能够通过什么方式缩短呢?

感谢!

Jian Zhou:

可以尝试下优化edma的传输方式

lei jiang:

回复 Jian Zhou:

能具体谈下么?是指link、chain这些方式么?

我的理解是,这些只能改善在dma启动后,数据连续传输的速率。现在是需要随机启动dma,但是dma之间的传输间隔能尽可能的小。我现在都到30多us了

lei jiang:

回复 lei jiang:

大家有遇到类似问题么?

Steven Liu1:

回复 lei jiang:

DMA的配置是比较灵活的,触发的方式也比较多样,改变这类的配置确实是可以提高数据连续传输的效率.但是根据你的描述,你说的到DMA之间的传输间隔能尽可能小,这个触发间隔应该是由你的设置决定的,个人见解,能优化这种触发模式才是关键.配置方面的调整,软件配置的话可能就是优先级方面能作些调整,其他的做不了太多了.

lei jiang:

回复 Steven Liu1:

感谢您的回复。

目前关键问题是,从dma开始传输到dma传输完成中断,这之间的时间到了40-50us。不知道这个时间是内核上下文本身切换需要的时间,还是其他因素导致这个时间有这么长?

赞(0)
未经允许不得转载:TI中文支持网 » AM3358芯片从dma启动到传输完整中断所需的时间能缩短吗?
分享到: 更多 (0)