DMA的搬运速度问题请教
2020-02-23 10:41发布
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
最近被dma
弄得头疼,使用dma
将fifo
中的数据搬运到ddr
中,搬运是可以进行的,但是速度却似乎达不到实时要求。 数据源是一个pal
的视频流信号,经过fifo
处理后,将27MHZ
的有效数据流转换为了PLB_CLK
(125MHZ
)的数据流,可以得出,这时候信号线上,无效数据时间:有效数据时间 >4
;每行的有效数据写入fifo
后,立刻产生一个中断intr
,然后利用dma
将这些数据搬到ddr
中。
结果却不尽人意,在sdk
中看到,数据只是最开始的一段是正确的,检查了很久都没发现错误原因,后来读取dma
状
态寄存器(进入中断就马上读取),发现除开第一次之外,dma
都处于正在搬运的状态,也就是说,中断之后,dma
开
始了搬运,但是在下一次中断来临之前,搬运并没有结束。这样必然导致后面的数据出错。下面是控制程序:
DMA
作为大家公认的高速传输设备,速度应该是不会这般慢的,应该是我的设计存在问题,但小弟实在是检查不出问题
所在,所以发帖请教论坛的诸位大神。希望大神能为我指出问题所在,万分感激!
一周热门 更多>