746
SAM4CP [DATASHEET]
43051E–ATPL–08/14
The characters are sent by writing in the Transmit Holding Register (US_THR). The transmitter reports two status bits in
the Channel Status 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 36-6.
Transmitter Status
36.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 bit 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 bandwidth 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 36-7
illustrates this coding scheme.
Figure 36-7.
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 predefined 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 36-8
illustrates and defines the valid patterns. To improve flexibility, the encoding
scheme can be configured using the TX_MPOL field in the US_MAN register. If the TX_MPOL field is set to zero
(default), a logic zero is encoded with a zero-to-one transition and a logic one is encoded with a one-to-zero transition. If
the TX_MPOL field is set to one, a logic one is encoded with a one-to-zero transition and a logic zero is encoded with a
zero-to-one transition.
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
D7PBit
Stop
Bit
TXRDY
TXEMPTY
NRZ
encoded
data
Manchester
encoded
data
1
0
1
1
0
0
0
1
Txd