Datasheet

2017 Microchip Technology Inc. DS60001516A-page 453
SAM9G20
Figure 31-6: Character Transmit
The characters are sent by writing in the Transmit Holding Register (US_THR). The transmitter reports two status bits in the Channel Sta-
tus Register (US_CSR): TXRDY (Transmitter Ready), which indicates that US_THR is empty and TXEMPTY, which indicates that all the
characters written in US_THR have been processed. When the current character processing is completed, the last character written in
US_THR is transferred into the Shift Register of the transmitter and US_THR becomes empty, thus TXRDY rises.
Both TXRDY and TXEMPTY bits are low when the transmitter is disabled. Writing a character in US_THR while TXRDY is low has no
effect and the written character is lost.
Figure 31-7: Transmitter Status
31.6.3.2 Manchester Encoder
When the Manchester encoder is in use, characters transmitted through the USART are encoded based on biphase Manchester II format.
To enable this mode, set the MAN field in the US_MR to 1. Depending on polarity configuration, a logic level (zero or one), is transmitted
as a coded signal one-to-zero or zero-to-one. Thus, a transition always occurs at the midpoint of each bit time. It consumes more band-
width than the original NRZ signal (2x) but the receiver has more error control since the expected input must show a change at the center
of a bit cell. An example of Manchester encoded sequence is: the byte 0xB1 or 10110001 encodes to 10 01 10 10 01 01 01 10, assuming
the default polarity of the encoder. Figure 31-8 illustrates this coding scheme.
Figure 31-8: NRZ to Manchester Encoding
The Manchester encoded character can also be encapsulated by adding both a configurable preamble and a start frame delimiter pattern.
Depending on the configuration, the preamble is a training sequence, composed of a pre-defined pattern with a programmable length from
1 to 15 bit times. If the preamble length is set to 0, the preamble waveform is not generated prior to any character. The preamble pattern
is chosen among the following sequences: ALL_ONE, ALL_ZERO, ONE_ZERO or ZERO_ONE, writing the field TX_PP in the US_MAN
register, the field TX_PL is used to configure the preamble length. Figure 31-9 illustrates and defines the valid patterns. To improve flexi-
D0 D1 D2 D3 D4 D5 D6 D7
TXD
Start
Bit
Parity
Bit
Stop
Bit
Example: 8-bit, Parity Enabled One Stop
Baud Rate
Clock
D0 D1 D2 D3 D4 D5 D6 D7
TXD
Start
Bit
Parity
Bit
Stop
Bit
Baud Rate
Clock
Start
Bit
Write
US_THR
D0 D1 D2 D3 D4 D5 D6 D7
Parity
Bit
Stop
Bit
TXRDY
TXEMPTY
NRZ
encoded
data
Manchester
encoded
data
10110001
Txd