阅读:1656回复:1
9054 dma读fifo出现的问题
我用9054实现从local端到PC端的DMA传输.PC端配置9054控制字发起DMA传输,local端是fifo.
现在系统可以DMA方式传输数据,但由于DMA速度高于fifo写入速度,所以DMA一段时间之后,fifo会读空。这时Ready#信号拉高,lhold和lholda为高,blast#为低,dma传输还没有完成,程序一直处于等待中断状态,即使fifo又写进了数据,Ready#为低了,dma仍不继续进行传输。当fifo为空时,有没有方法使9054暂时停止dma传输,当fifo有数据时9054自动接着dma传输。 请大虾们帮帮忙啊! |
|
沙发#
发布于:2007-08-29 20:41
看到你的EMAIL了。
不知道你的工作模式是什么,我建议是用乒乓操作,把fifo分成2半,用FPGA控制逻辑,当一半写满了,就发一个中断,DMA迅速传完。然后,继续等待捕捉下一个中断。这样的效率比较高。 不知道能否帮助你。 |
|
|