English
Language : 

SAM4L Datasheet, PDF (581/1185 Pages) ATMEL Corporation – ATSAM ARM-based Flash MCU
ATSAM4L4/L2
24.6.3.7
Receive Break
A break condition is assumed when incoming data, parity, and stop bits are zero. This corre-
sponds to a framing error, but CSR.FRAME will remain zero while the Break Received/End of
Break bit (CSR.RXBRK) is set. An interrupt request is generated if the Breadk Received/End of
Break bit in the Interrupt Mask Register is set (IMR.RXBRK). Writing a one to CR.RSTSTA will
clear CSR.RXBRK. An end of break will also set CSR.RXBRK, and is assumed when TX is high
for at least 2/16 of a bit period in asynchronous mode, or when a high level is sampled in syn-
chronous mode.
24.6.4
Baud Rate Generator
The baud rate generator provides the bit period clock named the Baud Rate Clock to both
receiver and transmitter. It is based on a 16-bit divider, which is specified in the Clock Divider
field in the Baud Rate Generator Register (BRGR.CD). A non-zero value enables the generator,
and if BRGR.CD is one, the divider is bypassed and inactive. The Clock Selection field in the
Mode Register (MR.USCLKS) selects clock source between:
• CLK_USART (internal clock, refer to Power Manager chapter for details)
• CLK_USART/DIV (a divided CLK_USART, refer to Module Configuration section)
• CLK (external clock, available on the CLK pin)
If the external clock CLK is selected, the duration of the low and high levels of the signal pro-
vided on the CLK pin must be at least 4.5 times longer than those provided by CLK_USART.
Figure 24-13. Baud Rate Generator
USCLKS
CD
CLK_USART
0
CLK_USART/DIV 1
Reserved
CLK
2
3
CD
16-bit Counter
>1
1
0
0
0
1
SYNC
USCLKS= 3
CLK
FIDI
OVER
Sampling
Divider
SYNC
0
BaudRate
Clock
1
Sampling
Clock
24.6.4.1
Baud Rate in Asynchronous Mode
If the USART is configured to operate in asynchronous mode (MR.SYNC is zero), the selected
clock is divided by the BRGR.CD value before it is provided to the receiver as a sampling clock.
Depending on the Oversampling Mode bit (MR.OVER) value, the clock is then divided by either
8 (MR.OVER=1), or 16 (MR.OVER=0). The baud rate is calculated with the following formula:
BaudRate
=
-----S----e---l--e---c---t--e---d---C-----l--o---c---k------
(8(2 – OVER)CD)
42023C–SAM–02/2013
581