RM0390 Rev 4 817/1328
RM0390 Universal synchronous asynchronous receiver transmitter (USART)
845
25.4.5 USART receiver tolerance to clock deviation
The USART asynchronous receiver works correctly only if the total clock system deviation is
smaller than the USART receiver tolerance. The causes that contribute to the total deviation
are:
• DTRA: Deviation due to the transmitter error (also includes the deviation of the
transmitter local oscillator)
• DQUANT: Error due to the baud rate quantization of the receiver
• DREC: Deviation of the receiver local oscillator
• DTCL: Deviation due to the transmission line (generally due to the transceivers that
can introduce an asymmetry between the low-to-high transition timing and the
high-to-low transition timing)
DTRA + DQUANT + DREC + DTCL < USART receiver tolerance
The USART receiver tolerance to properly receive data is equal to the maximum tolerated
deviation and depends on the following choices:
• 10- or 11-bit character length defined by the M bit in the USART_CR1 register
• oversampling by 8 or 16 defined by the OVER8 bit in the USART_CR1 register
• use of fractional baud rate or not
• use of 1 bit or 3 bits to sample the data, depending on the value of the ONEBIT bit in
the USART_CR3 register
15 7.168 MBps NA NA NA 7 MBps 1.5 2.34
16 7.3728 MBps NA NA NA 7.636 MBps 1.375 3.57
18 9 MBps NA NA NA 9.333 MBps 1.125 3.7
20 10.5 MBps NA NA NA 10.5 MBps 1 0
1. The lower the CPU clock the lower the accuracy for a particular baud rate. The upper limit of the achievable baud rate can
be fixed with these data.
2. Only USART1 and USART6 are clocked with PCLK2. Other USARTs are clocked with PCLK1. Refer to the device
datasheets for the maximum values for PCLK1 and PCLK2.
Table 156. Error calculation for programmed baud rates at f
PCLK
= 42 MHz or f
PCLK
= 84 MHz,
oversampling by 8
(1)(2)
(continued)
Oversampling by 8 (OVER8=1)
Baud rate f
PCLK
= 42 MHz f
PCLK
= 84 MHz
S.No Desired Actual
Value
programmed
in the baud
rate register
% Error =
(Calculated -
Desired)B.Rate
/Desired B.Rate
Actual
Value
programmed
in the baud
rate register
%
Error
Table 157. USART receiver tolerance when DIV fraction is 0
M bit
OVER8 bit = 0 OVER8 bit = 1
ONEBIT=0 ONEBIT=1 ONEBIT=0 ONEBIT=1
0 3.75% 4.375% 2.50% 3.75%
1 3.41% 3.97% 2.27% 3.41%