
M0A21/M0A23 Series
May 06, 2022
Page
445
of 746
Rev 1.02
M0
A21
/M
0
A
2
3
SE
RIES
TEC
H
NICAL
RE
FEREN
C
E
M
ANUAL
6.11.5.12 UART Single-wire Half Duplex
The UART controller provides single-wire half duplex function in UART function mode (Setting
UART_FUNCSEL[2:0] to
‘100’ to enable the UART Single-wire function). The single-wire bus keeps at
RX state during the single-wire bus is idle. By writing data to TX buffer DAT (UART_DAT[7:0]), the single
wire transfers the bus state to TX state immediately. After end of trasmition, the single wire transfer bus
type from TX state to RX state.
To reduce the bus conflict problem, the UART controller supports flow control and bit error detection.
The nRTS is inactivated during the bus keeping in TX state. The default state of the UART is RX mode,
and the UART only changes to TX mode to send data after the nCTS is inactivated when ATOCTSEN
(UART_INTEN[13]) is enabled. Under the TX state, the UART controller will monitor bus state. If the
bus state is not equal to the UART controller TX state, the SWBEIF (UART_INTSTS[16]) will be set.
Note1:
Before writing data to TX buffer, the bus state should be checked in idle state by RXIDLE
(UART_FIFOSTS[29]). And the bus confliction may cause RX receive broken data.
Note2:
Single-wire does not support auto-flow control. Because the nRTS is actived automatic during
TX transmitted.
6.11.5.13 PDMA Transfer Function
The UART controller supports PDMA transfer function.
By configuring PDMA parameter and set UART_DAT as the PDMA destination address. When
TXPDMAEN (UART_INTEN[14]) is set to 1, the controller will issue request to PDMA controller to start
the PDMA transmission process automatically.
By configuring PDMA parameter and set UART_DAT as the PDMA source address. When RXPDMAEN
(UART_INTEN[15]) is set to 1, the controller will start the PDMA reception process. UART controller will
issue request to PDMA controller automatically when there is data in the RX FIFO buffer.
Note:
If STOPn (PDMA_STOP[n]) is set to stop UART RXPDMA task and the UART receive is not
finished, the UART controller will complete the transfer and store the current receive data in receive
buffer. Reading RXEMPTY (UART_FIFOSTS[14]) will check whether there is valid data in receive buffer
or not.