
UART
S3C3410X RISC MICROPROCESSOR
9-4
Interrupt / DMA Request Generation
The UART of S3C3410X has eight status signals: overrun error, parity error, frame error, break, receive FIFO
ready, receiver time out, transmit FIFO empty and transmitter empty, which are specified in the corresponding
UART status register(USTAT).
The overrun error, parity error, frame error and break condition are referred to as the receive status, each of
which can cause the receive status interrupt request if the receive status interrupt enable bit is set to one in the
control register(UCON). When a receive status interrupt request is detected, users can know the interrupt source
by reading the content of UCON register.
When the receiver transfers the data in the receive shifter to the receive FIFO, there will be the activation of the
receive FIFO ready status signal, which will cause the receive interrupt if the receive mode in control register is
selected as the interrupt mode.
When the transmitter transfers the data in the transmit FIFO to transmit shifter, there will be the activation of the
transmit FIFO empty status signal, which will cause the transmit interrupt if the transmit mode in control register
is selected as the interrupt mode.
The receive FIFO ready and transmit FIFO empty status signals can also be connected to generate the DMA
request signals if the receive/transmit mode is selected as the DMA mode.
Interrupt generation relating with FIFO
Type
FIFO Mode
Non-FIFO Mode
Rx Interrupt
When UART receive one frame data, it
should move the data into FIFO. After
loading the data into FIFO, it should
determine whether an interrupt should be
generated by looking the FIFO trigger level,
or not.
When UART receives one frame data
successfully, it will generate an interrupt.
Tx Interrupt
When UART transmit one frame data, it
should extract the data from FIFO. After
extracting the data from FIFO, it should
determine whether an interrupt should be
generated by looking the FIFO trigger level,
or not.
When UART transmits one frame data
successfully, it will generate an interrupt.
Error Interrupt
When UART detects the frame error, parity
error and break condition, it does not
generate the interrupt immediately. The
UART will move the data into receive FIFO
and it will generate the interrupt when the
data move to the top of receive FIFO.
However, an overrun error as well as receive
time-out should generate an interrupt
immediately.
All erroneous condition should generate an
error interrupt immediately. However, if
several interrupt happen simultaneously, the
interrupt routine should discriminate the
interrupt source by looking the content of
UCON register.