Functional Description
This status FIFO can be used effectively in DMA mode because the MPU must be interrupted only when
the programmed status FIFO trigger level is reached, not each time a frame is received.
19.3.8.2.7 SIR Mode Data Formatting
This section provides specific instructions for SIR mode programming.
19.3.8.2.7.1 Abort Sequence
The transmitter can prematurely close a frame (abort) by sending the sequence 0x7DC1. The abort
pattern closes the frame without a CRC field or an ending flag.
A transmission frame can be aborted by setting the UARTi.UART_ACREG[1] ABORT_EN bit to 1. When
this bit is set to 1, 0x7D and 0xC1 are transmitted and the frame is not terminated with CRC or stop flags.
When a 0x7D character followed immediately by a 0xC1 character is received without transparency, the
receiver treats a frame as an aborted frame.
CAUTION
When the TX FIFO is not empty and the UARTi.UART_MDR1[5] SCT bit is set
to 1, the UART IrDA starts a new transfer with data of a previous frame when
the aborted frame is sent. Therefore, the TX FIFO must be reset before
sending an aborted frame.
19.3.8.2.7.2 Pulse Shaping
SIR mode supports the 3/16 or the 1.6-µs pulse duration methods in receive and transmit. The
UARTi.UART_ACREG[7] PULSE_TYPE bit selects the pulse width method in the transmit mode.
19.3.8.2.7.3 SIR Free Format Programming
The SIR FF mode is selected by setting the module in the UART mode (UARTi.UART_MDR1[2:0]
MODE_SELECT = 0x0) and the UARTi.UART_MDR2[3] UART_PULSE bit to 1 to allow pulse shaping.
Because the bit format stays the same, some UART mode configuration registers must be set at specific
values:
•
UARTi.UART_LCR[1:0] CHAR_LENGTH bit field = 0x3 (8 data bits)
•
UARTi.UART_LCR[2] NB_STOP bit = 0x0 (1 stop-bit)
•
UARTi.UART_LCR[3] PARITY_EN bit = 0x0 (no parity)
The UART mode interrupts are used for the SIR FF mode, but many are not relevant (XOFF, RTS, CTS,
modem status register, etc.).
19.3.8.2.8 MIR and FIR Mode Data Formatting
This section describes common instructions for FIR and MIR mode programming.
At the end of a frame reception, the MPU reads the line status register (UARTi.UART_LSR) to detect
errors in the received frame.
When the UARTi.UART_MDR1[6] SIP_MODE bit is set to 1, the TX state-machine always sends one SIP
at the end of a transmission frame. However, when the SIP_MODE bit is set to 0, SIP transmission
depends on the UARTi.UART_ACREG[3] SEND_SIP bit.
The MPU can set the SEND_SIP bit at least once every 500 ms. The advantage of this approach over the
default approach is that the TX state-machine does not have to send the SIP at the end of each frame,
thus reducing the overhead required.
3488
Universal Asynchronous Receiver/Transmitter (UART)
SPRUH73H – October 2011 – Revised April 2013
Copyright © 2011–2013, Texas Instruments Incorporated