Double Buffer Mode Principle
•
53
The PCI-7200 double buffer mode functions were designed according to the
principle described above. If you use _7200_DblBufferMode() to enable
double buffer mode, the following _7200_DI_DMA_Start() will perform
double-buffered DMA DI. You can call _7200_CheckHalfReady() to check if
data in the circular buffer is half-full and ready for copying to the transfer buffer.
Then you can call _7200_DblBufferTransfer() to copy data from the ready half
buffer to the transfer buffer.
In Win-95 version, W_7200_Alloc_DBDMA_Mem() is needed to allocates a
contiguous DMA memory for the circular buffer. The buf_size argument of
W_7200_Alloc_DBDMA_Mem() is the half size of circular buffer in byte, that is,
the size of each half buffer in byte. The DMA memory is referenced by the
return parameter handle. This memory is system memory, users are not
allowed to access it directly.