RM0082
LS_Fast IrDA controller
Doc ID 018672 Rev 1
577/844
When the received frame has been completely read out of the buffer, the FIrDA controller
changes back to the listening stage.
26.4 Interrupt
sources
shows a summary of the interrupts of the FIrDA controller. A brief description of
each interrupt follows after the table.
Table 494.
FIrDA controller interrupt summary
Name
Description
FD_INT
Frame detected.
This type of interrupt indicates that a frame has been detected during the Reception
State (see
).
FI_INT
Frame invalid.
When it occurs in reception state, it means that the currently received frame is
invalid. This can be due to a CRC error, the reception of an invalid flag (see
), a frame abort (see
Section 26.3.1: Synchronization
), the reception of an invalid symbol (see
Section 26.3.2: Demodulation unit
), the
reception of a too long frame or a FIFO overflow (see
), or an abort by
software. In the interrupt service routine the software should discard the bytes of the
current frame, which have already been transferred to the memory.
When it occurs in transmission state, it indicates that the current frame has not been
sent completely. This can be due to either a FIFO underflow (see
an abort by software.
Note: FD_INT must have a lower priority than FI_INT.
SD_INT
Signal detected.
This kind of interrupt indicates that a signal has been detected by the
Synchronization Unit during the Listening State (
Section 26.3.1: Synchronization
FT_INT
Frame transmitted.
This kind of interrupt occurs when a frame has been completely transmitted by the
Modulation Unit (see
Section 26.3.4: Modulation unit
BREQ_INT
Burst request.
This interrupt occurs when a transfer of a programmed burst number of words
from/to the memory is requested. This request can either be used as interrupt or
DMA requests (see
).
LBREQ_INT
Last burst request.
This interrupt indicates that a last burst transfer from/to the memory is requested.
This request can either be used as interrupt or DMA requests (see
).
SREQ_INT
Single request.
This interrupt indicates that a transfer of a single word from/to the memory is
requested. This request can either be used as interrupt or DMA requests (see
).
LSREQ_INT
Last single request.
This interrupt occurs when a last single transfer from/to the memory is requested.
This request can either be used as interrupt or DMA requests (see
).