...the world's most energy friendly microcontrollers
2014-07-02 - Tiny Gecko Family - d0034_Rev1.20
202
www.silabs.com
TX buffer with the command and enable AUTOTXTEN and TXTEN. When the selected PRS input goes
high, the USART will now transmit the loaded command, and then continue clocking out while both the
PRS input is high and there is room in the RX buffer
15.3.5 PRS RX Input
The USART can be configured to receive data directly from a PRS channel by setting RXPRS in
USARTn_INPUT. The PRS channel used is selected using RXPRSSEL in USARTn_INPUT. This way,
for example, a differential RX signal can be input to the ACMP and the output routed via PRS to the
USART.
15.3.6 DMA Support
The USART has full DMA support. The DMA controller can write to the transmit buffer using the
registers USARTn_TXDATA, USARTn_TXDATAX, USARTn_TXDOUBLE and USARTn_TXDOUBLEX,
and it can read from the receive buffer using the registers USARTn_RXDATA, USARTn_RXDATAX,
USARTn_RXDOUBLE and USARTn_RXDOUBLEX. This enables single byte transfers, 9 bit data +
control/status bits, double byte and double byte + control/status transfers both to and from the USART.
A request for the DMA controller to read from the USART receive buffer can come from the following
source:
• Data available in the receive buffer.
• Data available in the receive buffer and data is for the RIGHT I2S channel. Only used in I2S mode.
A write request can come from one of the following sources:
• Transmit buffer and shift register empty. No data to send.
• Transmit buffer has room for more data.
• Transmit buffer has room for RIGHT I2S data. Only used in I2S mode.
Even though there are two sources for write requests to the DMA, only one should be used at a time,
since the requests from both sources are cleared even though only one of the requests are used.
In some cases, it may be sensible to temporarily stop DMA access to the USART when an error such
as a framing error has occurred. This is enabled by setting ERRSDMA in USARTn_CTRL.
15.3.7 Transmission Delay
By configuring TXDELAY in USARTn_CTRL, the transmitter can be forced to wait a number of bit-
periods from it is ready to transmit data, to it actually transmits the data. This delay is only applied to the
first frame transmitted after the transmitter has been idle. When transmitting frames back-to-back the
delay is not introduced between the transmitted frames.
This is useful on half duplex buses, because the receiver always returns received frames to software
during the first stop-bit. The bus may still be driven for up to 3 baud periods, depending on the current
frame format. Using the transmission delay, a transmission can be started when a frame is received,
and it is possible to make sure that the transmitter does not begin driving the output before the frame
on the bus is completely transmitted.
TXDELAY in USARTn_CTRL only applies to asynchronous transmission.
15.3.8 Interrupts
The interrupts generated by the USART are combined into two interrupt vectors. Interrupts related to
reception are assigned to one interrupt vector, and interrupts related to transmission are assigned to
the other. Separating the interrupts in this way allows different priorities to be set for transmission and
reception interrupts.
Summary of Contents for EFM32TG
Page 543: ......