UM10850
All information provided in this document is subject to legal disclaimers.
© NXP B.V. 2016. All rights reserved.
User manual
Rev. 2.4 — 13 September 2016
275 of 464
NXP Semiconductors
UM10850
Chapter 21: LPC5410x USARTs (USART0/1/2/3)
21.7 Functional description
21.7.1 Clocking and baud rates
In order to use the USART, clocking details must be defined such as setting up the BRG,
and typically also setting up the FRG. See
21.7.1.1 Fractional Rate Generator (FRG)
The Fractional Rate Generator can be used to obtain more precise baud rates when the
peripheral clock is not a good multiple of standard (or otherwise desirable) baud rates.
The FRG is typically set up to produce an integer multiple of the highest required baud
rate, or a very close approximation. The BRG is then used to obtain the actual baud rate
needed.
The FRG register controls the USART Fractional Rate Generator, which provides the
base clock for the USART. The Fractional Rate Generator creates a lower rate output
clock by suppressing selected input clocks. When not needed, the value of 0 can be set
for the FRG, which will then not divide the input clock.
The FRG output clock is defined as the input clock divided by 1 + (MULT / 256), where
MULT is in the range of 1 to 255. This allows producing an output clock that ranges from
the input clock divided by 1+1/256 to 1+255/256 (just more than 1 to just less than 2). Any
further division can be done specific to each USART block by the integer BRG divider
contained in each USART.
The base clock produced by the FRG cannot be perfectly symmetrical, so the FRG
distributes the output clocks as evenly as is practical. Since the USART normally uses 16x
overclocking, the jitter in the fractional rate clock in these cases tends to disappear in the
ultimate USART output.
For setting up the fractional divider use the following registers:
For details see
Section 21.3.1 “Configure the USART clock and baud rate”
21.7.1.2 Baud Rate Generator (BRG)
The Baud Rate Generator (see
) is used to divide the base clock to produce
a rate 16 times the desired baud rate. Typically, standard baud rates can be generated by
integer divides of higher baud rates.
21.7.1.3 Baud rate calculations
Base clock rates are 16x for asynchronous mode and 1x for synchronous mode.
21.7.1.4 32 kHz mode
In order to use a 32 kHz clock to operate a USART at any reasonable speed, a number of
adaptations need to be made. First, 16x overclocking has to be abandoned. Otherwise,
the maximum data rate would be very low. For the same reason, multiple samples of each