Philips Semiconductors
SC16C554/554D
Quad UART with 16-byte FIFO and infrared (IrDA) encoder/decoder
Product data Rev. 05 — 10 May 2004 16 of 55
9397 750 13132
© Koninklijke Philips Electronics N.V. 2004. All rights reserved.
6.6 Hardware flow control
When automatic hardware flow control is enabled, the SC16C554/554D monitors the
CTS pin for a remote buffer overflow indication and controls the RTS pin for local
buffer overflows. Automatic hardware flow control is selected by setting EFR[6] (RTS)
and EFR[7] (CTS) to a logic 1. If CTS transitions from a logic 0 to a logic 1 indicating
a flow control request, ISR[5] will be set to a logic 1 (if enabled via IER[6,7]), and the
SC16C554/554D will suspend TX transmissions as soon as the stop bit of the
character in process is shifted out. Transmission is resumed after the CTS input
returns to a logic 0, indicating more data may be sent.
With the Auto RTS function enabled, an interrupt is generated when the receive FIFO
reaches the programmed trigger level. The RTS pin will not be forced to a logic 1
(RTS off), until the receive FIFO reaches the next trigger level. However, the RTS pin
will return to a logic 0 after the data buffer (FIFO) is unloaded to the next trigger level
below the programmed trigger. However, under the above described conditions, the
SC16C554/554D will continue to accept data until the receive FIFO is full.
6.7 Software flow control
When software flow control is enabled, the SC16C554/554D compares one or two
sequential receive data characters with the programmed Xon/Xoff or Xoff1,2
character value(s). If received character(s) match the programmed values, the
SC16C554/554D will halt transmission (TX) as soon as the current character(s) has
completed transmission. When a match occurs, the receive ready (if enabled via Xoff
IER[5]) flags will be set and the interrupt output pin (if receive interrupt is enabled) will
be activated. Following a suspension due to a match of the Xoff characters’ values,
the SC16C554/554D will monitor the receive data stream for a match to the Xon1,2
character value(s). If a match is found, the SC16C554/554D will resume operation
and clear the flags (ISR[4]).
Reset initially sets the contents of the Xon/Xoff 8-bit flow control registers to a logic 0.
Following reset, the user can write any Xon/Xoff value desired for software flow
control. Different conditions can be set to detect Xon/Xoff characters and
suspend/resume transmissions. When double 8-bit Xon/Xoff characters are selected,
the SC16C554/554D compares two consecutive receive characters with two software
flow control 8-bit values (Xon1, Xon2, Xoff1, Xoff2) and controls TX transmissions
accordingly. Under the above described flow control mechanisms, flow control
characters are not placed (stacked) in the user accessible RX data buffer or FIFO.
In the event that the receive buffer is overfilling and flow control needs to be executed,
the SC16C554/554D automatically sends an Xoff message (when enabled) via the
serial TX output to the remote modem. The SC16C554/554D sends the Xoff1,2
Table 6: Flow control mechanism
Selected trigger level
(characters)
INT pin activation Negate RTS or
send Xoff
Assert RTS or
send Xon
1141
4484
8 8 12 8
14 14 14 10
Philips Semiconductors
SC16C554/554D
Quad UART with 16-byte FIFO and infrared (IrDA) encoder/decoder
Product data Rev. 05 — 10 May 2004 17 of 55
9397 750 13132
© Koninklijke Philips Electronics N.V. 2004. All rights reserved.
characters as soon as received data passes the programmed trigger level. To clear
this condition, the SC16C554/554D will transmit the programmed Xon1,2 characters
as soon as receive data drops below the programmed trigger level.
6.8 Special feature software flow control
A special feature is provided to detect an 8-bit character when EFR[5] is set. When
8-bit character is detected, it will be placed on the user-accessible data stack along
with normal incoming RX data. This condition is selected in conjunction with
EFR[0-3]. Note that software flow control should be turned off when using this special
mode by setting EFR[0-3] to a logic 0.
The SC16C554/554D compares each incoming receive character with Xoff2 data. If a
match exists, the received data will be transferred to the FIFO, and ISR[4] will be set
to indicate detection of a special character. Although the Internal Register Table
(Tabl e 8 ) shows each X-Register with eight bits of character information, the actual
number of bits is dependent on the programmed word length. Line Control Register
bits LCR[0-1] define the number of character bits, i.e., either 5 bits, 6 bits, 7 bits or
8 bits. The word length selected by LCR[0-1] also determine the number of bits that
will be used for the special character comparison. Bit 0 in the X-registers corresponds
with the LSB bit for the receive character.
6.9 Hardware/software and time-out interrupts
Three special interrupts have been added to monitor the hardware and software flow
control. The interrupts are enabled by IER[5-7]. Care must be taken when handling
these interrupts. Following a reset, if the transmitter interrupt is enabled, the
SC16C554/554D will issue an interrupt to indicate that the Transmit Holding Register
is empty. This interrupt must be serviced prior to continuing operations. The LSR
register provides the current singular highest priority interrupt only. It could be noted
that CTS and RTS interrupts have lowest interrupt priority. A condition can exist
where a higher priority interrupt may mask the lower priority CTS/RTS interrupt(s).
Only after servicing the higher pending interrupt will the lower priority CTS/TRS
interrupt(s) be reflected in the status register. Servicing the interrupt without
investigating further interrupt conditions can result in data errors.
When two interrupt conditions have the same priority, it is important to service these
interrupts correctly. Receive Data Ready and Receive Time Out have the same
interrupt priority (when enabled by IER[0]). The receiver issues an interrupt after the
number of characters have reached the programmed trigger level. In this case, the
SC16C554/554D FIFO may hold more characters than the programmed trigger level.
Following the removal of a data byte, the user should re-check LSR[0] for additional
characters. A Receive Time Out will not occur if the receive FIFO is empty. The
time-out counter is reset at the center of each stop bit received or each time the
receive holding register (RHR) is read. The actual time-out value is 4 character time.
In the 16 mode for the PLCC68 package, the system/board designer can optionally
provide software controlled 3-State interrupt operation. This is accomplished by
INTSEL and MCR[3]. When INTSEL interface pin is left open or made a logic 0,
MCR[3] controls the 3-State interrupt outputs, INTA-INTD. When INTSEL is a logic 1,
MCR[3] has no effect on the INTA-INTD outputs, and the package operates with
interrupt outputs enabled continuously.
Philips Semiconductors
SC16C554/554D
Quad UART with 16-byte FIFO and infrared (IrDA) encoder/decoder
Product data Rev. 05 — 10 May 2004 18 of 55
9397 750 13132
© Koninklijke Philips Electronics N.V. 2004. All rights reserved.
6.10 Programmable baud rate generator
The SC16C554/554D supports high speed modem technologies that have increased
input data rates by employing data compression schemes. For example, a 33.6 kbit/s
modem that employs data compression may require a 115.2 kbit/s input data rate.
A 128.0 kbit/s ISDN modem that supports data compression may need an input
data rate of 460.8 kbit/s.
A single baud rate generator is provided for the transmitter and receiver, allowing
independent TX/RX channel control. The programmable Baud Rate Generator is
capable of accepting an input clock up to 80 MHz (for 3.3 V and 5 V operation), as
required for supporting a 5 Mbit/s data rate. The SC16C554/554D can be configured
for internal or external clock operation. For internal clock oscillator operation, an
industry standard microprocessor crystal (parallel resonant/22-33 pF load) is
connected externally between the XTAL1 and XTAL2 pins (see Figure 7).
Alternatively, an external clock can be connected to the XTAL1 pin to clock the
internal baud rate generator for standard or custom rates (see Ta ble 7).
Programming the Baud Rate Generator Registers DLM (MSB) and DLL (LSB)
provides a user capability for selecting the desired final baud rate.
Fig 7. Crystal oscillator connection.
Table 7: Baud rate generator programming table using a 7.3728 MHz clock
Output baud rate User
16× clock divisor
DLM
program value
(HEX)
DLL
program value
(HEX)
Decimal HEX
200 2304 900 09 00
1200 384 180 01 80
2400 192 C0 00 C0
4800 96 60 00 60
9600 48 30 00 30
19.2 k 24 18 00 18
38.4 k 12 0C 00 0C
76.8 k 6 06 00 06
153.6 k 3 03 00 03
230.4 k 2 02 00 02
460.8 k 1 01 00 01
002aaa169
X1
1.8432 MHz
C1
22 pF
C2
47 pF
XTAL1
XTAL2
X1
1.8432 MHz
C1
47 pF
C2
100 pF
XTAL1
XTAL2
1.5 k

SC16C554IB80,557

Mfr. #:
Manufacturer:
NXP Semiconductors
Description:
IC UART QUAD 80LQFP
Lifecycle:
New from this manufacturer.
Delivery:
DHL FedEx Ups TNT EMS
Payment:
T/T Paypal Visa MoneyGram Western Union