阅读:1296回复:1
传输速度提高的新想法
还是上面的那个话题,PCI采集卡上的芯片是5920,采用
的方式是两个256KB缓存轮流工作,一块先写,满了发中 断,然后读这块缓存的时候另一块缓存接着采集;所以在 两次中断间把256KB数据传到内存中就可以了。而且这卡 只能工作在这种满了发中断程序来读取的方式下。 用MEMCPY函数的话发现速度只有8MB左右,那么可不可以用 DMA来传呢?由于硬件我懂得很少,不知道这样做是否可行。 但是至少有两个问题 1: 以前接触过8237的编程,好象地址到不了我的PCI数据缓存那 么高(e3000000H) 2: 好象是这个5920不支持DMA,因为工作方式是SLAVE的?这个 是我自己推测的,不知道是否如此。 还是请各位指教啦!! |
|
沙发#
发布于: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] |
|