UM11029
All information provided in this document is subject to legal disclaimers.
© NXP Semiconductors N.V. 2017. All rights reserved.
User manual
Rev. 1.0 — 16 June 2017
300 of 515
NXP Semiconductors
UM11029
Chapter 17: LPC84x USART0/1/2/3/4
17.6.9 USART Baud Rate Generator register
The Baud Rate Generator is a simple 16-bit integer divider controlled by the BRG register.
The BRG register contains the value used to divide the base clock in order to produce the
clock used for USART internal operations.
A 16-bit value allows producing standard baud rates from 300 baud and lower at the
highest frequency of the device, up to 921,600 baud from a base clock as low as 14.7456
MHz.
Typically, the baud rate clock is 16 times the actual baud rate. This overclocking allows for
centering the data sampling time within a bit cell, and for noise reduction and detection by
taking three samples of incoming data.
Details on how to select the right values for BRG can be found in
Remark:
If software needs to change the baud rate, the following sequence should be
used: 1) Make sure the USART is not currently sending or receiving data. 2) Disable the
USART by writing a 0 to the Enable bit (0 may be written to the entire registers). 3) Write
the new BRGVAL. 4) Write to the CFG register to set the Enable bit to 1.
Table 330. USART Transmitter Data Register (TXDAT, address 0x4006 401C (USART0),
0x4006 801C (USART1), 0x4006 C01C (USART2), 0x4007 001C (USART3), 0x4007
401C (USART4)) bit description
Bit
Symbol
Description
Reset
Value
8:0
TXDAT
Writing to the USART Transmit Data Register causes the data to be
transmitted as soon as the transmit shift register is available and any
conditions for transmitting data are met: CTS low (if CTSEN bit = 1),
TXDIS bit = 0.
0
31:9
-
Reserved. Only zero should be written.
NA
Table 331. USART Baud Rate Generator register (BRG, address 0x4006 4020 (USART0),
0x4006 8020 (USART1), 0x4006 8020 (USART2), 0x4007 0020 (USART3), 0x4007
4020 (USART4)) bit description
Bit
Symbol
Description
Reset
Value
15:0
BRGVAL
This value is used to divide the USART input clock to determine the
baud rate, based on the input clock from the FRG.
0 = The FRG clock is used directly by the USART function.
1 = The FRG clock is divided by 2 before use by the USART function.
2 = The FRG clock is divided by 3 before use by the USART function.
...
0xFFFF = The FRG clock is divided by 65,536 before use by the
USART function.
0
31:16 -
Reserved. Read value is undefined, only zero should be written.
NA