Product Specs

Table Of Contents
50 UART Universal asynchronous receiver/
transmitter
Page
534
The RTS signal will first be activated again when the FIFO has been emptied, that is, when all bytes in the
FIFO have been read by the CPU, see Figure 162: UART reception on page 534.
The RTS signal will also be deactivated when the receiver is stopped through the STOPRX task as illustrated
in Figure 162: UART reception on page 534. The UART is able to receive four to five additional bytes if
they are sent in succession immediately after the RTS signal has been deactivated. This is possible because
the UART is, even after the STOPRX task is triggered, able to receive bytes for an extended period of time
dependent on the configured baud rate. The UART will generate a receiver timeout event (RXTO) when this
period has elapsed.
To prevent loss of incoming data the RXD register must only be read one time following every RXDRDY
event.
To secure that the CPU can detect all incoming RXDRDY events through the RXDRDY event register, the
RXDRDY event register must be cleared before the RXD register is read. The reason for this is that the
UART is allowed to write a new byte to the RXD register, and therefore can also generate a new event,
immediately after the RXD register is read (emptied) by the CPU.
Figure 162: UART reception
As indicated in occurrence 2 in the figure, the RXDRDY event associated with byte B is generated first after
byte A has been extracted from RXD.
50.6 Suspending the UART
The UART can be suspended by triggering the SUSPEND task.
SUSPEND will affect both the UART receiver and the UART transmitter, i.e. the transmitter will stop
transmitting and the receiver will stop receiving. UART transmission and reception can be resumed, after
being suspended, by triggering STARTTX and STARTRX respectively.
Following a SUSPEND task, an ongoing TXD byte transmission will be completed before the UART is
suspended.
When the SUSPEND task is triggered, the UART receiver will behave in the same way as it does when the
STOPRX task is triggered.
50.7 Error conditions
An ERROR event, in the form of a framing error, will be generated if a valid stop bit is not detected in a
frame. Another ERROR event, in the form of a break condition, will be generated if the RXD line is held
active low for longer than the length of a data frame. Effectively, a framing error is always generated before a
break condition occurs.
A
B
C
F
M-2 M-1 M
1
2 3 4 5 6 7
5
6 7
Lifeline
RXD
RTS
STARTRX
RXDRDY
A = RXD
B = RXD
C = RXD
D = RXD
E = RXD
F = RXD
RXDRDY
RXDRDY
RXDRDY
RXDRDY
RXDRDY
RXDRDY
M-2 = RXD
RXDRDY
M-1 = RXD
STOPRX
RXDRDY
M = RXD
RXTO