SC16C850L All information provided in this document is subject to legal disclaimers. © NXP B.V. 2013. All rights reserved.
Product data sheet Rev. 6 — 11 October 2013 19 of 55
NXP Semiconductors
SC16C850L
1.8 V single UART with 128-bute FIFOs and IrDA encoder/decoder
6.13 RS-485 features
6.13.1 Auto RS-485 RTS control
Normally the RTS pin is controlled by MCR[1], or if hardware flow control is enabled, the
logic state of the RTS
pin is controlled by the hardware flow control circuitry. AFCR2[4] will
take the precedence over the other two modes; once this bit is set, the transmitter will
control the state of the RTS
pin. The transmitter automatically asserts the RTS pin
(logic 0) once the host writes data to the transmit FIFO, and de-asserts RTS
pin (logic 1)
once the last bit of the data has been transmitted.
To use the auto RS-485 RTS
mode the software would have to disable the hardware
flow control function.
6.13.2 RS-485 RTS inversion
AFCR2[5] reverses the polarity of the RTS pin if the UART is in auto RS-485 RTS mode.
When the transmitter has data to be sent it will de-asserts the RTS
pin (logic 1), and when
the last bit of the data has been sent out the transmitter asserts the RTS
pin (logic 0).
6.13.3 Auto 9-bit mode (RS-485)
AFCR2[0] is used to enable the 9-bit mode (Multi-drop or RS-485 mode). In this mode of
operation, a ‘master’ station transmits an address character followed by data characters
for the addressed ‘slave’ stations. The slave stations examine the received data and
interrupt the controller if the received character is an address character (parity bit = 1).
To use the automatic 9-bit mode, the software would have to disable the hardware and
software flow control functions.
6.13.3.1 Normal Multi-drop mode
The 9-bit Mode in AFCR2[0] is enabled, but not Special Character Detect (EFR[5]). The
receiver is set to Force Parity 0 (LCR[5:3] = 111) in order to detect address bytes.
With the receiver initially disabled, it ignores all the data bytes (parity bit = 0) until an
address byte is received (parity bit = 1). This address byte will cause the UART to set the
parity error. The UART will generate a line status interrupt (IER[2] must be set to ‘1’ at this
time), and at the same time puts this address byte in the RX FIFO. After the controller
examines the byte it must make a decision whether or not to enable the receiver; it should
enable the receiver if the address byte addresses its ID address, and must not enable the
receiver if the address byte does not address its ID address.
If the controller enables the receiver, the receiver will receive the subsequent data until
being disabled by the controller after the controller has received a complete message
from the ‘master’ station. If the controller does not disable the receiver after receiving a
message from the ‘master’ station, the receiver will generate a parity error upon receiving
another address byte. The controller then determines if the address byte addresses its ID
address, if it is not, the controller then can disable the receiver. If the address byte
addresses the ‘slave’ ID address, the controller takes no further action, and the receiver
will receive the subsequent data.
SC16C850L All information provided in this document is subject to legal disclaimers. © NXP B.V. 2013. All rights reserved.
Product data sheet Rev. 6 — 11 October 2013 20 of 55
NXP Semiconductors
SC16C850L
1.8 V single UART with 128-bute FIFOs and IrDA encoder/decoder
6.13.3.2 Auto address detection
If Special Character Detect is enabled (EFR[5] is set and the Xoff2 register contains the
address byte) the receiver will try to detect an address byte that matches the programmed
character in the Xoff2 register. If the received byte is a data byte or an address byte that
does not match the programmed character in the Xoff2 register, the receiver will discard
these data. Upon receiving an address byte that matches the Xoff2 character, the receiver
will be automatically enabled if not already enabled, and the address character is pushed
into the RX FIFO along with the parity bit (in place of the parity error bit). The receiver also
generates a line status interrupt (IER[2] must be set to ‘1’ at this time). The receiver will
then receive the subsequent data from the ‘master’ station until being disabled by the
controller after having received a message from the ‘master’ station.
If another address byte is received and this address byte does not match the Xoff2
character, the receiver will be automatically disabled and the address byte is ignored. If
the address byte matches the Xoff2 character, the receiver will put this byte in the RX
FIFO along with the parity bit in the parity error bit (LSR bit 2).
7. Register descriptions
Table 8 details the assigned bit functions for the SC16C850L internal registers. The
assigned bit functions are more fully defined in Section 7.1
through Section 7.23.
xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxx x x x xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xx xx xxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxx x x
xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx xxx
SC16C850L All information provided in this document is subject to legal disclaimers. © NXP B.V. 2013. All rights reserved.
Product data sheet Rev. 6 — 11 October 2013 21 of 55
NXP Semiconductors
SC16C850L
1.8 V single UART with 128-bute FIFOs and IrDA encoder/decoder
Table 8. SC16C850L internal registers
A2 A1 A0 Register Default
[1]
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 R/W
General register set
[2]
0 0 0 RHR XX bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 R
0 0 0 THR XX bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 W
0 0 1 IER 00 CTS
interrupt
[3]
RTS
interrupt
[3]
Xoff
interrupt
[3]
Sleep
mode
[3]
modem
status
interrupt
receive line
status
interrupt
transmit
holding
register
interrupt
receive
holding
register
interrupt
R/W
0 1 0 FCR 00 RCVR
trigger
(MSB)
RCVR
trigger (LSB)
TX trigger
(MSB)
[3]
TX trigger
(LSB)
[3]
reserved XMIT FIFO
reset
RCVR FIFO
reset
FIFOs
enable
W
0 1 0 ISR 01 FIFOs
enabled
FIFOs
enabled
INT priority
bit 4
INT priority
bit 3
INT priority
bit 2
INT priority
bit 1
INT priority
bit 0
INT status R
0 1 1 LCR 00 divisor latch
enable
set break set parity even parity parity
enable
stop bits word length
bit 1
word length
bit 0
R/W
100MCR 00 clock
select
[3]
IrDA enable INT type loopback OP2 OP1 RTS DTR R/W
1 0 1 LSR 60 FIFO data
error
THR and
TSR empty
THR empty break
interrupt
framing
error
parity error overrun
error
receive data
ready
R
1 0 1 EFCR 00 reserved reserved reserved reserved reserved Enable extra
feature bit 1
Enable extra
feature bit 0
Enable
TXLVLCNT/
RXLVLCNT
W
1 1 0 MSR X0 CD RI DSR CTS CD
RI DSR CTS R
1 1 1 SPR FF bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 R/W
Special register set
[4]
0 0 0 DLL XX bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 R/W
0 0 1 DLM XX bit 15 bit 14 bit 13 bit 12 bit 11 bit 10 bit 9 bit 8 R/W
Second special register set
[6]
0 1 1 TXLVLCNT 00 bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 R
1 0 0 RXLVLCNT 00 bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 R

SC16C850LIBS,151

Mfr. #:
Manufacturer:
NXP Semiconductors
Description:
IC UART SINGLE W/FIFO 32-HVQFN
Lifecycle:
New from this manufacturer.
Delivery:
DHL FedEx Ups TNT EMS
Payment:
T/T Paypal Visa MoneyGram Western Union