35.13 Collision Detection (Full-Featured UARTs Only)
External forces that interfere with the transmit line are detected in all modes of
operation with collision detection. Collision detection is always active when RXEN and TXEN are both set. When the receive input is connected to the transmit
output through either the same I/O pin or external circuitry, a character will be
received for every character transmitted. The collision detection circuit provides a
warning when the word received does not match the word transmitted.
The TXCIF flag is used to signal collisions. This signal is only useful when
the TX output is looped back to the RX input and everything that is transmitted is
expected to be received. If more than one transmitter is active at the same time, it can
be assumed that the TX word will not match the RX word. The TXCIF detects this mismatch
and flags an interrupt. The TXCIF bit will also be set in DALI mode transmissions when
the received bit is missing the expected mid-bit transition.
Collision detection is always active, regardless of whether or not the RX input is
connected to the TX output. It is up to the user to disable the TXCIE bit when collision interrupts are not required. The software overhead of unloading
the receive buffer of transmitted data is avoided by setting the RUNOVF
bit and ignoring the receive interrupt and letting the receive buffer overflow. When the
transmission is complete, prepare for receiving data by flushing the receive buffer (see
the FIFO Reset section) and clearing the RXFOIF overflow flag.