UART/IrDA Control and Status Registers
12-73
UART Devices
The input frequency of the UART IrDA must be fixed to the operating frequency
(here 12 MHz; no CLKSEL bit setting), and the the OSC_12M_SEL bit must
be set to be able to reach the desired baud rate. Setting OSC_12M_SEL to 1
enables turning on the 6.5 division factor. For instance, 12 MHz/16/6.5 =
115200 bps; if OSC_12M_SEL is not set, the reached baud rate is either
12 MHz/16/6 or 12 MHz/16/7, which are outside permitted tolerance.
The transmission control register (TCR) stores the receive FIFO threshold
levels to start/stop transmission during hardware/software flow control.
Table 12–68. Transmission Control Register (TCR)
Bit
Name
Function
R/W
Reset
Value
7–4
RX_FIFO_TRIG_START
RCV FIFO trigger level to restore transmission
(0 - 60)
R/W
0000
3–0
RX_FIFO_TRIG_HALT
RCV FIFO trigger level to halt transmission
(0 – 60)
R/W
1111
Note:
Trigger levels from 0 – 60 bytes are available with a granularity of four (trigger level = 4 x [4-bit register value]).
The programmer must ensure that TCR[3:0] is greater than TCR[7:4]
whenever automatic RTS or software flow control is enabled to avoid spurious
operation of the device.
In FIFO interrupt mode with flow control, the programmer must also ensure
that the trigger level to halt transmission is greater than or equal to the receive
FIFO trigger level (either TLR[7:4] or FCR[7:6]); otherwise, FIFO operation
stalls. In FIFO DMA mode with flow control, this concept does not exist
because a DMA request is sent each time a byte is received.
The trigger level register (TLR) stores the programmable transmit and receive
FIFO trigger levels used for DMA and IRQ generation.
Table 12–69. Trigger Level Register (TLR)
Bit
Name
Function
R/W
Reset
Value
7–4
RX_FIFO_TRIG_DMA
RCV FIFO trigger level
R/W
0000
3–0
TX_FIFO_TRIG_DMA
Transmit FIFO trigger level
R/W
0000