Hi,
PCLK must be a free-running clock. This means that if using an internal PCLK, the PCLK signal starts before the actual transfer begins, and may last beyond the end of the data transfer.
You are using an external clock. This means that if you want to transfer N samples, you cannot just give the PCLK line N pulses. PCLK must be running for a few cycles before and after the data transfer. Unfortunately, this makes it very difficult to use the PCLK to transfer a precise number of points. We have observed that the PCI-DIO-32HS board needs about 4 clock periods before and about 3 clock periods after the transfer. However, these numbers are not true constants and may vary from one transfer to the next.
A better approach would be to externally de-assert t
he REQ line when you no longer wish to transfer data.
Hope that helps
Sacha Emery
National Instruments (UK)
// it takes almost no time to rate an answer