4 auto-baud-rate detection, 5 slow infrared asynchronous interface – Intel PXA26X User Manual

Page 592

Advertising
background image

17-8

Intel® PXA26x Processor Family Developer’s Manual

Hardware UART

When in Full or Half-Autoflow mode, nCTS is asserted by the remote receiver when the receiver is
ready to receive data from the UART. The UART checks nCTS before sending the next byte of data
and will not transmit the byte until nCTS is low. If nCTS goes high while the transfer of a byte is in
progress, the transmitter will complete this byte.

Note:

Autoflow mode can be used only in conjunction with FIFO mode.

17.4.4

Auto-Baud-Rate Detection

The HWUART supports auto-baud-rate detection. When enabled, the UART counts the number of
14.7456-MHz-clock cycles within the start-bit pulse. This number is then written into the Auto-
Baud-Count Register (ACR, see

Table 17-12 on page 17-20

) and is used to calculate the baud rate.

When the ACR is written, a Auto-Baud-Lock Interrupt is generated (if enabled), and the UART
automatically programs the Divisor Latch registers with the appropriate baud rate. If preferred, the
processor can read the Auto-Baud-Count Register and use this information to program the Divisor-
Latch registers with a baud rate calculated by the processor. After the baud rate has been
programmed, it is the responsibility of the processor to verify that the predetermined characters
(usually AT or at) are being received correctly. For the auto-baud rate detection circuit to work
correctly, the first data bit transmitted after the start bit must be a logic '1'. If a logic '0' is
transmitted instead, the auto-baud circuit will count the zero as part of the start bit, resulting in an
incorrect baud rate being programmed into the Divisor Latch Register Low (DLL) and Divisor
Latch Register High (DLH) registers.

If the UART is to program the Divisor Latch registers, users can choose between two methods for
auto-baud calculation: table-based and formula-based. Set Auto-Baud Control Register (ABR), bit
3 (ABR[ABT]) to select the method to use. When the formula method is used, any baud rate
allowed in

Section 17.5.3, “Divisor Latch Registers (DLL and DLH)”

can be programmed by the

UART. This method works well for higher baud rates, but could possibly fail below 28.8 Kbps if
the remote transmitter’s actual baud rate differs by more than one percent of its target. The table
method is more immune to such errors as the table rejects uncommon baud rates and rounds to the
common ones. The table method allows any baud rate defined by the formula in

Section 17.5.3,

“Divisor Latch Registers (DLL and DLH)” on page 17-11

above 28.8 Kbps. Below 28.8 Kbps the

only baud rates which can be programmed by the UART are 19200, 14400, 9600, 4800, 1200, and
300 baud.

When the baud rate is detected, the auto-baud circuitry will disable itself by clearing the
ABR[ABE]. If users want to re-enable auto-baud detection, ABR[ABE] must be set.

Note:

Auto-baud rate detection is not supported with IrDA (Slow Infrared) Mode.

See

Section 17.5.8, “Auto-Baud Control Register (ABR)”

for more information on auto-baud.

17.4.5

Slow Infrared Asynchronous Interface

The Slow Infrared (SIR) interface is used to support two-way wireless communication that uses
infrared transmission. The SIR provides a transmit encoder and receive decoder to support a
physical link that conforms to the IrDA Serial Infrared Specification.

1

1.

Infrared Data Association, Serial Infrared Physical Layer Link Specification, October 17, 1995, Version 1.1

Advertising