Nxp Semiconductors UM10237 用户手册

下载
页码 792
UM10237_2
© NXP B.V. 2008. All rights reserved.
User manual
Rev. 02 — 19 December 2008 
434 of 792
NXP Semiconductors
UM10237
Chapter 16: LPC24XX Universal Asynchronous Receiver/Transmitter
16.4.10.1 Auto-baud
The UARTn auto-baud function can be used to measure the incoming baud-rate based on 
the ”AT" protocol (Hayes command). If enabled the auto-baud feature will measure the bit 
time of the receive data stream and set the divisor latch registers UnDLM and UnDLL 
accordingly.
Auto-baud is started by setting the UnACR Start bit. Auto-baud can be stopped by clearing 
the UnACR Start bit. The Start bit will clear once auto-baud has finished and reading the 
bit will return the status of auto-baud (pending/finished).
Two auto-baud measuring modes are available which can be selected by the UnACR 
Mode bit. In mode 0 the baud-rate is measured on two subsequent falling edges of the 
UARTn Rx pin (the falling edge of the start bit and the falling edge of the least significant 
bit). In mode 1 the baud-rate is measured between the falling edge and the subsequent 
rising edge of the UARTn Rx pin (the length of the start bit).
The UnACR AutoRestart bit can be used to automatically restart baud-rate measurement 
if a time-out occurs (the rate measurement counter overflows). If this bit is set the rate 
measurement will restart at the next falling edge of the UARTn Rx pin.
The auto-baud function can generate two interrupts.
The UnIIR ABTOInt interrupt will get set if the interrupt is enabled (UnIER ABToIntEn 
is set and the auto-baud rate measurement counter overflows).
The UnIIR ABEOInt interrupt will get set if the interrupt is enabled (UnIER ABEOIntEn 
is set and the auto-baud has completed successfully).
The auto-baud interrupts have to be cleared by setting the corresponding UnACR 
ABTOIntClr and ABEOIntEn bits.
Typically the fractional baud-rate generator is disabled (DIVADDVAL = 0) during 
auto-baud. However, if the fractional baud-rate generator is enabled (DIVADDVAL > 0), it 
is going to impact the measuring of UARTn Rx pin baud-rate, but the value of the UnFDR 
register is not going to be modified after rate measurement. Also, when auto-baud is used, 
any write to UnDLM and UnDLL registers should be done before UnACR register write. 
The minimum and the maximum baudrates supported by UARTn are function of pclk, 
number of data bits, stop bits and parity bits.
(1)
16.4.10.2 Auto-baud 
modes
When the software is expecting an ”AT" command, it configures the UARTn with the 
expected character format and sets the UnACR Start bit. The initial values in the divisor 
latches UnDLM and UnDLM don‘t care. Because of the ”A" or ”a" ASCII coding 
(”A" = 0x41, ”a" = 0x61), the UARTn Rx pin sensed start bit and the LSB of the expected 
character are delimited by two falling edges. When the UnACR Start bit is set, the 
auto-baud protocol will execute the following phases:
ratemin
2
P
× CLK
16
215
×
-------------------------
UART
n
baudrate
PCLK
16
2
databits
paritybits
stopbits
+
+
+
(
)
×
------------------------------------------------------------------------------------------------------------
ratemax
=
=