![Intel IXP45X Скачать руководство пользователя страница 753](http://html1.mh-extra.com/html/intel/ixp45x/ixp45x_developers-manual_2073092753.webp)
Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
August 2006
Developer’s Manual
Order Number: 306262-004US
753
Universal Asynchronous Receiver-Transmitter (UART)—Intel
®
IXP45X and Intel
®
IXP46X
Product Line of Network Processors
14.4.1
Setting the Baud Rate
Each UART contains a programmable baud-rate generator that is capable of taking the
14.7456 MHz, input clock (clk_uart) and dividing it by any divisor ranging from 1 to
(2
16
–
1). The output frequency of the baud-rate generator is 16 times the baud rate.
So, if a 1,200 Baud rate was required, the output frequency of the baud-rate generator
would be 1,200 KHz *16 = 19,200 KHz.
Two 8-bit registers store the divisor in a 16-bit binary format: the Divisor Latch Low
Register (DLL) and the Divisor Latch High Register (DLH). The Divisor Latch Low
register makes up the lower eight bits of the 16-bit divisor and the Divisor Latch High
register makes up the upper eight bits of the 16-bit divisor.
The two Divisor Latch registers must be loaded during initialization to ensure proper
operation of the baud-rate generator. If both Divisor Latches are loaded with 0, the 16X
output clock is stopped. A Divisor value of 0 in the Divisor Latch Low Register is not
allowed.
The reset value of the divisor is hexadecimal 0x0002. The value of hexadecimal 0x0002
implies a value of hexadecimal 0x00 in the Divisor Latch High Register and a value of
hexadecimal 0x02 in the Divisor Latch Low Register. The Divisor Latch High Register
and Divisor Latch Low Register can only be written after the DLAB bit (bit 7 of the Serial
Line Control Register) is set to logic 1.
The baud rate of the UART transmit and receive data is given by:
shows some commonly used baud rates.
14.4.2
Setting Data Bits/Stop Bits/Parity
The Line Control Register (LCR) is an 8-bit register that enables the system
programmer to specify the format of the asynchronous data communications exchange.
The serial data format consists of a start bit (logic 0), five to eight data bits, an optional
Baud Rate
= 14.7456 MHz/
(16xDivisor)
Table 244.
Typical Baud-Rate Settings
Divisor
Latch High
Register
Divisor Latch
Low Register
Divisor
Baud Rate
Generator Clock
Output
Baud Rate
Hexadecimal
Decimal
0x00
0x01
0x0001
1
14.7456 MHz
921,600
0x00
0x02
0x0002
2
7.3728 MHz
460,800
0x00
0x04
0x0004
4
3.6864 MHz
230,400
0x00
0x08
0x0008
8
1.8432 MHz
115,200
0x00
0x10
0x0010
16
921.6 KHz
57,600
0x00
0x20
0x0020
32
460.8 KHz
28,800
0x00
0x30
0x0030
48
307.2 KHz
19,200
0x00
0x40
0x0040
64
230.4 KHz
14,400
0x00
0x80
0x0080
96
115.2 KHz
9,600
0x00
0xC0
0x00C0
192
76.8 KHz
4,800
0x01
0x80
0x0180
384
38.4 KHz
2,400
0x03
0x00
0x0300
768
19.2 KHz
1,200