SC16C550 Universal Asynchronous Receiver/Transmitter (UART) with 16-byte FIFO and infrared (IrDA) encoder/decoder Rev. 05 — 19 June 2003 Product data 1. General description The SC16C550 is a Universal Asynchronous Receiver and Transmitter (UART) used for serial data communications. Its principal function is to convert parallel data into serial data, and vice versa. The UART can handle serial data rates up to 3 Mbits/s. The SC16C550 is pin compatible with the ST16C550, TL16C550 and PC16C550, and it will power-up to be functionally equivalent to the 16C450. Programming of control registers enables the added features of the SC16C550. Some of these added features are the 16-byte receive and transmit FIFOs, automatic hardware or software flow control and Infrared encoding/decoding. The selectable auto-flow control feature significantly reduces software overload and increases system efficiency while in FIFO mode by automatically controlling serial data flow using RTS output and CTS input signals. The SC16C550 also provides DMA mode data transfers through FIFO trigger levels and the TXRDY and RXRDY signals. On-board status registers provide the user with error indications, operational status, and modem interface control. System interrupts may be tailored to meet user requirements. An internal loop-back capability allows on-board diagnostics. The SC16C550 operates at 5 V, 3.3 V and 2.5 V, and the Industrial temperature range, and is available in plastic DIP40, PLCC44 and LQFP48 packages. 2. Features ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ 5 V, 3.3 V and 2.5 V operation Industrial temperature range After reset, all registers are identical to the typical 16C450 register set Capable of running with all existing generic 16C450 software Pin compatibility with the industry-standard ST16C450/550, TL16C450/550, PC16C450/550 Up to 3 Mbits/s transmit/receive operation at 5 V, 2 Mbits/s at 3.3 V, and 1 Mbit/s at 2.5 V 16 byte transmit FIFO 16 byte receive FIFO with error flags Programmable auto-RTS and auto-CTS ◆ In auto-CTS mode, CTS controls transmitter ◆ In auto-RTS mode, RxFIFO contents and threshold control RTS Automatic software/hardware flow control Programmable Xon/Xoff characters Software selectable Baud Rate Generator Four selectable Receive FIFO interrupt trigger levels SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder ■ Standard modem interface or infrared IrDA encoder/decoder interface ■ Sleep mode ■ Standard asynchronous error and framing bits (Start, Stop, and Parity Overrun Break) ■ Independent receiver clock input ■ Transmit, Receive, Line Status, and Data Set interrupts independently controlled ■ Fully programmable character formatting: ◆ 5-, 6-, 7-, or 8-bit characters ◆ Even-, Odd-, or No-Parity formats ◆ 1-, 11⁄2-, or 2-stop bit ◆ Baud generation (DC to 3 Mbit/s) ■ False start-bit detection ■ Complete status reporting capabilities ■ 3-State output TTL drive capabilities for bi-directional data bus and control bus ■ Line Break generation and detection ■ Internal diagnostic capabilities: ◆ Loop-back controls for communications link fault isolation ■ Prioritized interrupt system controls ■ Modem control functions (CTS, RTS, DSR, DTR, RI, DCD). 3. Ordering information Table 1: Ordering information Industrial: VCC = 2.5 V, 3.3 V or 5 V ± 10%; Tamb = −40 °C to +85 °C. Type number Package Name Description Version SC16C550IA44 PLCC44 plastic leaded chip carrier; 44 leads SOT187-2 SC16C550IB48 LQFP48 plastic low profile quad flat package; 48 leads; body 7 × 7 × 1.4 mm SOT313-2 SC16C550IN40 DIP40 plastic dual in-line package; 40 leads (600 mil) SOT129-1 © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Rev. 05 — 19 June 2003 2 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder 4. Block diagram SC16C550 TRANSMIT FIFO REGISTERS D0–D7 IOR, IOR IOW, IOW RESET TX DATA BUS AND CONTROL LOGIC REGISTER SELECT LOGIC INTERCONNECT BUS LINES AND CONTROL SIGNALS FLOW CONTROL LOGIC A0–A2 CS0, CS1, CS2 AS, DDIS TRANSMIT SHIFT REGISTER RECEIVE FIFO REGISTERS FLOW CONTROL LOGIC IR ENCODER RECEIVE SHIFT REGISTER RX IR DECODER DTR RTS OUT1, OUT2 INT TXRDY RXRDY MODEM CONTROL LOGIC INTERRUPT CONTROL LOGIC CTS RI DCD DSR CLOCK AND BAUD RATE GENERATOR 002aaa052 XTAL1 RCLK XTAL2 BAUDOUT Fig 1. Block diagram. © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Rev. 05 — 19 June 2003 3 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder 5. Pinning information 40 CTS 41 DSR 42 DCD 43 RI 44 VCC 1 NC 2 D0 3 D1 4 D2 5 D3 6 D4 5.1 Pinning D5 7 39 MR D6 8 38 OUT1 D7 9 37 DTR RCLK 10 36 RTS RX 11 35 OUT2 SC16C550IA44 NC 12 34 NC TX 13 33 INT AS 28 TXRDY 27 DDIS 26 IOR 25 29 A2 IOR 24 BAUDOUT 17 NC 23 30 A1 VSS 22 CS2 16 IOW 21 31 A0 IOW 20 CS1 15 XTAL2 19 32 RXRDY XTAL1 18 CS0 14 002aaa092 Fig 2. PLCC44. © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Rev. 05 — 19 June 2003 4 of 52 SC16C550 Philips Semiconductors 37 NC 38 CTS 39 DSR 40 DCD 41 RI 42 VCC 43 D0 44 D1 45 D2 46 D3 47 D4 48 NC UART with 16-byte FIFO and IrDA encoder/decoder NC 1 36 NC D5 2 35 MR D6 3 34 OUT1 D7 4 33 DTR RCLK 5 32 RTS NC 6 31 OUT2 SC16C550IB48 26 A2 BAUDOUT 12 25 NC AS 24 CS2 11 TXRDY 23 27 A1 DDIS 22 CS1 10 NC 21 28 A0 IOR 20 9 IOR 19 CS0 VSS 18 29 RXRDY IOW 17 8 IOW 16 TX XTAL2 15 30 INT XTAL1 14 7 NC 13 RX 002aaa093 Fig 3. LQFP48. © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Rev. 05 — 19 June 2003 5 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder 40 VCC D1 2 39 RI D2 3 38 DCD D3 4 37 DSR D4 5 36 CTS D5 6 35 MR D6 7 34 OUT1 D7 8 33 DTR RCLK 9 32 RTS RX 10 TX 11 CS0 12 SC16C550IN40 D0 1 31 OUT2 30 INT 29 RXRDY CS1 13 28 A0 CS2 14 27 A1 BAUDOUT 15 26 A2 XTAL1 16 25 AS XTAL2 17 24 TXRDY IOW 18 23 DDIS IOW 19 22 IOR VSS 20 21 IOR 002aaa091 Fig 4. DIP40. 5.2 Pin description Table 2: Pin description Symbol Pin Type Description PLCC44 LQFP48 DIP40 A2-A0 28, 27, 26 28, 27, 26 28, 27, I 26 Register select. A0-A2 are used during read and write operations to select the UART register to read from or write to. Refer to Table 3 for register addresses and refer to AS description. AS 28 24 25 I Address strobe. When AS is active (LOW), A0, A1, and A2 and CS0, CS1, and CS2 drive the internal select logic directly; when AS is HIGH, the register select and chip select signals are held at the logic levels they were in when the LOW-to-HIGH transition of AS occurred. BAUDOUT 17 12 15 O Baud out. BAUDOUT is a 16× clock signal for the transmitter section of the UART. The clock rate is established by the reference oscillator frequency divided by a divisor specified in the baud generator divisor latches. BAUDOUT may also be used for the receiver section by tying this output to RCLK. © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Rev. 05 — 19 June 2003 6 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder Table 2: Pin description…continued Symbol Pin Type Description PLCC44 LQFP48 DIP40 CS0, CS1, CS2 14, 15, 16 9, 10, 11 12, 13, I 14 Chip select. When CS0 and CS1 are HIGH and CS2 is LOW, these three inputs select the UART. When any of these inputs are inactive, the UART remains inactive (refer to AS description). CTS 40 38 36 I Clear to send. CTS is a modem status signal. Its condition can be checked by reading bit 4 (CTS) of the modem status register. Bit 0 (CTS) of the modem status register indicates that CTS has changed states since the last read from the modem status register. If the modem status interrupt is enabled when CTS changes levels and the auto-CTS mode is not enabled, an interrupt is generated. CTS is also used in the auto-CTS mode to control the transmitter. D7-D0 2-9 43-47, 2-4 8-1 I/O Data bus. Eight data lines with 3-State outputs provide a bi-directional path for data, control and status information between the UART and the CPU. DCD 42 40 38 I Data carrier detect. DCD is a modem status signal. Its condition can be checked by reading bit 7 (DCD) of the modem status register. Bit 3 (DCD) of the modem status register indicates that DCD has changed states since the last read from the modem status register. If the modem status interrupt is enabled when DCD changes levels, an interrupt is generated. DDIS 26 22 23 O Driver disable. DDIS is active (LOW) when the CPU is not reading data. When active, DDIS can disable an external transceiver. DSR 41 39 37 I Data set ready. DSR is a modem status signal. Its condition can be checked by reading bit 5 (DSR) of the modem status register. Bit 1 (DSR) of the modem status register indicates DSR has changed levels since the last read from the modem status register. If the modem status interrupt is enabled when DSR changes levels, an interrupt is generated. DTR 37 33 33 O Data terminal ready. When active (LOW), DTR informs a modem or data set that the UART is ready to establish communication. DTR is placed in the active level by setting the DTR bit of the modem control register. DTR is placed in the inactive level either as a result of a Master Reset, during loop mode operation, or clearing the DTR bit. INT 33 30 30 O Interrupt. When active (HIGH), INT informs the CPU that the UART has an interrupt to be serviced. Four conditions that cause an interrupt to be issued are: a receiver error, received data that is available or timed out (FIFO mode only), an empty transmitter holding register or an enabled modem status interrupt. INT is reset (deactivated) either when the interrupt is serviced or as a result of a Master Reset. MR 39 35 35 I Master Reset. When active (HIGH), MR clears most UART registers and sets the levels of various output signals. NC 1, 12, 23, 34 1, 5, 13, 21, 25, 36, 37, 48 - - Not connected. 34, 31 34, 31 O OUT1, OUT2 38, 35 Outputs 1 and 2. These are user-designated output terminals that are set to the active (low) level by setting respective modem control register (MCR) bits (OUT1 and OUT2). OUT1 and OUT2 are set to inactive the (HIGH) level as a result of Master Reset, during loop mode operations, or by clearing bit 2 (OUT1) or bit 3 (OUT2) of the MCR. © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Rev. 05 — 19 June 2003 7 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder Table 2: Pin description…continued Symbol Pin Type Description I Receiver clock. RCLK is the 16× baud rate clock for the receiver section of the UART. PLCC44 LQFP48 DIP40 RCLK 10 5 9 IOR, IOR 24, 25 19, 20 21, 22 I Read inputs. When either IOR or IOR is active (LOW or HIGH, respectively) while the UART is selected, the CPU is allowed to read status information or data from a selected UART register. Only one of these inputs is required for the transfer of data during a read operation; the other input should be tied to its inactive level (i.e., IOR tied LOW or IOR tied HIGH). RI 43 41 39 I Ring indicator. RI is a modem status signal. Its condition can be checked by reading bit 6 (RI) of the modem status register. Bit 2 (TERI) of the modem status register indicates that RI has transitioned from a LOW to a HIGH level since the last read from the modem status register. If the modem status interrupt is enabled when this transition occurs, an interrupt is generated. RTS 36 32 32 O Request to send. When active, RTS informs the modem or data set that the UART is ready to receive data. RTS is set to the active level by setting the RTS modem control register bit and is set to the inactive (HIGH) level either as a result of a Master Reset or during loop mode operations or by clearing bit 1 (RTS) of the MCR. In the auto-RTS mode, RTS is set to the inactive level by the receiver threshold control logic. RXRDY 32 29 29 O Receiver ready. Receiver direct memory access (DMA) signaling is available with RXRDY. When operating in the FIFO mode, one of two types of DMA signaling can be selected using the FIFO control register bit 3 (FCR[3]). When operating in the 16C450 mode, only DMA mode 0 is allowed. Mode 0 supports single-transfer DMA in which a transfer is made between CPU bus cycles. Mode 1 supports multi-transfer DMA in which multiple transfers are made continuously until the receiver FIFO has been emptied. In DMA mode 0 (FCR0 = 0 or FCR0 = 1, FCR3 = 0), when there is at least one character in the receiver FIFO or receiver holding register, RXRDY is active (LOW). When RXRDY has been active but there are no characters in the FIFO or holding register, RXRDY goes inactive (HIGH). In DMA mode 1 (FCR0 = 1, FCR3 = 1), when the trigger level or the time-out has been reached, RXRDY goes active (LOW); when it has been active but there are no more characters in the FIFO or holding register, it goes inactive (HIGH). RX 11 7 10 I Serial data input. RX is serial data input from a connected communications device. TX 13 8 11 I Serial data output. TX is composite serial data output to a connected communication device. TX is set to the marking (HIGH) level as a result of Master Reset. TXRDY 27 23 24 O Transmitter ready. Transmitter DMA signaling is available with TXRDY. When operating in the FIFO mode, one of two types of DMA signaling can be selected using FCR[3]. When operating in the 16C450 mode, only DMA mode 0 is allowed. Mode 0 supports single-transfer DMA in which a transfer is made between CPU bus cycles. Mode 1 supports multi-transfer DMA in which multiple transfers are made continuously until the transmit FIFO has been filled. © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Rev. 05 — 19 June 2003 8 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder Table 2: Pin description…continued Symbol Pin Type Description PLCC44 LQFP48 DIP40 VCC 44 42 40 Power 2.5 V, 3.3 V or 5 V supply voltage. Power Ground voltage. VSS 22 18 20 IOW, IOW 20, 21 16, 17 18, 19 I Write inputs. When either IOW or IOW is active (LOW or HIGH, respectively) and while the UART is selected, the CPU is allowed to write control words or data into a selected UART register. Only one of these inputs is required to transfer data during a write operation; the other input should be tied to its inactive level (i.e., IOW tied LOW or IOW tied HIGH). XTAL1 18 14 16 I Crystal connection or External clock input. XTAL2[1] 19 15 17 O Crystal connection or the inversion of XTAL1 if XTAL1 is driven. [1] In sleep mode, XTAL2 is left floating. 6. Functional description The SC16C550 provides serial asynchronous receive data synchronization, parallel-to-serial and serial-to-parallel data conversions for both the transmitter and receiver sections. These functions are necessary for converting the serial data stream into parallel data that is required with digital data systems. Synchronization for the serial data stream is accomplished by adding start and stop bits to the transmit data to form a data character (character orientated protocol). Data integrity is insured by attaching a parity bit to the data character. The parity bit is checked by the receiver for any transmission bit errors. The SC16C550 is fabricated with an advanced CMOS process to achieve low drain power and high speed requirements. The SC16C550 is an upward solution that provides 16 bytes of transmit and receive FIFO memory, instead of none in the 16C450. The SC16C550 is designed to work with high speed modems and shared network environments that require fast data processing time. Increased performance is realized in the SC16C550 by the larger transmit and receive FIFOs. This allows the external processor to handle more networking tasks within a given time. In addition, the four selectable levels of FIFO trigger interrupt and automatic hardware/software flow control is uniquely provided for maximum data throughput performance, especially when operating in a multi-channel environment. The combination of the above greatly reduces the bandwidth requirement of the external controlling CPU, increases performance, and reduces power consumption. The SC16C550 is capable of operation up to 3 Mbits/s with a 48 MHz external clock input (at 5 V). The rich feature set of the SC16C550 is available through internal registers. Automatic hardware/software flow control, selectable receive FIFO trigger level, selectable TX and RX baud rates, infrared encoder/decoder interface, modem interface controls, and a sleep mode are some of these features. MCR[5] provides an efficient hardware auto-flow control. © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Rev. 05 — 19 June 2003 9 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder 6.1 Internal registers The SC16C550 provides 15 internal registers for monitoring and control. These registers are shown in Table 3. Twelve registers are similar to those already available in the standard 16C550. These registers function as data holding registers (THR/RHR), interrupt status and control registers (IER/ISR), a FIFO control register (FCR), line status and control registers (LCR/LSR), modem status and control registers (MCR/MSR), programmable data rate (clock) control registers (DLL/DLM), and a user accessible scratchpad register (SPR). Beyond the general 16C550 features and capabilities, the SC16C550 offers an enhanced feature register set (EFR, Xon/Xoff1-2) that provides on-board hardware/software flow control. Register functions are more fully described in the following paragraphs. Table 3: A2 Internal registers decoding A1 A0 READ mode WRITE mode General register set (THR/RHR, IER/ISR, MCR/MSR, FCR/LSR, SPR)[1] 0 0 0 Receive Holding Register Transmit Holding Register 0 0 1 0 1 0 0 1 1 Line Control Register 1 0 0 Modem Control Register 1 0 1 Line Status Register n/a 1 1 0 Modem Status Register n/a 1 1 1 Scratchpad Register Scratchpad Register Interrupt Enable Register Interrupt Status Register FIFO Control Register Baud rate register set (DLL/DLM)[2] 0 0 0 LSB of Divisor Latch LSB of Divisor Latch 0 0 1 MSB of Divisor Latch MSB of Divisor Latch Enhanced register set (EFR, Xon/off 1-2)[3] 0 1 0 Enhanced Feature Register Enhanced Feature Register 1 0 0 Xon1 word Xon1 word 1 0 1 Xon2 word Xon2 word 1 1 0 Xoff1 word Xoff1 word 1 1 1 Xoff2 word Xoff2 word [1] [2] [3] These registers are accessible only when LCR[7] is a logic 0. These registers are accessible only when LCR[7] is a logic 1. Enhanced Feature Register, Xon1, 2 and Xoff1, 2 are accessible only when the LCR is set to “BF(HEX). 6.2 FIFO operation The 16-byte transmit and receive data FIFOs are enabled by the FIFO Control Register bit-0 (FCR[0]). With 16C550 devices, the user can set the receive trigger level, but not the transmit trigger level. The receiver FIFO section includes a time-out function to ensure data is delivered to the external CPU. An interrupt is generated whenever the Receive Holding Register (RHR) has not been read following the loading of a character or the receive trigger level has not been reached. © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Rev. 05 — 19 June 2003 10 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder Table 4: Flow control mechanism Selected trigger level (characters) INT pin activation Negate RTS or send Xoff Assert RTS or send Xon 1 1 4 1 4 4 8 4 8 8 12 8 14 14 14 10 6.3 Autoflow control (see Figure 5) Autoflow control is comprised of auto-CTS and auto-RTS. With auto-CTS, the CTS input must be active before the transmitter FIFO can emit data. With auto-RTS, RTS becomes active when the receiver needs more data and notifies the sending serial device. When RTS is connected to CTS, data transmission does not occur unless the receiver FIFO has space for the data; thus, overrun errors are eliminated using UART 1 and UART 2 from a SC16C550 with the autoflow control enabled. If not, overrun errors occur when the transmit data rate exceeds the receiver FIFO read latency. ACE1 ACE2 SERIAL TO RX TX PARALLEL PARALLEL TO SERIAL RCV XMT FIFO FIFO FLOW RTS CTS CONTROL FLOW CONTROL D7 – D0 D7 – D0 PARALLEL TX RX TO SERIAL SERIAL TO PARALLEL XMT RCV FIFO FIFO FLOW CTS RTS CONTROL FLOW CONTROL 002aaa048 Fig 5. Autoflow control (auto-RTS and auto-CTS) example. 6.3.1 Auto-RTS (see Figure 5) Auto-RTS data flow control originates in the receiver timing and control block (see Figure 1 “Block diagram.”) and is linked to the programmed receiver FIFO trigger level. When the receiver FIFO level reaches a trigger level of 1, 4, or 8 (see Figure 7), RTS is de-asserted. With trigger levels of 1, 4, and 8, the sending UART may send an additional byte after the trigger level is reached (assuming the sending UART has another byte to send) because it may not recognize the de-assertion of RTS until after it has begun sending the additional byte. RTS is automatically reasserted once the RX FIFO is emptied by reading the receiver buffer register. When the trigger level is 14 (see Figure 8), RTS is de-asserted after the first data bit of the 16th character is present on the RX line. RTS is reasserted when the RX FIFO has at least one available byte space. © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Rev. 05 — 19 June 2003 11 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder 6.3.2 Auto-CTS (see Figure 5) The transmitter circuitry checks CTS before sending the next data byte. When CTS is active, it sends the next byte. To stop the transmitter from sending the following byte, CTS must be released before the middle of the last stop bit that is currently being sent (see Figure 6). The auto-CTS function reduces interrupts to the host system. When flow control is enabled, CTS level changes do not trigger host interrupts because the device automatically controls its own transmitter. Without auto-CTS, the transmitter sends any data present in the transmit FIFO and a receiver overrun error may result. 6.3.3 Enabling autoflow control and auto-CTS Autoflow control is enabled by setting Enhanced Feature register bits 6 and 7 (autoflow enable or AFE) to a ‘1’. 6.3.4 TX START Auto-CTS and auto-RTS functional timing BITS 0-7 STOP START BITS 0-7 STOP START BITS 0-7 STOP CTS 002aaa049 (1) When CTS is LOW, the transmitter keeps sending serial data out. (2) If CTS goes HIGH before the middle of the last stop bit of the current byte, the transmitter finishes sending the current byte, but is does not send the next byte. (3) When CTS goes from HIGH to LOW, the transmitter begins sending data again. Fig 6. CTS functional timing waveforms. The receiver FIFO trigger level can be set to 1, 4, 8, or 14 bytes. These are described in Figure 7 and Figure 8. RX START BYTE N STOP START BYTE N + 1 STOP START BYTE STOP RTS IOR (RD RBR) 1 2 N N+1 002aaa050 (1) N = RCV FIFO trigger level (1, 4, or 8 bytes). (2) The two blocks in dashed lines cover the case where an additional byte is sent as described in the preceding auto-RTS section. Fig 7. RTS functional timing waveforms, RCV FIFO trigger level = 1, 4, or 8 bytes. © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Rev. 05 — 19 June 2003 12 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder RX RTS BYTE 14 BYTE 15 START BYTE 16 STOP START BYTE 18 STOP RTS RELEASED AFTER THE FIRST DATA BIT OF BYTE 16 IOR (RD RBR) 002aaa051 (1) RTS is de-asserted when the receiver receives the first data bit of the sixteenth byte. The receive FIFO is full after finishing the sixteenth byte. (2) RTS is asserted again when there is at least one byte of space available and no incoming byte is in processing, or there is more than one byte of space available. (3) When the receive FIFO is full, the first receive buffer register read re-asserts RTS. Fig 8. RTS functional timing waveforms, RCV FIFO trigger level = 14 bytes. 6.4 Software flow control When software flow control is enabled, the SC16C550 compares one or two sequential receive data characters with the programmed Xon or Xoff character value(s). If receive character(s) (RX) match the programmed values, the SC16C550 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 SC16C550 will monitor the receive data stream for a match to the Xon1,2 character value(s). If a match is found, the SC16C550 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 SC16C550 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. When using a software flow control the Xon/Xoff characters cannot be used for data transfer. In the event that the receive buffer is overfilling and flow control needs to be executed, the SC16C550 automatically sends an Xoff message (when enabled) via the serial TX output to the remote modem. The SC16C550 sends the Xoff1,2 characters as soon as received data passes the programmed trigger level. To clear this condition, the SC16C550 will transmit the programmed Xon1,2 characters as soon as receive data drops below the programmed trigger level. © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Rev. 05 — 19 June 2003 13 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder 6.5 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 SC16C550 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 Table 8 “SC16C550 internal registers” 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.6 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, the transmitter interrupt is enabled, the SC16C550 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[3]). The receiver issues an interrupt after the number of characters have reached the programmed trigger level. In this case, the SC16C550 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, including data information length, start bit, parity bit, and the size of stop bit, i.e., 1×, 1.5×, or 2× bit times. © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Rev. 05 — 19 June 2003 14 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder 6.7 Programmable baud rate generator The SC16C550 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. The SC16C550 can support a standard data rate of 921.6 kbit/s. X1 1.8432 MHz C1 47 pF XTAL2 XTAL1 XTAL2 XTAL1 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 48 MHz, as required for supporting a 3 Mbits/s data rate. The SC16C550 can be configured for internal or external clock operation. For internal clock oscillator operation, an industry standard microprocessor crystal is connected externally between the XTAL1 and XTAL2 pins (see Figure 9). Alternatively, an external clock can be connected to the XTAL1 pin to clock the internal baud rate generator for standard or custom rates (see Table 5). X1 1.8432 MHz C2 100 pF C1 22 pF 1.5 kΩ C2 47 pF 002aaa169 Fig 9. Crystal oscillator connection. The generator divides the input 16× clock by any divisor from 1 to 216 − 1. The SC16C550 divides the basic crystal or external clock by 16. The frequency of the BAUDOUT output pin is exactly 16× (16 times) of the selected baud rate (BAUDOUT = 16 Baud Rate). Customized baud rates can be achieved by selecting the proper divisor values for the MSB and LSB sections of baud rate generator. Programming the Baud Rate Generator registers DLM (MSB) and DLL (LSB) provides a user capability for selecting the desired final baud rate. The example in Table 5 shows selectable baud rates when using a 1.8432 MHz crystal. For custom baud rates, the divisor value can be calculated using the following equation: XTAL1 clock frequency Divisor (in decimal) = ----------------------------------------------------------serial data rate × 16 © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data (1) Rev. 05 — 19 June 2003 15 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder Table 5: Baud rates using 1.8432 MHz or 3.072 MHz crystal Using 1.8432 MHz crystal Desired baud rate Divisor for 16× clock 50 Using 3.072 MHz crystal Baud rate error Desired baud rate Divisor for 16× clock 2304 50 3840 75 1536 75 2560 110 1047 0.026 110 1745 0.026 134.5 857 0.058 134.5 1428 0.034 150 768 150 1280 300 384 300 640 600 192 600 320 1200 96 1200 160 1800 64 1800 107 2000 58 2000 96 2400 48 2400 80 3600 32 3600 53 4800 24 4800 40 7200 16 7200 27 9600 12 9600 20 19200 6 19200 10 38400 3 38400 5 56000 2 0.69 Baud rate error 0.312 0.628 1.23 2.86 6.8 DMA operation The SC16C550 FIFO trigger level provides additional flexibility to the user for block mode operation. The user can optionally operate the transmit and receive FIFOs in the DMA mode (FCR[3]). The DMA mode affects the state of the RXRDY and TXRDY output pins. Tables 6 and 7 show this. Table 6: Effect of DMA mode on state of RXRDY pin Non-DMA mode DMA mode 1 = FIFO empty 0-to-1 transition when FIFO empties 0 = at least 1 byte in FIFO 1-to-0 transition when FIFO reaches trigger level, or time-out occurs Table 7: Effect of DMA mode on state of TXRDY pin Non-DMA mode DMA mode 1 = at least 1 byte in FIFO 1 = FIFO is full 0 = FIFO empty 0 = FIFO has at least 1 empty location © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Rev. 05 — 19 June 2003 16 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder 6.9 Sleep mode The SC16C550 is designed to operate with low power consumption. A special sleep mode is included to further reduce power consumption when the chip is not being used. With EFR[4] and IER[4] enabled (set to a logic 1), the SC16C550 enters the sleep mode, but resumes normal operation when a start bit is detected, a change of state on any of the modem input pins RX, RI, CTS, DSR, DCD, or a transmit data is provided by the user. If the sleep mode is enabled and the SC16C550 is awakened by one of the conditions described above, it will return to the sleep mode automatically after the last character is transmitted or read by the user. In any case, the sleep mode will not be entered while an interrupt(s) is pending. The SC16C550 will stay in the sleep mode of operation until it is disabled by setting IER[4] to a logic 0. 6.10 Loop-back mode The internal loop-back capability allows on-board diagnostics. In the loop-back mode, the normal modem interface pins are disconnected and reconfigured for loop-back internally. MCR[0-3] register bits are used for controlling loop-back diagnostic testing. In the loop-back mode, OUT1 and OUT2 in the MCR register (bits 3-2) control the modem RI and DCD inputs, respectively. MCR signals DTR and RTS (bits 0-1) are used to control the modem CTS and DSR inputs, respectively. The transmitter output (TX) and the receiver input (RX) are disconnected from their associated interface pins, and instead are connected together internally (see Figure 10). The CTS, DSR, DCD, and RI are disconnected from their normal modem control input pins, and instead are connected internally to DTR, RTS, OUT1 and OUT2. Loop-back test data is entered into the transmit holding register via the user data bus interface, D0-D7. The transmit UART serializes the data and passes the serial data to the receive UART via the internal loop-back connection. The receive UART converts the serial data back into parallel data that is then made available at the user data interface D0-D7. The user optionally compares the received data to the initial transmitted data for verifying error-free operation of the UART TX/RX circuits. In this mode, the receiver and transmitter interrupts are fully operational. The Modem Control Interrupts are also operational. However, the interrupts can only be read using lower four bits of the Modem Status Register (MSR[0-3]) instead of the four Modem Status Register bits 4-7. The interrupts are still controlled by the IER. © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Rev. 05 — 19 June 2003 17 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder SC16C550 TRANSMIT FIFO REGISTERS DATA BUS AND CONTROL LOGIC REGISTER SELECT LOGIC INTERCONNECT BUS LINES AND CONTROL SIGNALS FLOW CONTROL LOGIC A0–A2 CS0, CS1 CS2 AS DDIS TX RECEIVE FIFO REGISTERS FLOW CONTROL LOGIC IR ENCODER MCR[4] = 1 D0–D7 IOR, IOR IOW, IOW RESET TRANSMIT SHIFT REGISTER RECEIVE SHIFT REGISTER RX IR DECODER RTS DCD DTR MODEM CONTROL LOGIC RI OUT1 INT TXRDY RXRDY INTERRUPT CONTROL LOGIC DSR CLOCK AND BAUD RATE GENERATOR OUT2 CTS 002aaa276 XTAL1 RCLK XTAL2 BAUDOUT Fig 10. Internal loop-back mode diagram. © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Rev. 05 — 19 June 2003 18 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder 7. Register descriptions Table 8 details the assigned bit functions for the fifteen SC16C550 internal registers. The assigned bit functions are more fully defined in Section 7.1 through Section 7.11. Table 8: SC16C550 internal registers Shaded bits are only accessible when EFR[4] is set. A2 A1 A0 Register Default[1] Bit 7 General Register Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Set[2] 0 0 0 RHR XX bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 0 0 0 THR XX bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 0 0 1 IER 00 CTS RTS interrupt interrupt Xoff interrupt Sleep mode modem status interrupt receive transmit line status holding interrupt register receive holding register 0 1 0 FCR 00 RCVR trigger (MSB) RCVR trigger (LSB) reserved reserved DMA mode select XMIT FIFO reset RCVR FIFO reset FIFO enable 0 1 0 ISR 01 FIFOs enabled FIFOs enabled INT priority bit 4 INT priority bit 2 INT priority bit 1 INT priority bit 0 INT status 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 1 0 0 MCR 00 reserved IR enable reserved loop back OUT2, INT enable OUT1 RTS DTR 1 0 1 LSR 60 FIFO data error trans. empty trans. holding empty break interrupt framing error parity error overrun error receive data ready 1 1 0 MSR X0 DCD RI DSR CTS ∆DCD ∆RI ∆DSR ∆CTS 1 1 1 SPR FF bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 XX bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 XX bit 15 bit 14 bit 13 bit 12 bit 11 bit 10 bit 9 bit 8 Special Register INT priority bit 3 Set[3] 0 0 0 DLL 0 0 1 DLM Enhanced Register Set[4] 0 1 0 EFR 00 Auto CTS Auto RTS Special char. select Enable Cont-3 IER[4-7], Tx, Rx ISR[4,5], Control FCR[4,5], MCR[5-7] Cont-2 Tx, Rx Control Cont-1 Tx, Rx Control Cont-0 Tx, Rx Control 1 0 0 Xon-1 00 bit 7 bit 6 bit 4 bit 2 bit 1 bit 0 1 0 1 Xon-2 00 bit 15 bit 14 bit 13 bit 12 bit 11 bit 10 bit 9 bit 8 1 1 0 Xoff-1 00 bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 1 1 1 Xoff-2 00 bit 15 bit 14 bit 13 bit 12 bit 11 bit 10 bit 9 bit 8 [1] [2] [3] [4] bit 5 bit 3 The value shown represents the register’s initialized HEX value; X = n/a. These registers are accessible only when LCR[7] = 0. The Special Register set is accessible only when LCR[7] is set to a logic 1. Enhanced Feature Register, Xon-1,2 and Xoff-1,2 are accessible only when LCR is set to ‘BFHex’. © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Rev. 05 — 19 June 2003 19 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder 7.1 Transmit (THR) and Receive (RHR) Holding Registers The serial transmitter section consists of an 8-bit Transmit Hold Register (THR) and Transmit Shift Register (TSR). The status of the THR is provided in the Line Status Register (LSR). Writing to the THR transfers the contents of the data bus (D7-D0) to the THR, providing that the THR or TSR is empty. The THR empty flag in the LSR register will be set to a logic 1 when the transmitter is empty or when data is transferred to the TSR. Note that a write operation can be performed when the THR empty flag is set (logic 0 = FIFO full; logic 1 = at least one FIFO location available). The serial receive section also contains an 8-bit Receive Holding Register (RHR). Receive data is removed from the SC16C550 and receive FIFO by reading the RHR register. The receive section provides a mechanism to prevent false starts. On the falling edge of a start or false start bit, an internal receiver counter starts counting clocks at the 16× clock rate. After 7-1⁄2 clocks, the start bit time should be shifted to the center of the start bit. At this time the start bit is sampled, and if it is still a logic 0 it is validated. Evaluating the start bit in this manner prevents the receiver from assembling a false character. Receiver status codes will be posted in the LSR. 7.2 Interrupt Enable Register (IER) The Interrupt Enable Register (IER) masks the interrupts from receiver ready, transmitter empty, line status and modem status registers. These interrupts would normally be seen on the INT output pin. Table 9: Interrupt Enable Register bits description Bit Symbol Description 7 IER[7] CTS interrupt. Logic 0 = Disable the CTS interrupt (normal default condition). Logic 1 = Enable the CTS interrupt. The SC16C550 issues an interrupt when the CTS pin transitions from a logic 0 to a logic 1. 6 IER[6] RTS interrupt. Logic 0 = Disable the RTS interrupt (normal default condition). Logic 1 = Enable the RTS interrupt. The SC16C550 issues an interrupt when the RTS pin transitions from a logic 0 to a logic 1. 5 IER[5] Xoff interrupt. Logic 0 = Disable the software flow control, receive Xoff interrupt (normal default condition). Logic 1 = Enable the software flow control, receive Xoff interrupt. See Section 6.4 “Software flow control” for details. 4 IER[4] Sleep mode. Logic 0 = Disable sleep mode (normal default condition). Logic 1 = Enable sleep mode. See Section 6.9 “Sleep mode” for details. 3 IER[3] Modem Status Interrupt. Logic 0 = Disable the modem status register interrupt (normal default condition). Logic 1 = Enable the modem status register interrupt. © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Rev. 05 — 19 June 2003 20 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder Table 9: Interrupt Enable Register bits description…continued Bit Symbol Description 2 IER[2] Receive Line Status interrupt. This interrupt will be issued whenever a fully assembled receive character is transferred from RSR to the RHR/FIFO, i.e., data ready, LSR[0]. Logic 0 = Disable the receiver line status interrupt (normal default condition). Logic 1 = Enable the receiver line status interrupt. 1 IER[1] Transmit Holding Register interrupt. This interrupt will be issued whenever the THR is empty, and is associated with LSR[1]. Logic 0 = Disable the transmitter empty interrupt (normal default condition). Logic 1 = Enable the transmitter empty interrupt. 0 IER[0] Receive Holding Register interrupt. This interrupt will be issued when the FIFO has reached the programmed trigger level, or is cleared when the FIFO drops below the trigger level in the FIFO mode of operation. Logic 0 = Disable the receiver ready interrupt (normal default condition). Logic 1 = Enable the receiver ready interrupt. 7.2.1 IER versus Receive FIFO interrupt mode operation When the receive FIFO (FCR[0] = logic 1), and receive interrupts (IER[0] = logic 1) are enabled, the receive interrupts and register status will reflect the following: • The receive data available interrupts are issued to the external CPU when the FIFO has reached the programmed trigger level. It will be cleared when the FIFO drops below the programmed trigger level. • FIFO status will also be reflected in the user accessible ISR register when the FIFO trigger level is reached. Both the ISR register status bit and the interrupt will be cleared when the FIFO drops below the trigger level. • The data ready bit (LSR[0]) is set as soon as a character is transferred from the shift register to the receive FIFO. It is reset when the FIFO is empty. 7.2.2 IER versus Receive/Transmit FIFO polled mode operation When FCR[0] = logic 1, resetting IER[0-3] enables the SC16C550 in the FIFO polled mode of operation. Since the receiver and transmitter have separate bits in the LSR, either or both can be used in the polled mode by selecting respective transmit or receive control bit(s). • • • • LSR[0] will be a logic 1 as long as there is one byte in the receive FIFO. LSR[1-4] will provide the type of errors encountered, if any. LSR[5] will indicate when the transmit FIFO is empty. LSR[6] will indicate when both the transmit FIFO and transmit shift register are empty. • LSR[7] will indicate any FIFO data errors. © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Rev. 05 — 19 June 2003 21 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder 7.3 FIFO Control Register (FCR) This register is used to enable the FIFOs, clear the FIFOs, set the receive FIFO trigger levels, and select the DMA mode. 7.3.1 DMA mode Mode 0 (FCR bit 3 = ‘0’): Set and enable the interrupt for each single transmit or receive operation, and is similar to the 16C450 mode. Transmit Ready (TXRDY) will go to a logic 0 whenever an empty transmit space is available in the Transmit Holding Register (THR). Receive Ready (RXRDY) will go to a logic 0 whenever the Receive Holding Register (RHR) is loaded with a character. Mode 1 (FCR bit 3 = ‘1’): Set and enable the interrupt in a block mode operation. The transmit interrupt is set when the transmit FIFO has at least one empty location. The receive interrupt is set when the receive FIFO fills to the programmed trigger level. However, the FIFO continues to fill regardless of the programmed level until the FIFO is full. RXRDY remains a logic 0 as long as the FIFO fill level is above the programmed trigger level. 7.3.2 FIFO mode Table 10: FIFO Control Register bits description Bit Symbol Description 7-6 FCR[7] (MSB), FCR[6] (LSB) RCVR trigger. These bits are used to set the trigger level for the receive FIFO interrupt. 5-4 FCR[5] (MSB), FCR[4] (LSB) Not used; set to 00. 3 FCR[3] DMA mode select. An interrupt is generated when the number of characters in the FIFO equals the programmed trigger level. However, the FIFO will continue to be loaded until it is full. Refer to Table 11. Logic 0 = Set DMA mode ‘0’ (normal default condition). Logic 1 = Set DMA mode ‘1’ Transmit operation in mode ‘0’: When the SC16C550 is in the 16C450 mode (FIFOs disabled; FCR[0] = logic 0) or in the FIFO mode (FIFOs enabled; FCR[0] = logic 1; FCR[3] = logic 0), and when there are no characters in the transmit FIFO or transmit holding register, the TXRDY pin will be a logic 0. Once active, the TXRDY pin will go to a logic 1 after the first character is loaded into the transmit holding register. Receive operation in mode ‘0’: When the SC16C550 is in 16C450 mode, or in the FIFO mode (FCR[0] = logic 1; FCR[3] = logic 0) and there is at least one character in the receive FIFO, the RXRDY pin will be a logic 0. Once active, the RXRDY pin will go to a logic 1 when there are no more characters in the receiver. © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Rev. 05 — 19 June 2003 22 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder Table 10: Bit FIFO Control Register bits description…continued Symbol Description Transmit operation in mode ‘1’: When the SC16C550 is in FIFO mode (FCR[0] = logic 1; FCR[3] = logic 1), the TXRDY pin will be a logic 1 when the transmit FIFO is completely full. It will be a logic 0 if one or more FIFO locations are empty. Receive operation in mode ‘1’: When the SC16C550 is in FIFO mode (FCR[0] = logic 1; FCR[3] = logic 1) and the trigger level has been reached, or a Receive Time-Out has occurred, the RXRDY pin will go to a logic 0. Once activated, it will go to a logic 1 after there are no more characters in the FIFO. 2 FCR[2] XMIT FIFO reset. Logic 0 = No FIFO transmit reset (normal default condition). Logic 1 = Clears the contents of the transmit FIFO and resets the FIFO counter logic (the transmit shift register is not cleared or altered). This bit will return to a logic 0 after clearing the FIFO. 1 FCR[1] RCVR FIFO reset. Logic 0 = No FIFO receive reset (normal default condition). Logic 1 = Clears the contents of the receive FIFO and resets the FIFO counter logic (the receive shift register is not cleared or altered). This bit will return to a logic 0 after clearing the FIFO. 0 FCR[0] FIFO enable. Logic 0 = Disable the transmit and receive FIFO (normal default condition). Logic 1 = Enable the transmit and receive FIFO. This bit must be a ‘1’ when other FCR bits are written to, or they will not be programmed. Table 11: RCVR trigger levels FCR[7] FCR[6] RX FIFO trigger level (bytes) 0 0 1 0 1 4 1 0 8 1 1 14 © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Rev. 05 — 19 June 2003 23 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder 7.4 Interrupt Status Register (ISR) The SC16C550 provides six levels of prioritized interrupts to minimize external software interaction. The Interrupt Status Register (ISR) provides the user with six interrupt status bits. Performing a read cycle on the ISR will provide the user with the highest pending interrupt level to be serviced. No other interrupts are acknowledged until the pending interrupt is serviced. Whenever the interrupt status register is read, the interrupt status is cleared. However, it should be noted that only the current pending interrupt is cleared by the read. A lower level interrupt may be seen after re-reading the interrupt status bits. Table 12 “Interrupt source” shows the data values (bits 0-5) for the six prioritized interrupt levels and the interrupt sources associated with each of these interrupt levels. Table 12: Interrupt source Priority level ISR[5] ISR[4] ISR[3] ISR[2] ISR[1] ISR[0] Source of the interrupt 1 0 0 0 1 1 0 LSR (Receiver Line Status Register) 2 0 0 0 1 0 0 RXRDY (Received Data Ready) 2 0 0 1 1 0 0 RXRDY (Receive Data time-out) 3 0 0 0 0 1 0 TXRDY (Transmitter Holding Register Empty) 4 0 0 0 0 0 0 MSR (Modem Status Register) 5 0 1 0 0 0 0 RXRDY (Received Xoff signal) / Special character 6 1 0 0 0 0 0 CTS, RTS change of state Table 13: Interrupt Status Register bits description Bit Symbol Description 7-6 ISR[7-6] FIFOs enabled. These bits are set to a logic 0 when the FIFO is not being used. They are set to a logic 1 when the FIFOs are enabled. Logic 0 or cleared = default condition. 5-4 ISR[5-4] INT priority bits 4-3. These bits are enabled when EFR[4] is set to a logic 1. ISR[4] indicates that matching Xoff character(s) have been detected. ISR[5] indicates that CTS, RTS have been generated. Note that once set to a logic 1, the ISR[4] bit will stay a logic 1 until Xon character(s) are received. Logic 0 or cleared = default condition. 3-1 ISR[3-1] INT priority bits 2-0. These bits indicate the source for a pending interrupt at interrupt priority levels 1, 2, and 3 (see Table 12). 0 ISR[0] INT status. Logic 0 or cleared = default condition. Logic 0 = An interrupt is pending and the ISR contents may be used as a pointer to the appropriate interrupt service routine. Logic 1 = No interrupt pending (normal default condition). © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Rev. 05 — 19 June 2003 24 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder 7.5 Line Control Register (LCR) The Line Control Register is used to specify the asynchronous data communication format. The word length, the number of stop bits, and the parity are selected by writing the appropriate bits in this register. Table 14: Bit 7 Line Control Register bits description Symbol LCR[7] [1] Description Divisor latch enable. The internal baud rate counter latch and Enhance Feature mode enable. Logic 0 = Divisor latch disabled (normal default condition). Logic 1 = Divisor latch and enhanced feature register enabled. 6 LCR[6] Set break. When enabled, the Break control bit causes a break condition to be transmitted (the TX output is forced to a logic 0 state). This condition exists until disabled by setting LCR[6] to a logic 0. Logic 0 = no TX break condition (normal default condition). Logic 1 = forces the transmitter output (TX) to a logic 0 for alerting the remote receiver to a line break condition. 5 LCR[5] Set parity. If the parity bit is enabled, LCR[5] selects the forced parity format. Programs the parity conditions (see Table 15). Logic 0 = parity is not forced (normal default condition). LCR[5] = logic 1 and LCR[4] = logic 0: parity bit is forced to a logical 1 for the transmit and receive data. LCR[5] = logic 1 and LCR[4] = logic 1: parity bit is forced to a logical 0 for the transmit and receive data. 4 LCR[4] Even parity. If the parity bit is enabled with LCR[3] set to a logic 1, LCR[4] selects the even or odd parity format. Logic 0 = ODD Parity is generated by forcing an odd number of logic 1s in the transmitted data. The receiver must be programmed to check the same format (normal default condition). Logic 1 = EVEN Parity is generated by forcing an even number of logic 1s in the transmitted data. The receiver must be programmed to check the same format. 3 LCR[3] Parity enable. Parity or no parity can be selected via this bit. Logic 0 = no parity (normal default condition). Logic 1 = a parity bit is generated during the transmission, receiver checks the data and parity for transmission errors. 2 LCR[2] Stop bits. The length of stop bit is specified by this bit in conjunction with the programmed word length (see Table 16). Logic 0 or cleared = default condition. 1-0 LCR[1-0] Word length bits 1, 0. These two bits specify the word length to be transmitted or received (see Table 17). Logic 0 or cleared = default condition. [1] When LCR[7] = 1, the general register set cannot be accessed until LCR[7] = 0. © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Rev. 05 — 19 June 2003 25 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder Table 15: LCR[5] parity selection LCR[5] LCR[4] LCR[3] Parity selection X X 0 no parity 0 0 1 ODD parity 0 1 1 EVEN parity 1 0 1 force parity ‘1’ 1 1 1 forced parity ‘0’ Table 16: LCR[2] stop bit length LCR[2] Word length 0 5, 6, 7, 8 1 1 5 1-1⁄2 1 6, 7, 8 2 Table 17: Stop bit length (bit times) LCR[1-0] word length LCR[1] LCR[0] Word length 0 0 5 0 1 6 1 0 7 1 1 8 © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Rev. 05 — 19 June 2003 26 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder 7.6 Modem Control Register (MCR) This register controls the interface with the modem or a peripheral device. Table 18: Modem Control Register bits description Bit Symbol Description 7 MCR[7] Reserved; set to ‘0’. 6 MCR[6] IR enable. Logic 0 = Enable the standard modem receive and transmit input/output interface (normal default condition). Logic 1 = Enable infrared IrDA receive and transmit inputs/outputs. While in this mode, the TX/RX output/inputs are routed to the infrared encoder/decoder. The data input and output levels will conform to the IrDA infrared interface requirement. As such, while in this mode, the infrared TX output will be a logic 0 during idle data conditions. 5 MCR[5] Reserved; set to ‘0’. Use EFR[6,7] to enable Auto RTS, CTS flow control. 4 MCR[4] Loop-back. Enable the local loop-back mode (diagnostics). In this mode the transmitter output (TX) and the receiver input (RX), CTS, DSR, DCD, and RI are disconnected from the SC16C550 I/O pins. Internally the modem data and control pins are connected into a loop-back data configuration (see Figure 10). In this mode, the receiver and transmitter interrupts remain fully operational. The Modem Control Interrupts are also operational, but the interrupts’ sources are switched to the lower four bits of the Modem Control. Interrupts continue to be controlled by the IER register. Logic 0 = Disable loop-back mode (normal default condition). Logic 1 = Enable local loop-back mode (diagnostics). 3 MCR[3] OUT2, INTx enable. Used to control the modem DCD signal in the loop-back mode. Logic 0 = Forces INT output to the 3-State mode. In the loop-back mode, sets OUT2 (DCD) internally to a logic 1. Logic 1 = Forces the INT output to the active mode. In the loop-back mode, sets OUT2 (DCD) internally to a logic 0. 2 MCR[2] OUT1. This bit is used in the Loop-back mode only. In the loop-back mode, this bit is used to write the state of the modem RI interface signal via OUT1. 1 MCR[1] RTS Logic 0 = Force RTS output to a logic 1 (normal default condition). Logic 1 = Force RTS output to a logic 0. 0 MCR[0] DTR Logic 0 = Force DTR output to a logic 1 (normal default condition). Logic 1 = Force DTR output to a logic 0. © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Rev. 05 — 19 June 2003 27 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder 7.7 Line Status Register (LSR) This register provides the status of data transfers between the SC16C550 and the CPU. Table 19: Line Status Register bits description Bit Symbol Description 7 LSR[7] FIFO data error. Logic 0 = No error (normal default condition). Logic 1 = At least one parity error, framing error or break indication is in the current FIFO data. This bit is cleared when LSR register is read. 6 LSR[6] THR and TSR empty. This bit is the Transmit Empty indicator. This bit is set to a logic 1 whenever the transmit holding register and the transmit shift register are both empty. It is reset to logic 0 whenever either the THR or TSR contains a data character. In the FIFO mode, this bit is set to ‘1’ whenever the transmit FIFO and transmit shift register are both empty. 5 LSR[5] THR empty. This bit is the Transmit Holding Register Empty indicator. This bit indicates that the UART is ready to accept a new character for transmission. In addition, this bit causes the UART to issue an interrupt to CPU when the THR interrupt enable is set. The THR bit is set to a logic 1 when a character is transferred from the transmit holding register into the transmitter shift register. The bit is reset to a logic 0 concurrently with the loading of the transmitter holding register by the CPU. In the FIFO mode, this bit is set when the transmit FIFO is empty; it is cleared when at least 1 byte is written to the transmit FIFO. 4 LSR[4] Break interrupt. Logic 0 = No break condition (normal default condition). Logic 1 = The receiver received a break signal (RX was a logic 0 for one character frame time). In the FIFO mode, only one break character is loaded into the FIFO. 3 LSR[3] Framing error. Logic 0 = No framing error (normal default condition). Logic 1 = Framing error. The receive character did not have a valid stop bit(s). In the FIFO mode, this error is associated with the character at the top of the FIFO. 2 LSR[2] Parity error. Logic 0 = No parity error (normal default condition). Logic 1 = Parity error. The receive character does not have correct parity information and is suspect. In the FIFO mode, this error is associated with the character at the top of the FIFO. 1 LSR[1] Overrun error. Logic 0 = No overrun error (normal default condition). Logic 1 = Overrun error. A data overrun error occurred in the receive shift register. This happens when additional data arrives while the FIFO is full. In this case, the previous data in the shift register is overwritten. Note that under this condition, the data byte in the receive shift register is not transferred into the FIFO, therefore the data in the FIFO is not corrupted by the error. © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Rev. 05 — 19 June 2003 28 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder Table 19: Line Status Register bits description…continued Bit Symbol Description 0 LSR[0] Receive data ready. Logic 0 = No data in receive holding register or FIFO (normal default condition). Logic 1 = Data has been received and is saved in the receive holding register or FIFO. 7.8 Modem Status Register (MSR) This register provides the current state of the control interface signals from the modem, or other peripheral device to which the SC16C550 is connected. Four bits of this register are used to indicate the changed information. These bits are set to a logic 1 whenever a control input from the modem changes state. These bits are set to a logic 0 whenever the CPU reads this register. Table 20: Modem Status Register bits description Bit Symbol Description 7 MSR[7] Data Carrier Detect. DCD (Active-HIGH, logical 1). Normally this bit is the complement of the DCD input. In the loop-back mode this bit is equivalent to the OUT2 bit in the MCR register. 6 MSR[6] Ring Indicator. RI (Active-HIGH, logical 1). Normally this bit is the complement of the RI input. In the loop-back mode this bit is equivalent to the OUT1 bit in the MCR register. 5 MSR[5] Data Set Ready. DSR (Active-HIGH, logical 1). Normally this bit is the complement of the DSR input. In loop-back mode this bit is equivalent to the DTR bit in the MCR register. 4 MSR[4] Clear To Send. CTS. CTS functions as hardware flow control signal input if it is enabled via EFR[7]. The transmit holding register flow control is enabled/disabled by MSR[4]. Flow control (when enabled) allows starting and stopping the transmissions based on the external modem CTS signal. A logic 1 at the CTS pin will stop SC16C550 transmissions as soon as current character has finished transmission. Normally MSR[4] is the complement of the CTS input. However, in the loop-back mode, this bit is equivalent to the RTS bit in the MCR register. 3 MSR[3] ∆DCD [1] Logic 0 = No DCD change (normal default condition). Logic 1 = The DCD input to the SC16C550 has changed state since the last time it was read. A modem Status Interrupt will be generated. 2 MSR[2] ∆RI [1] Logic 0 = No RI change (normal default condition). Logic 1 = The RI input to the SC16C550 has changed from a logic 0 to a logic 1. A modem Status Interrupt will be generated. © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Rev. 05 — 19 June 2003 29 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder Table 20: Modem Status Register bits description…continued Bit Symbol Description 1 MSR[1] ∆DSR [1] Logic 0 = No DSR change (normal default condition). Logic 1 = The DSR input to the SC16C550 has changed state since the last time it was read. A modem Status Interrupt will be generated. 0 MSR[0] ∆CTS [1] Logic 0 = No CTS change (normal default condition). Logic 1 = The CTS input to the SC16C550 has changed state since the last time it was read. A modem Status Interrupt will be generated. [1] Whenever any MSR bit 0-3 is set to logic 1, a Modem Status Interrupt will be generated. 7.9 Scratchpad Register (SPR) The SC16C550 provides a temporary data register to store 8 bits of user information. 7.10 Enhanced Feature Register (EFR) Enhanced features are enabled or disabled using this register. Bits 0 through 4 provide single or dual character software flow control selection. When the Xon1 and Xon2 and/or Xoff1 and Xoff2 modes are selected, the double 8-bit words are concatenated into two sequential numbers. Table 21: Enhanced Feature Register bits description Bit Symbol Description 7 EFR[7] Automatic CTS flow control. Logic 0 = Automatic CTS flow control is disabled (normal default condition). Logic 1 = Enable Automatic CTS flow control. Transmission will stop when CTS goes to a logical 1. Transmission will resume when the CTS pin returns to a logical 0. 6 EFR[6] Automatic RTS flow control. Automatic RTS may be used for hardware flow control by enabling EFR[6]. When Auto-RTS is selected, an interrupt will be generated when the receive FIFO is filled to the programmed trigger level and RTS will go to a logic 1 at the next trigger level. RTS will return to a logic 0 when data is unloaded below the next lower trigger level (programmed trigger level 1). The state of this register bit changes with the status of the hardware flow control. RTS functions normally when hardware flow control is disabled. 0 = Automatic RTS flow control is disabled (normal default condition). 1 = Enable Automatic RTS flow control. © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Rev. 05 — 19 June 2003 30 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder Table 21: Enhanced Feature Register bits description…continued Bit Symbol Description 5 EFR[5] Special Character Detect. Logic 0 = Special character detect disabled (normal default condition). Logic 1 = Special character detect enabled. The SC16C550 compares each incoming receive character with Xoff2 data. If a match exists, the received data will be transferred to FIFO and ISR[4] will be set to indicate detection of special character. Bit-0 in the X-registers corresponds with the LSB bit for the receive character. When this feature is enabled, the normal software flow control must be disabled (EFR[3-0] must be set to a logic 0). 4 EFR[4] Enhanced function control bit. The content of IER[7-4], ISR[5-4], FCR[5-4], and MCR[7-5] can be modified and latched. After modifying any bits in the enhanced registers, EFR[4] can be set to a logic 0 to latch the new values. This feature prevents existing software from altering or overwriting the SC16C550 enhanced functions. Logic 0 = Disable (normal default condition). Logic 1 = Enable. 3-0 EFR[3-0] Cont-3-0 Tx, Rx control. Logic 0 or cleared is the default condition. Combinations of software flow control can be selected by programming these bits. See Table 22. Software flow control functions[1] Table 22: Cont-3 Cont-2 Cont-1 Cont-0 TX, RX software flow controls 0 0 X X No transmit flow control 1 0 X X Transmit Xon1/Xoff1 0 1 X X Transmit Xon2/Xoff2 1 1 X X Transmit Xon1 and Xon2/Xoff1 and Xoff2 X X 0 0 No receive flow control X X 1 0 Receiver compares Xon1/Xoff1 X X 0 1 Receiver compares Xon2/Xoff2 1 0 1 1 Transmit Xon1/Xoff1 Receiver compares Xon1 and Xon2, Xoff1 and Xoff2 0 1 1 1 Transmit Xon2/Xoff2 1 1 1 1 Transmit Xon1 and Xon2/Xoff1 and Xoff2 Receiver compares Xon1 and Xon2/Xoff1 and Xoff2 Receiver compares Xon1 and Xon2/Xoff1 and Xoff2 [1] When using a software flow control the Xon/Xoff characters cannot be used for data transfer. © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Rev. 05 — 19 June 2003 31 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder 7.11 SC16C550 external reset conditions Table 23: Reset state for registers Register Reset state IER IER[7-0] = 0 ISR ISR[7-1] = 0; ISR[0] = 1 LCR LCR[7-0] = 0 MCR MCR[7-0] = 0 LSR LSR[7] = 0; LSR[6-5] = 1; LSR[4-0] = 0 MSR MSR[7-4] = input signals; MSR[3-0] = 0 FCR FCR[7-0] = 0 EFR EFR[7-0] = 0 Table 24: Reset state for outputs Output Reset state TX HIGH RTS HIGH DTR HIGH RXRDY HIGH TXRDY LOW 8. Limiting values Table 25: Limiting values In accordance with the Absolute Maximum Rating System (IEC 60134). Symbol Parameter Conditions Max Unit VCC supply voltage - 7 V Vn voltage at any pin GND − 0.3 VCC + 0.3 V Tamb operating temperature −40 +85 °C Tstg storage temperature −65 +150 °C Ptot(pack) total power dissipation per package - 500 mW © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Min Rev. 05 — 19 June 2003 32 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder 9. Static characteristics Table 26: DC electrical characteristics Tamb = −40 °C to +85 °C; VCC = 2.5 V, 3.3 V or 5.0 V ±10%, unless otherwise specified. Symbol Parameter Conditions 2.5 V 3.3 V 5.0 V Min Max Min Max Min Max Unit VIL(CK) LOW-level clock input voltage −0.3 0.45 −0.3 0.6 −0.5 0.6 V VIH(CK) HIGH-level clock input voltage 1.8 VCC 2.4 VCC 3.0 VCC V VIL LOW-level input voltage −0.3 0.65 −0.3 0.8 −0.5 0.8 V VIH HIGH-level input voltage 1.6 - 2.0 - 2.2 VCC V VOL LOW-level output voltage on all outputs[2] IOL = 5 mA (databus) - - - - - 0.4 V IOL = 4 mA (other outputs) - - - 0.4 - - V IOL = 2 mA (databus) - 0.4 - - - - V IOL = 1.6 mA (other outputs) - 0.4 - - - - V IOH = −5 mA (databus) - - - - 2.4 - V IOH = −1 mA (other outputs) - - 2.0 - - - V IOH = −800 µA (databus) 1.85 - - - - - V IOH = −400 µA (other outputs) 1.85 - - - - - V VOH HIGH-level output voltage ILIL LOW-level input leakage current - ±10 - ±10 - ±10 µA ICL clock leakage - ±30 - ±30 - ±30 µA ICC average power supply current - 3.5 - 4.5 - 4.5 mA Ci input capacitance - 5 - 5 - 5 pF Rpu(int) internal pull-up resistance 500 - 500 - 500 - kΩ [1] [2] f = 5 MHz Refer to Table 2 “Pin description” on page 6 for a listing of pins having internal pull-up resistors. Except for x2, VOL = 1 V typically. © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Rev. 05 — 19 June 2003 33 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder 10. Dynamic characteristics Table 27: AC electrical characteristics Tamb = −40 °C to +85 °C; VCC = 2.5 V, 3.3 V or 5.0 V ±10%, unless otherwise specified. Symbol Parameter Conditions 2.5 V Min t1w, t2w clock pulse duration t3w clock frequency t4w Max 3.3 V Min Max 5.0 V Min Unit Max 15 - 13 - 10 - ns - 16 - 32 - 48 MHz address strobe width 45 - 35 - 25 - ns t5s address set-up time 5 - 5 - 1 - ns t5h address hold time 5 - 5 - 5 - ns t6s chip select set-up time to AS 10 - 5 - 0 - ns t6h address hold time 0 - 0 - 0 - ns 10 - 10 - 5 - ns [1] [2] t6s' address set-up time t6h chip select hold time 0 - 0 - 0 - ns t7d IOR delay from chip select 10 - 10 - 10 - ns t7w IOR strobe width 77 - 26 - 23 - ns t7h chip select hold time from IOR 0 - 0 - 0 - ns 5 - 5 - 5 - ns 10 - 10 - 10 - ns 25 pF load [2] t7h' address hold time t8d IOR delay from address t9d read cycle delay 25 pF load 20 - 20 - 20 - ns t11d IOR to DDIS delay 25 pF load - 100 - 35 - 30 ns t12d delay from IOR to data 25 pF load - 77 - 26 - 23 ns t12h data disable time 25 pF load - 15 - 15 - 15 ns t13d IOW delay from chip select 10 - 10 - 10 - ns 20 - 20 - 15 - ns [3] t13w IOW strobe width t13h chip select hold time from IOW 0 - 0 - 0 - ns t14d IOW delay from address 10 - 10 - 10 - ns 25 - 25 - 20 - ns 20 - 20 - 15 - ns [4] t15d write cycle delay t16s data set-up time t16h data hold time 15 - 5 - 5 - ns t17d delay from IOW to output 25 pF load - 100 - 33 - 29 ns t18d delay to set interrupt from Modem input 25 pF load - 100 - 24 - 23 ns 25 pF load - 100 - 24 - 23 ns - 1 - 1 - 1 Rclk - 100 - 29 - 28 ns t19d delay to reset interrupt from IOR t20d delay from stop to set interrupt t21d delay from IOR to reset interrupt t22d delay from start to set interrupt - 100 - 45 - 40 ns t23d delay from IOW to transmit start 8 24 8 24 8 24 Rclk t24d delay from IOW to reset interrupt - 100 - 45 - 40 ns t25d delay from stop to set RXRDY - 1 - 1 - 1 Rclk t26d delay from IOR to reset RXRDY - 100 - 45 - 40 ns t27d delay from IOW to set TXRDY - 100 - 45 - 40 ns 25 pF load © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Rev. 05 — 19 June 2003 34 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder Table 27: AC electrical characteristics…continued Tamb = −40 °C to +85 °C; VCC = 2.5 V, 3.3 V or 5.0 V ±10%, unless otherwise specified. Symbol Parameter Conditions 2.5 V 3.3 V Max Min Max Min Max 8 - 8 Rclk - 40 - ns delay from start to reset TXRDY - 8 - tRESET Reset pulse width 100 - 40 N baud rate divisor 1 216 − 1 1 Applies to external clock, crystal oscillator max 24 MHz. Applicable only when AS is tied LOW. [3] 1 IOWstrobe max = -------------------------------------2 ( Baudrate max ) Unit Min t28d [1] [2] 5.0 V 216 − 1 1 216 − 1 Rclk = 333 ns (for Baudratemax = 1.5 Mbits/s) = 1 µs (for Baudratemax = 460.8 kbits/s) = 4 µs (for Baudratemax = 115.2 kbits/s) [4] When in both DMA mode 0 and FIFO enable mode, the write cycle delay should be larger than one x1 clock cycle. 10.1 Timing diagrams t4w AS t5s t5h VALID ADDRESS A0–A2 t6s t6h CS2 CS1–CS0 VALID t7d t7h t7w t8d IOR, IOR t9d ACTIVE t11d t11d DDIS ACTIVE t12d D0–D7 t12h DATA 002aaa331 Fig 11. General read timing when using AS signal. © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Rev. 05 — 19 June 2003 35 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder t4w AS t5s t5h VALID ADDRESS A0–A2 t6s t6h CS2 CS1–CS0 VALID t13d t13h t13w t14d IOW, IOW t15d ACTIVE t16s D0–D7 t16h DATA 002aaa332 Fig 12. General write timing when using AS signal. VALID ADDRESS A0–A2 VALID ADDRESS t6s′ CS t7h′ ACTIVE t9d ACTIVE t12h t12d D0–D7 t7h′ t7w ACTIVE t7w IOR t6s′ t12d t12h DATA 002aaa333 Fig 13. General read timing when AS is tied to GND. © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Rev. 05 — 19 June 2003 36 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder VALID ADDRESS A0–A2 VALID ADDRESS t6s′ t7h′ t7h′ t6s′ ACTIVE CS ACTIVE t13w IOW t15d t13w ACTIVE t16h t16s D0–D7 t16s t16h DATA 002aaa334 Fig 14. General write timing when AS is tied to GND. IOW ACTIVE t17d RTS DTR CHANGE OF STATE CHANGE OF STATE DCD CHANGE OF STATE CTS CHANGE OF STATE DSR t18d INT t18d ACTIVE ACTIVE ACTIVE t19d IOR ACTIVE ACTIVE ACTIVE t18d RI CHANGE OF STATE 002aaa347 Fig 15. Modem input/output timing. © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Rev. 05 — 19 June 2003 37 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder t 2w t 1w EXTERNAL CLOCK 002aaa112 t 3w Fig 16. External clock timing. PARITY BIT START BIT STOP BIT NEXT DATA START BIT DATA BITS (5-8) RX D0 D1 D2 D3 D4 D5 D6 D7 5 DATA BITS 6 DATA BITS t20d 7 DATA BITS ACTIVE INT t21d ACTIVE IOR 16 BAUD RATE CLOCK 002aaa113 Fig 17. Receive timing. © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Rev. 05 — 19 June 2003 38 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder PARITY BIT START BIT STOP BIT NEXT DATA START BIT DATA BITS (5–8) RX D0 D1 D2 D3 D4 D5 D6 D7 t25d ACTIVE DATA READY RXRDY t26d ACTIVE IOR 002aaa114 Fig 18. Receive ready timing in non-FIFO mode. START BIT PARITY BIT STOP BIT DATA BITS (5–8) RX D0 D1 D2 D3 D4 D5 D6 D7 FIRST BYTE THAT REACHES THE TRIGGER LEVEL t25d ACTIVE DATA READY RXRDY t26d ACTIVE IOR 002aaa115 Fig 19. Receive ready timing in FIFO mode. © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Rev. 05 — 19 June 2003 39 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder PARITY BIT START BIT STOP BIT NEXT DATA START BIT DATA BITS (5–8) TX D0 D1 D2 D3 D4 D5 D6 D7 5 DATA BITS 6 DATA BITS 7 DATA BITS ACTIVE TX READY INT t22d t24d t23d IOW ACTIVE ACTIVE 16 BAUD RATE CLOCK 002aaa116 Fig 20. Transmit timing. © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Rev. 05 — 19 June 2003 40 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder START BIT PARITY BIT STOP BIT NEXT DATA START BIT DATA BITS (5–8) TX D0 IOW ACTIVE D0–D7 BYTE #1 D1 D2 D3 D4 D5 D6 D7 TRANSMITTER READY t28d t27d ACTIVE TXRDY TRANSMITTER NOT READY 002aaa129 Fig 21. Transmit ready timing in non-FIFO mode. © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Rev. 05 — 19 June 2003 41 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder START BIT PARITY BIT STOP BIT DATA BITS (5-8) TX D0 D1 D2 D3 D4 D5 D6 D7 5 DATA BITS 6 DATA BITS 7 DATA BITS IOW ACTIVE t28d D0–D7 BYTE #16 t27d TXRDY FIFO FULL 002aaa118 Fig 22. Transmit ready timing in FIFO mode (DMA mode ‘1’). © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Rev. 05 — 19 June 2003 42 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder TX DATA 0 STOP START UART FRAME DATA BITS 1 0 1 0 0 1 1 0 1 IRTXA–IRTXD TX BIT TIME 1/2 BIT TIME 3/16 BIT TIME 002aaa212 Fig 23. Infrared transmit timing. IRRXA–IRRXD RX BIT TIME 1 0 1 0 0 DATA BITS 1 1 0 1 STOP 0 START RX DATA 0-1 16X CLOCK DELAY UART FRAME 002aaa213 Fig 24. Infrared receive timing. © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Rev. 05 — 19 June 2003 43 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder 11. Package outline PLCC44: plastic leaded chip carrier; 44 leads SOT187-2 eD eE y X 39 A 29 28 40 bp ZE b1 w M 44 1 E HE pin 1 index A A4 A1 e (A 3) 6 β 18 Lp k 7 detail X 17 e v M A ZD D B HD v M B 0 5 10 mm scale DIMENSIONS (mm dimensions are derived from the original inch dimensions) A4 A1 UNIT A A3 D(1) E(1) e eD eE HD bp b1 max. min. 4.57 4.19 mm inches 0.81 0.66 HE k 16.66 16.66 16.00 16.00 17.65 17.65 1.22 1.27 16.51 16.51 14.99 14.99 17.40 17.40 1.07 0.51 0.25 3.05 0.53 0.33 0.180 0.02 0.165 0.01 0.12 0.021 0.032 0.656 0.656 0.05 0.013 0.026 0.650 0.650 0.63 0.59 0.63 0.59 Lp v w y 1.44 1.02 0.18 0.18 0.1 ZD(1) ZE(1) max. max. 2.16 β 2.16 45 o 0.695 0.695 0.048 0.057 0.007 0.007 0.004 0.085 0.085 0.685 0.685 0.042 0.040 Note 1. Plastic or metal protrusions of 0.25 mm (0.01 inch) maximum per side are not included. REFERENCES OUTLINE VERSION IEC JEDEC JEITA SOT187-2 112E10 MS-018 EDR-7319 EUROPEAN PROJECTION ISSUE DATE 99-12-27 01-11-14 Fig 25. PLCC44 (SOT187-2). © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Rev. 05 — 19 June 2003 44 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder LQFP48: plastic low profile quad flat package; 48 leads; body 7 x 7 x 1.4 mm SOT313-2 c y X 36 25 A 37 24 ZE e E HE A A2 (A 3) A1 w M θ bp pin 1 index Lp L 13 48 detail X 12 1 ZD e v M A w M bp D B HD v M B 0 2.5 5 mm scale DIMENSIONS (mm are the original dimensions) UNIT A max. A1 A2 A3 bp c D (1) E (1) e HD HE L Lp v w y mm 1.6 0.20 0.05 1.45 1.35 0.25 0.27 0.17 0.18 0.12 7.1 6.9 7.1 6.9 0.5 9.15 8.85 9.15 8.85 1 0.75 0.45 0.2 0.12 0.1 Z D (1) Z E (1) θ 0.95 0.55 7 0o 0.95 0.55 o Note 1. Plastic or metal protrusions of 0.25 mm maximum per side are not included. REFERENCES OUTLINE VERSION IEC JEDEC SOT313-2 136E05 MS-026 JEITA EUROPEAN PROJECTION ISSUE DATE 00-01-19 03-02-25 Fig 26. LQFP48 (SOT313-2). © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Rev. 05 — 19 June 2003 45 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder seating plane DIP40: plastic dual in-line package; 40 leads (600 mil) SOT129-1 ME D A2 L A A1 c e Z w M b1 (e 1) b MH 21 40 pin 1 index E 1 20 0 5 10 mm scale DIMENSIONS (inch dimensions are derived from the original mm dimensions) UNIT A max. A1 min. A2 max. b b1 c mm 4.7 0.51 4 1.70 1.14 0.53 0.38 0.36 0.23 52.5 51.5 inches 0.19 0.02 0.16 0.067 0.045 0.021 0.015 0.014 0.009 2.067 2.028 D e e1 L ME MH w Z (1) max. 14.1 13.7 2.54 15.24 3.60 3.05 15.80 15.24 17.42 15.90 0.254 2.25 0.56 0.54 0.1 0.6 0.14 0.12 0.62 0.60 0.69 0.63 0.01 0.089 (1) E (1) Note 1. Plastic or metal protrusions of 0.25 mm (0.01 inch) maximum per side are not included. REFERENCES OUTLINE VERSION IEC JEDEC JEITA SOT129-1 051G08 MO-015 SC-511-40 EUROPEAN PROJECTION ISSUE DATE 99-12-27 03-02-13 Fig 27. DIP40 (SOT129-1). © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Rev. 05 — 19 June 2003 46 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder 12. Soldering 12.1 Introduction This text gives a very brief insight to a complex technology. A more in-depth account of soldering ICs can be found in our Data Handbook IC26; Integrated Circuit Packages (document order number 9398 652 90011). There is no soldering method that is ideal for all IC packages. Wave soldering is often preferred when through-hole and surface mount components are mixed on one printed-circuit board. Wave soldering can still be used for certain surface mount ICs, but it is not suitable for fine pitch SMDs. In these situations reflow soldering is recommended. Driven by legislation and environmental forces the worldwide use of lead-free solder pastes is increasing. 12.2 Through-hole mount packages 12.2.1 Soldering by dipping or by solder wave Typical dwell time of the leads in the wave ranges from 3 to 4 seconds at 250 °C or 265 °C, depending on solder material applied, SnPb or Pb-free respectively. The total contact time of successive solder waves must not exceed 5 seconds. The device may be mounted up to the seating plane, but the temperature of the plastic body must not exceed the specified maximum storage temperature (Tstg(max)). If the printed-circuit board has been pre-heated, forced cooling may be necessary immediately after soldering to keep the temperature within the permissible limit. 12.2.2 Manual soldering Apply the soldering iron (24 V or less) to the lead(s) of the package, either below the seating plane or not more than 2 mm above it. If the temperature of the soldering iron bit is less than 300 °C it may remain in contact for up to 10 seconds. If the bit temperature is between 300 and 400 °C, contact may be up to 5 seconds. 12.3 Surface mount packages 12.3.1 Reflow soldering Reflow soldering requires solder paste (a suspension of fine solder particles, flux and binding agent) to be applied to the printed-circuit board by screen printing, stencilling or pressure-syringe dispensing before package placement. Several methods exist for reflowing; for example, convection or convection/infrared heating in a conveyor type oven. Throughput times (preheating, soldering and cooling) vary between 100 and 200 seconds depending on heating method. Typical reflow peak temperatures range from 215 to 270 °C depending on solder paste material. The top-surface temperature of the packages should preferably be kept: • below 220 °C (SnPb process) or below 245 °C (Pb-free process) – for all the BGA and SSOP-T packages © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Rev. 05 — 19 June 2003 47 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder – for packages with a thickness ≥ 2.5 mm – for packages with a thickness < 2.5 mm and a volume ≥ 350 mm3 so called thick/large packages. • below 235 °C (SnPb process) or below 260 °C (Pb-free process) for packages with a thickness < 2.5 mm and a volume < 350 mm3 so called small/thin packages. Moisture sensitivity precautions, as indicated on packing, must be respected at all times. 12.3.2 Wave soldering Conventional single wave soldering is not recommended for surface mount devices (SMDs) or printed-circuit boards with a high component density, as solder bridging and non-wetting can present major problems. To overcome these problems the double-wave soldering method was specifically developed. If wave soldering is used the following conditions must be observed for optimal results: • Use a double-wave soldering method comprising a turbulent wave with high upward pressure followed by a smooth laminar wave. • For packages with leads on two sides and a pitch (e): – larger than or equal to 1.27 mm, the footprint longitudinal axis is preferred to be parallel to the transport direction of the printed-circuit board; – smaller than 1.27 mm, the footprint longitudinal axis must be parallel to the transport direction of the printed-circuit board. The footprint must incorporate solder thieves at the downstream end. • For packages with leads on four sides, the footprint must be placed at a 45° angle to the transport direction of the printed-circuit board. The footprint must incorporate solder thieves downstream and at the side corners. During placement and before soldering, the package must be fixed with a droplet of adhesive. The adhesive can be applied by screen printing, pin transfer or syringe dispensing. The package can be soldered after the adhesive is cured. Typical dwell time of the leads in the wave ranges from 3 to 4 seconds at 250 °C or 265 °C, depending on solder material applied, SnPb or Pb-free respectively. A mildly-activated flux will eliminate the need for removal of corrosive residues in most applications. 12.3.3 Manual soldering Fix the component by first soldering two diagonally-opposite end leads. Use a low voltage (24 V or less) soldering iron applied to the flat part of the lead. Contact time must be limited to 10 seconds at up to 300 °C. When using a dedicated tool, all other leads can be soldered in one operation within 2 to 5 seconds between 270 and 320 °C. © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Rev. 05 — 19 June 2003 48 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder 12.4 Package related soldering information Table 28: Suitability of IC packages for wave, reflow and dipping soldering methods Mounting Package[1] Wave Reflow[2] Dipping − suitable Through-hole mount DBS, DIP, HDIP, SDIP, SIL suitable[3] Surface mount BGA, LBGA, LFBGA, SQFP, SSOP-T[4], TFBGA, VFBGA not suitable suitable − DHVQFN, HBCC, HBGA, HLQFP, HSQFP, HSOP, HTQFP, HTSSOP, HVQFN, HVSON, SMS not suitable[5] suitable − PLCC[6], SO, SOJ suitable LQFP, QFP, TQFP SSOP, TSSOP, VSO, VSSOP [1] [2] [3] [4] [5] [6] [7] [8] suitable − not recommended[6][7] suitable − not recommended[8] suitable − For more detailed information on the BGA packages refer to the (LF)BGA Application Note (AN01026); order a copy from your Philips Semiconductors sales office. All surface mount (SMD) packages are moisture sensitive. Depending upon the moisture content, the maximum temperature (with respect to time) and body size of the package, there is a risk that internal or external package cracks may occur due to vaporization of the moisture in them (the so called popcorn effect). For details, refer to the Drypack information in the Data Handbook IC26; Integrated Circuit Packages; Section: Packing Methods. For SDIP packages, the longitudinal axis must be parallel to the transport direction of the printed-circuit board. These transparent plastic packages are extremely sensitive to reflow soldering conditions and must on no account be processed through more than one soldering cycle or subjected to infrared reflow soldering with peak temperature exceeding 217 °C ± 10 °C measured in the atmosphere of the reflow oven. The package body peak temperature must be kept as low as possible. These packages are not suitable for wave soldering. On versions with the heatsink on the bottom side, the solder cannot penetrate between the printed-circuit board and the heatsink. On versions with the heatsink on the top side, the solder might be deposited on the heatsink surface. If wave soldering is considered, then the package must be placed at a 45° angle to the solder wave direction. The package footprint must incorporate solder thieves downstream and at the side corners. Wave soldering is suitable for LQFP, QFP and TQFP packages with a pitch (e) larger than 0.8 mm; it is definitely not suitable for packages with a pitch (e) equal to or smaller than 0.65 mm. Wave soldering is suitable for SSOP and TSSOP packages with a pitch (e) equal to or larger than 0.65 mm; it is definitely not suitable for packages with a pitch (e) equal to or smaller than 0.5 mm. © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Soldering method Rev. 05 — 19 June 2003 49 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder 13. Revision history Table 29: Revision history Rev Date 05 20030619 CPCN Description - Product data (9397 750 11619); ECN 853-2366 30027 of 16 June 2003. Modifications: • Figure 9 “Crystal oscillator connection.” on page 15: changed capacitors’ values and added connection with resistor. 04 20030313 - Product data (9397 750 11206); ECN 853-2366 29626 of 10 March 2003. 03 20030221 - Product data (9397 750 10826); ECN 853-2366 29261 of 06 December 2002. 02 20021030 - Product data (9397 750 10627); ECN 853-2366 29108 of 24 October 2002. 01 20020904 - Product data (9397 750 09836); ECN 853-2366 28865 of 04 September 2002. © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Product data Rev. 05 — 19 June 2003 50 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder 14. Data sheet status Level Data sheet status[1] Product status[2][3] Definition I Objective data Development This data sheet contains data from the objective specification for product development. Philips Semiconductors reserves the right to change the specification in any manner without notice. II Preliminary data Qualification This data sheet contains data from the preliminary specification. Supplementary data will be published at a later date. Philips Semiconductors reserves the right to change the specification without notice, in order to improve the design and supply the best possible product. III Product data Production This data sheet contains data from the product specification. Philips Semiconductors reserves the right to make changes at any time in order to improve the design, manufacturing and supply. Relevant changes will be communicated via a Customer Product/Process Change Notification (CPCN). [1] Please consult the most recently issued data sheet before initiating or completing a design. [2] The product status of the device(s) described in this data sheet may have changed since this data sheet was published. The latest information is available on the Internet at URL http://www.semiconductors.philips.com. [3] For data sheets describing multiple type numbers, the highest-level product status determines the data sheet status. 15. Definitions 16. Disclaimers Short-form specification — The data in a short-form specification is extracted from a full data sheet with the same type number and title. For detailed information see the relevant data sheet or data handbook. Life support — These products are not designed for use in life support appliances, devices, or systems where malfunction of these products can reasonably be expected to result in personal injury. Philips Semiconductors customers using or selling these products for use in such applications do so at their own risk and agree to fully indemnify Philips Semiconductors for any damages resulting from such application. Limiting values definition — Limiting values given are in accordance with the Absolute Maximum Rating System (IEC 60134). Stress above one or more of the limiting values may cause permanent damage to the device. These are stress ratings only and operation of the device at these or at any other conditions above those given in the Characteristics sections of the specification is not implied. Exposure to limiting values for extended periods may affect device reliability. Application information — Applications that are described herein for any of these products are for illustrative purposes only. Philips Semiconductors make no representation or warranty that such applications will be suitable for the specified use without further testing or modification. Right to make changes — Philips Semiconductors reserves the right to make changes in the products - including circuits, standard cells, and/or software - described or contained herein in order to improve design and/or performance. When the product is in full production (status ‘Production’), relevant changes will be communicated via a Customer Product/Process Change Notification (CPCN). Philips Semiconductors assumes no responsibility or liability for the use of any of these products, conveys no licence or title under any patent, copyright, or mask work right to these products, and makes no representations or warranties that these products are free from patent, copyright, or mask work right infringement, unless otherwise specified. Contact information For additional information, please visit http://www.semiconductors.philips.com. For sales office addresses, send e-mail to: [email protected]. Product data Fax: +31 40 27 24825 © Koninklijke Philips Electronics N.V. 2003. All rights reserved. 9397 750 11619 Rev. 05 — 19 June 2003 51 of 52 SC16C550 Philips Semiconductors UART with 16-byte FIFO and IrDA encoder/decoder Contents 1 2 3 4 5 5.1 5.2 6 6.1 6.2 6.3 6.3.1 6.3.2 6.3.3 6.3.4 6.4 6.5 6.6 6.7 6.8 6.9 6.10 7 7.1 7.2 7.2.1 7.2.2 7.3 7.3.1 7.3.2 7.4 7.5 7.6 7.7 7.8 7.9 7.10 7.11 General description . . . . . . . . . . . . . . . . . . . . . . 1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Ordering information . . . . . . . . . . . . . . . . . . . . . 2 Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Pinning information . . . . . . . . . . . . . . . . . . . . . . 4 Pinning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Pin description . . . . . . . . . . . . . . . . . . . . . . . . . 6 Functional description . . . . . . . . . . . . . . . . . . . 9 Internal registers. . . . . . . . . . . . . . . . . . . . . . . 10 FIFO operation . . . . . . . . . . . . . . . . . . . . . . . . 10 Autoflow control (see Figure 5) . . . . . . . . . . . . 11 Auto-RTS (see Figure 5). . . . . . . . . . . . . . . . . 11 Auto-CTS (see Figure 5). . . . . . . . . . . . . . . . . 12 Enabling autoflow control and auto-CTS . . . . 12 Auto-CTS and auto-RTS functional timing . . . 12 Software flow control . . . . . . . . . . . . . . . . . . . 13 Special feature software flow control . . . . . . . 14 Hardware/software and time-out interrupts. . . 14 Programmable baud rate generator . . . . . . . . 15 DMA operation . . . . . . . . . . . . . . . . . . . . . . . . 16 Sleep mode. . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Loop-back mode . . . . . . . . . . . . . . . . . . . . . . . 17 Register descriptions . . . . . . . . . . . . . . . . . . . 19 Transmit (THR) and Receive (RHR) Holding Registers . . . . . . . . . . . . . . . . . . . . . 20 Interrupt Enable Register (IER) . . . . . . . . . . . 20 IER versus Receive FIFO interrupt mode operation . . . . . . . . . . . . . . . . . . . . . . . 21 IER versus Receive/Transmit FIFO polled mode operation . . . . . . . . . . . . . . . . . . . . . . . 21 FIFO Control Register (FCR) . . . . . . . . . . . . . 22 DMA mode . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 FIFO mode . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Interrupt Status Register (ISR) . . . . . . . . . . . . 24 Line Control Register (LCR) . . . . . . . . . . . . . . 25 Modem Control Register (MCR) . . . . . . . . . . . 27 Line Status Register (LSR) . . . . . . . . . . . . . . . 28 Modem Status Register (MSR). . . . . . . . . . . . 29 Scratchpad Register (SPR) . . . . . . . . . . . . . . 30 Enhanced Feature Register (EFR) . . . . . . . . . 30 SC16C550 external reset conditions . . . . . . . 32 © Koninklijke Philips Electronics N.V. 2003. Printed in the U.S.A All rights are reserved. Reproduction in whole or in part is prohibited without the prior written consent of the copyright owner. The information presented in this document does not form part of any quotation or contract, is believed to be accurate and reliable and may be changed without notice. No liability will be accepted by the publisher for any consequence of its use. Publication thereof does not convey nor imply any license under patent- or other industrial or intellectual property rights. Date of release: 19 June 2003 Document order number: 9397 750 11619 8 9 10 10.1 11 12 12.1 12.2 12.2.1 12.2.2 12.3 12.3.1 12.3.2 12.3.3 12.4 13 14 15 16 Limiting values . . . . . . . . . . . . . . . . . . . . . . . . Static characteristics . . . . . . . . . . . . . . . . . . . Dynamic characteristics . . . . . . . . . . . . . . . . . Timing diagrams. . . . . . . . . . . . . . . . . . . . . . . Package outline . . . . . . . . . . . . . . . . . . . . . . . . Soldering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . Through-hole mount packages . . . . . . . . . . . Soldering by dipping or by solder wave . . . . . Manual soldering . . . . . . . . . . . . . . . . . . . . . . Surface mount packages . . . . . . . . . . . . . . . . Reflow soldering. . . . . . . . . . . . . . . . . . . . . . . Wave soldering. . . . . . . . . . . . . . . . . . . . . . . . Manual soldering . . . . . . . . . . . . . . . . . . . . . . Package related soldering information . . . . . . Revision history . . . . . . . . . . . . . . . . . . . . . . . Data sheet status. . . . . . . . . . . . . . . . . . . . . . . Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . Disclaimers . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 33 34 35 44 47 47 47 47 47 47 47 48 48 49 50 51 51 51