Diamond Power Products MM-48-AT Fifo Operation, Interrupt Operation, Fifoen Fifoth Scanen

Models: MM-48-AT

1 44
Download 44 pages 15.07 Kb
Page 32
Image 32

FIFO Operation

After each A/D conversion is completed, the A/D data is stored in the FIFO. The data is inserted in LSB / MSB sequence. The FIFO holds 4096 bytes, or 2048 samples. It has several flags that indicate its state:

EF

Empty flag

1 when the FIFO is empty and 0 otherwise.

8F

1/8 full flag

1 when the FIFO has 256 or more samples, 0 otherwise

HF

Half full

1 when the FIFO has 2048 or more bytes of data (1024 or more

 

 

samples), 0 otherwise

FF

Full flag

1 when the FIFO has 4096 bytes (2048 samples), 0 otherwise

OVF

Overflow flag

1 when the FIFO is full and the board attempts to store a new A/D

 

 

sample in the FIFO. This indicates an error condition. The new A/D

 

 

data will not be stored in the FIFO and will be lost. The current

 

 

contents of the FIFO will be preserved.

If OVF is set, the only way to clear it is to reset the FIFO by writing a 1 to the FIFORST bit in register 8. Generally the data would be read out before resetting the FIFO.

Interrupt Operation

If AINTE is set, the board will generate an interrupt when the selected condition occurs, as determined by the control bits FIFOEN, FIFOTH, and SCANEN. The table below describes the timing of interrupts and the expected performance of the application software’s interrupt routine (including Diamond Systems’ Universal Driver software). Note that in all cases, A/D data is stored in and read from the FIFO, regardless of the FIFOEN setting. FIFOEN only controls whether the FIFO flags are used to drive interrupt requests.

FIFOEN

FIFOTH

SCANEN

Interrupt Operation

 

0

0

0

Interrupt occurs at the end of each individual A/D

 

 

 

conversion. Interrupt routine reads one A/D sample from

 

 

 

the board.

 

0

0

1

Interrupt occurs at the end of each A/D scan. Interrupt

 

 

 

routine reads one complete scan from the board.

 

0

1

0

Same as case 0 0 0 above. FIFOTH is ignored when

 

 

 

FIFOEN = 0.

 

0

1

1

Same as case 0 0 1 above. FIFOTH is ignored when

 

 

 

FIFOEN = 0.

 

1

0

0

Interrupt occurs when 1024 A/D conversions are

 

 

 

complete. Interrupt routine reads 1024 samples from the

 

 

 

FIFO.

 

1

0

1

Interrupt occurs when 1024 A/D conversions are

 

 

 

complete AND the current A/D scan is complete (total

 

 

 

no. of conversions may be greater than 1024). Interrupt

 

 

 

routine reads enough scans from the A/D FIFO to equal

 

 

 

or exceed 1024 samples.

 

1

1

0

Interrupt occurs when 256 A/D conversions are

 

 

 

complete. Interrupt routine reads 256 samples from the

 

 

 

FIFO.

 

1

1

1

Interrupt occurs when 256 A/D conversions are

 

 

 

complete AND the current A/D scan is complete (total

 

 

 

no. of conversions may be greater than 256). Interrupt

 

 

 

routine reads enough scans from the A/D FIFO to equal

 

 

 

or exceed 256 samples.

 

 

 

 

Diamond-MM-48-AT User Manual V1.01

Page 32

Page 32
Image 32
Diamond Power Products MM-48-AT user manual Fifo Operation, Interrupt Operation, Fifoen Fifoth Scanen, Fifoen =