zhangzhen_1982
驱动牛犊
驱动牛犊
  • 注册日期2007-05-28
  • 最后登录2008-01-27
  • 粉丝0
  • 关注0
  • 积分160分
  • 威望17点
  • 贡献值0点
  • 好评度16点
  • 原创分0分
  • 专家分0分
阅读:1607回复:1

9054 dma读fifo出现的问题

楼主#
更多 发布于:2007-08-29 17:34
我用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传输。
请大虾们帮帮忙啊!
xp4105
论坛版主
论坛版主
  • 注册日期2006-04-02
  • 最后登录2014-03-29
  • 粉丝1
  • 关注0
  • 积分905分
  • 威望570点
  • 贡献值1点
  • 好评度162点
  • 原创分1分
  • 专家分0分
沙发#
发布于:2007-08-29 20:41
看到你的EMAIL了。
不知道你的工作模式是什么,我建议是用乒乓操作,把fifo分成2半,用FPGA控制逻辑,当一半写满了,就发一个中断,DMA迅速传完。然后,继续等待捕捉下一个中断。这样的效率比较高。

不知道能否帮助你。
时光如流水 抓紧时间实现自我价值
游客

返回顶部