huangmq_xp
驱动牛犊
驱动牛犊
  • 注册日期2004-04-17
  • 最后登录2006-04-28
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2126回复:6

请教高手:9054的DMA块传输的速率问题!!!

楼主#
更多 发布于:2004-09-09 21:32
小弟做了块数据采集卡,FPGA+9054,块DMA传送,现已基本调通,只是DMA传输的速率太低,最高只有4MB/S。我看过以前的帖子,好像每次dma的块传输可达到512k。我的驱动是在DS下的,为什么每次DMA传送的块大小顶多20几k,请问DMA块传输的大小都跟那些因素有关,如何提高每次传送的块的大小,上头催的急,希望哪位高手指导一把,一点分奉上,不诚敬意
huangmq_xp
驱动牛犊
驱动牛犊
  • 注册日期2004-04-17
  • 最后登录2006-04-28
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-09-12 15:21
wangy00,感谢你的解答。我是采用burst方式的。
能否告诉我在DS下能做的DMA块传输的块最大为多少,我现在最多只能20几K,大了就会出现内存页面错误。
wangy00
驱动牛犊
驱动牛犊
  • 注册日期2001-10-30
  • 最后登录2007-03-14
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-09-11 12:29
DMA大小也可以通过设置寄存器设置,
还可以看看Windriver中的例子,有关于DMA内存申请和设置的。
[size=3][color=red]狂喜中......[/color][/size]
wangy00
驱动牛犊
驱动牛犊
  • 注册日期2001-10-30
  • 最后登录2007-03-14
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-09-11 12:27
DMA传输有两种方式No Brust和Brust,可以在寄存器里设置
Brust方式要快一些
另外,Local端的Ready#信号要特别注意,它响应得越慢,
DMA传输越慢
[size=3][color=red]狂喜中......[/color][/size]
huangmq_xp
驱动牛犊
驱动牛犊
  • 注册日期2004-04-17
  • 最后登录2006-04-28
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-09-11 09:43
非常感谢版主和wang00的解答,一点分送上!
我想请问以下wang00:你所说那三个因素,我考虑过,可惜我找不出具体问题在哪儿,
(1)9054寄存器的设置除了DMA寄存器和PCIMBR外还有别的寄存器有关马?
(2)本地端的逻辑我是按照资料中DMA的时序做的
(3)驱动是参照武安河的那本书上的
不知道有哪块遗漏的?
请教。谢谢!
wangy00
驱动牛犊
驱动牛犊
  • 注册日期2001-10-30
  • 最后登录2007-03-14
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-09-11 09:17
DMA传输的大小与板卡local端的响应逻辑和9054寄存器设置
以及驱动程序编写都有关系,仔细看资料

9054可以到133MB/s的速度
[size=3][color=red]狂喜中......[/color][/size]
Tom.Cat
禁止发言
禁止发言
  • 注册日期2001-10-10
  • 最后登录2019-07-29
  • 粉丝1
  • 关注0
  • 积分-53792分
  • 威望197411点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
  • 社区居民
6楼#
发布于:2004-09-10 10:42
用户被禁言,该主题自动屏蔽!
游客

返回顶部