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

9054 dma传输暂停问题

楼主#
更多 发布于:2007-08-30 17:23
c模式下,dma突发方式读local端fifo,当fifo读空后,而dma要求传输的数据没有传完,需要暂停传输,等fifo有数据后接着传输,现方案如下:
1 ready# 信号使能,当fifo空后,ready#置高,自动插入等待状态,fifo有数据后,ready#置低,dma传输自动继续传输。
2 使能BREQi,当fifo空后,BREQi置高,申请local总线,9054就拉低lhold,放弃local总线,此时dma停止传输;当fifo有数据后,BREQi置低,9054自动重新申请local总线,dma继续传输。
3 使能BTERM#,当fifo空后,BTERM#置低,传输暂停;当fifo有数据后,BTERM#置高,dma继续传输。
大虾们说说哪种方法可行?
还有个问题,EOT使能后,当它有效就使dma传输结束,而dma数据传输没有完成,当它无效后,dma会不会自动接着传输??
我的qq 457129107  邮箱 zhangzhen.1982@stu.xjtu.edu.cn
zhangzhen_1982
驱动牛犊
驱动牛犊
  • 注册日期2007-05-28
  • 最后登录2008-01-27
  • 粉丝0
  • 关注0
  • 积分160分
  • 威望17点
  • 贡献值0点
  • 好评度16点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-08-31 16:25
这么没人气啊,自己顶一下
cauzx
驱动牛犊
驱动牛犊
  • 注册日期2006-07-08
  • 最后登录2009-10-27
  • 粉丝0
  • 关注0
  • 积分111分
  • 威望22点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-09-03 00:11
个人以为三种方法都可以。
只是DMA传输时使能BTERM#后的传输速度最快。
EOT使能后,手册是terminate the DMA transfer.当它有效就使dma传输异常结束,当它无效后,dma不会自动接着传输了。
snakeliuke
驱动牛犊
驱动牛犊
  • 注册日期2008-09-16
  • 最后登录2008-09-26
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望5点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2008-09-16 15:44
方法2肯定可以 我现在用的就是这个
gongfen
驱动牛犊
驱动牛犊
  • 注册日期2007-03-11
  • 最后登录2009-11-14
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望69点
  • 贡献值0点
  • 好评度18点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2008-10-17 09:59
我也在弄这个问题,目前的做法是方法1
不过我目前我的fifo不会空,因为写的快,所以没出现问题.
qq: 744015483交流下
VGA采集卡: http://vgaic.cn
游客

返回顶部