It is possible to read A/D converted data without polling. The A/D conversion time will not exceed 8.5μs on PCI-9111 card. Hence, after software trigger, the software can wait for a t least 8.5 μs then read the A/D register without polling.
The data polling transferring is very suitable for the application need to process AD data in real time. Especially when combining with the timer interrupt generation, the timer interrupt service routine can use the data polling method to get multi -channel A/D data in real time and under fixed data sampling rate.
FIFO Half-Full Polling
The FIFO half-full polling mode is the most powerful AD data transfer mode. The 1 K words FIFO can store up to 10.24 ms analog data under 100 KHz sampling rate (10.024ms = 1024/100 KHz). Theoretically, the software can poll the FIFO every 10 ms without taking care how to trigger A/D or transfer A/D data.
ADLINK recommend user to check your system to find out the user software‘s priority in the special application. If the application software is at the highest priority, to poll the FIFO every 10 ms is suitable. However, the user‘s program must check the FIFO is full or empty every time reading data.
To avoid this problem, the half-full polling method is used. If the A/D trigger rate is 100KHz, the FIFO will be half-full (512 words) in 5.12 ms. If the user‘s software checks the FIFO half full signal every 5 ms. When the FIFO is not half-full, the software does not read data, because it is difficult to know how much A/D data is stored in the FIFO and user must check the FIFO empty bit every time reading data. When the FIFO is full, the AD FIFO is overrun. This means the sampling rate is higher than users expect or the polling rate is too slow, it is also possible due to your system occupy the CPU resource thus reducing the polling rate. When the FIFO is half-full and not full, the software can read one “block” (512 words) A/D data without check the FIFO status. This method is very convenient to read A/D in size of a “block” and it is benefit to software programming.
Usually, the timer trigger is used under this mode, therefore the sampling rate is fixed. The method also utilizes the minimum CPU resources because it is not necessary to be highest priority. The other benefit is this method will not use hardware interrupt resource. Therefore, the interrupt is reserved for system clock or emergency external interrupt request. The FIFO half-full polling method is the most powerful A/D data transfer mode.