stephen_young
驱动牛犊
驱动牛犊
  • 注册日期2002-08-19
  • 最后登录2008-02-17
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
阅读:1314回复:4

问题:PCI9054驱动DMA传输时,出现等待现象,请指教!

楼主#
更多 发布于:2004-09-28 18:13
PCI9054驱动DMA传输时,出现等待现象。程序失去响应,我用softice调试时发现,程序在几条汇编语句里不断循环,跳不出来,我觉得象是在等待什么。希望专家指教!
三人行必有我师!
stephen_young
驱动牛犊
驱动牛犊
  • 注册日期2002-08-19
  • 最后登录2008-02-17
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-09-28 18:18
另外,我还有个问题。如果不使用DMA,如何读取采集卡上FIFO中采集的数据?KMemoryRange对象可以访问FIFO吗?
三人行必有我师!
Tom.Cat
禁止发言
禁止发言
  • 注册日期2001-10-10
  • 最后登录2019-07-29
  • 粉丝1
  • 关注0
  • 积分-53792分
  • 威望197411点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2004-09-29 09:21
用户被禁言,该主题自动屏蔽!
stephen_young
驱动牛犊
驱动牛犊
  • 注册日期2002-08-19
  • 最后登录2008-02-17
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-09-29 10:30
    版主说得没错。
    这个板子结构简单,一个9054一个cpld一个fifo。fifo半满16k双字,就是64k字节。我是按照武安河书上的pci例子做的。结果出现了上面的问题。后来我将DMA开辟的缓冲区由原来的2048字节扩大到64k,结果问题就解决了。
   我想可能是因为原来dma的缓冲太小导致传输次数过多,时间过长,而数据采集的速度相比较而言要快些,所以dam总是无法完成传输,因此ReadFile也无法返回。
   不知道这样理解对不对,望版主指正!
三人行必有我师!
Tom.Cat
禁止发言
禁止发言
  • 注册日期2001-10-10
  • 最后登录2019-07-29
  • 粉丝1
  • 关注0
  • 积分-53792分
  • 威望197411点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
  • 社区居民
地下室#
发布于:2004-09-30 16:03
用户被禁言,该主题自动屏蔽!
游客

返回顶部