NXP Semiconductors LPC24XX UM10237 User Manual

Page 435

Advertising
background image

UM10237_4

© NXP B.V. 2009. All rights reserved.

User manual

Rev. 04 — 26 August 2009

435 of 792

NXP Semiconductors

UM10237

Chapter 16: LPC24XX UART0/2/3

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.

The fractional baud-rate generator is disabled (DIVADDVAL = 0) during auto-baud. 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)

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:

1. On UnACR Start bit setting, the baud-rate measurement counter is reset and the

UARTn UnRSR is reset. The UnRSR baud rate is switch to the highest rate.

ratemin

2

P

× CLK

16

215

×

-------------------------

UART

n

baudrate

PCLK

16

2

databits

paritybits

stopbits

+

+

+

(

)

×

------------------------------------------------------------------------------------------------------------

ratemax

=

=

Advertising