zerof
驱动牛犊
驱动牛犊
  • 注册日期2001-04-24
  • 最后登录2003-02-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1296回复:1

传输速度提高的新想法

楼主#
更多 发布于:2001-10-16 15:24
还是上面的那个话题,PCI采集卡上的芯片是5920,采用
的方式是两个256KB缓存轮流工作,一块先写,满了发中
断,然后读这块缓存的时候另一块缓存接着采集;所以在
两次中断间把256KB数据传到内存中就可以了。而且这卡
只能工作在这种满了发中断程序来读取的方式下。

用MEMCPY函数的话发现速度只有8MB左右,那么可不可以用
DMA来传呢?由于硬件我懂得很少,不知道这样做是否可行。
但是至少有两个问题

1:
以前接触过8237的编程,好象地址到不了我的PCI数据缓存那
么高(e3000000H)

2:
好象是这个5920不支持DMA,因为工作方式是SLAVE的?这个
是我自己推测的,不知道是否如此。

还是请各位指教啦!!
harold
驱动牛犊
驱动牛犊
  • 注册日期2001-08-26
  • 最后登录2002-10-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-10-16 15:48
不知哪为仁兄有做过方面的工作,我在win98 中用DMA要用到虚拟DMA(VDMA)的来申请一块内存,因为DMA必须用物理地址,而且DMA的地址寄存器只有16位,加上页面寄存器也只能寻址20-24位。
但我在使用过程中老是没打开DMA(因为从VDMA的内存中拷过来的数据全部是0,奇怪!),哪位能指点一下迷津,不知用VXD做DMA有什么限制,我用physicalUnmask,老是没能传到数据,
[harold 编辑于 2001-10-16 15:51]
游客

返回顶部