Next: Jumpers and Switches
Up: XdBeX Operation
Previous: Initialization
In case of interrupt-driven readout:
- Wait for an interrupt.
- Read INTRPT_CTRL_STAT_REG to determine the source of the
interrupt (more than one source at a time can be present according
to the register contents; see table 6):
- bit 12 (IRQSIG) low: NOSIGNAL interrupt:
- handle it, i.e. report it to the user,
- remove this interrupt source by:
- disabling NOSIGNAL interrupt
(set bit 0 (ENSIG) in INTRPT_CTRL_STAT_REG to 0),
- enabling NOSIGNAL interrupt again
(set bit 0 (ENSIG) in INTRPT_CTRL_STAT_REG to 1).
- bit 13 (IRQSYN) is 0: NODATA interrupt:
- handle it, i.e. report it to the user,
- remove this interrupt source by:
- disabling NODATA interrupt
(set bit 0 (ENSYN) in INTRPT_CTRL_STAT_REG to 0),
- enabling NODATA interrupt again
(set bit 0 (ENSYN) in INTRPT_CTRL_STAT_REG to 1).
- bit 14 (IRQCTL) is 0: control-char interrupt:
- read the byte counter value from COUNTER_REG,
- read this number of bytes plus one (to include the
control character itself) from the data FIFOs at
DATA_ADDRESSED_4BYTE,
DATA_ADDRESSED_2BYTE or DATA_ADDRESSED_1BYTE,
- check the control character and process the data
accordingly.
The interrupt is removed as soon as the counter FIFO
becomes empty.
- bits 12 to 14 are 1: the interrupt originated from
the data FIFO flags status:
- read the data FIFO flags status from STATUS_REG,
- read the amount of data at least present from the
data FIFOs
at DATA_ADDRESSED_4BYTE, DATA_ADDRESSED_2BYTE or
DATA_ADDRESSED_1BYTE
(e.g. if the flags say the 4 data FIFOs are
'Greater than Half Full'
then at least 1025 longwords can be read out;
see table 5).
The interrupt is removed as soon as the data FIFO flags
status becomes such that it does not generate an
interrupt level as set by an onboard jumper
(e.g. when 'almost empty' or 'empty').
Readout based on polling:
- poll counter FIFO flags in control-statusregister for counter FIFO
not empty (then proceed as described above for a control-char interrupt) or
- poll data FIFO flags in the statusregister for data FIFOs not empty
(further actions depend on what the user wants to do).
Next: Jumpers and Switches
Up: XdBeX Operation
Previous: Initialization
Henk Boterenbrood
Tue Jul 16 16:01:00 MET DST 1996