TCP460 User Manual Issue 1.1
Page 20 of 32
6 Programming Hints
6.1 UART Baud Rate Programming
Each of the 16 UART channels of the TCP460 provides a programmable Baud Rate Generator. The
clock of the XR17D158 UART can be divided by any divisor from 1 to 2
16
– 1. The divisor can be
programmed by the UART channel DLM (Divisor MSB) and DLL (Divisor LSB) registers. After a reset
bit 7 of the UART channels MCR register defaults to ‘0’ and the divisor value is 0xFFFF.
The basic formula of baud rate programming is:
Baud Rate =
[ ]
(
)
7
3
1
16
2368
.
44
MCR
Divisor
MHz
⋅
+
⋅
⋅
Examples for standard baud rates are given in following chart:
Baud Rate
MCR[7] = 0
Baud Rate
MCR[7] = 1
Divisor
DLM
Value
DLL
Value
400 100
0x1B00
0x1B
0x00
600 150
0x1200
0x12
0x00
1200 300 0x0900
0x09 0x00
2400 600 0x0480
0x04 0x80
4800 1200 0x0240
0x02 0x40
9600 2400 0x0120
0x01 0x20
19.2k 4800 0x0090
0x00 0x90
38.4k 9600 0x0048
0x00 0x48
57.6k 14.4k 0x0030 0x00 0x30
115.2k 28.8k 0x0018 0x00 0x18
230.4k 57.6k 0x000C 0x00 0x0C
460.8k 115.2k 0x0006 0x00 0x06
921.6k 230.4k 0x0003 0x00 0x03
1.3824M 345.6k 0x0002 0x00 0x02
2.7648M
691.2k 0x0001 0x00 0x01
Figure 6-1 : UART Baud Rate Programming
To calculate a divisor value for a given baud rate, use following formula:
Divisor =
[ ]
(
)
7
3
1
16
2368
.
44
MCR
Rate
Baud
MHz
⋅
+
⋅
⋅
The sampling rate for a UART channel can be set to 8x (normal operation is 16x) in the 8XMODE
register. Transmit and receive data rates will double by selecting 8x sample rate.
The maximum achievable baud rate is 5.5296 Mbps (Divisor = 0x0001 & 8x sampling rate).