31.3 Functional description
The UART supports full-duplex, asynchronous, NRZ serial communication and
comprises a baud rate generator, transmitter, and receiver block. The transmitter and
receiver operate independently, although they use the same baud rate generator. The
following describes each of the blocks of the UART.
31.3.1 Baud rate generation
A 13-bit modulus counter in the baud rate generator derive the baud rate for both the
receiver and the transmitter. The value from 1 to 8191 written to SBR[12:0] determines
the baud clock divisor for the asynchronous UART baud clock. The SBR bits are in the
UART baud rate registers, BDH and BDL. The baud rate clock drives the receiver, while
the transmitter is driven by the baud rate clock divided by the over sampling ratio.
Depending on the over sampling ratio, the receiver has an acquisition rate of 4 to 32
samples per bit time.
Rx Sampling Clock
[(OSR+1) × Baud Rate]
Baud Rate =
Modulo Divide By
(1 through 8191)
UART ASYNCH
Module Clock
UART ASYNCH Module Clock
Divide By
(OSR+1)
OSR
SBR[12:0]
Baud Rate Generator
Off If [SBR12:SBR0] =0
SBR[12:0] × (OSR+1)
Tx Baud Rate
Figure 31-27. UART baud rate generation
Baud rate generation is subject to two sources of error:
• Integer division of the module clock may not give the exact target frequency.
• Synchronization with the asynchronous UART baud clock can cause phase shift.
31.3.2 Transmitter functional description
This section describes the overall block diagram for the UART transmitter, as well as
specialized functions for sending break and idle characters.
Functional description
KL02 Sub-Family Reference Manual, Rev. 2.1, July 2013
512
Freescale Semiconductor, Inc.