GM16C550 GM16C550 ASYNCHRONOUS COMMUNICATIONS ELEMENT WITH FIFOs Descriptions Features The GM16C550 is an asynchronous communications element (ACE) that is functionally equivalent to the GM16C450, and addition-ally incorporates a 16byte FIFOs are available on both the transmitter and receiver, and can be activated by placing the device in the FIFO mode. After a reset, the registers of the GM16C550 are identical to those of the GM16C450. The UART performs serial-to-parallel conver- sion on data characters received from a peri-pheral device or a MODEM, and parallel-to- serial conversion on data characters received from the CPU. The CPU can read the com- plete status of the UART at any time during the functional operation. Status information reported includes the type and condition of the transfer operations being performed by the UART, as well as any error conditions (parity, overrun, framing, or break interrupt). l l Fully compatible with GM16C450. Modem controm signals include CTS , RTS , DSR , DTR , RI and - DCD . l Programmable serial characteristics: —5-, 6-, 7- or 8-bit characters — Even-, odd-, or no-parity bit generation and detection —1-, 11/2- or 2-stop bit generation — Baud rate generation (DC to 256K baud) l 16 byte FIFO reduces CPU interrupts. l Independent control of transmit, receive, line status, data set interrupts, FIFOs. l Full status reporting capabilities l Three-state, TTL drive capabilities for biderectional data bus and control bus. l 40DIP/44PLCC SIN SOUT CS0 CS1 CS2 BAUDQUT XTAL1 XTAL2 DOSTR DOSTR VSS VCC RI DCD DSR CTS MR OUT1 DTR RTS OUT2 INTRPT RXRDY A0 A1 A2 D5 D6 D7 RCLK SIN N.C. SOUT CS0 CS1 CS2 BAUDQUT MR OUT1 DTR RTS OUT2 N.C. INTRPT RXRDY A0 A1 A2 VSS N.C. DISTR DISTR DDIS TXRDY D0 D1 D2 D3 D4 D5 D6 D7 RCLK D4 D3 D2 D1 D0 N.C. VCC RI DCD DSR CTS Pin Configulation ADS TXRDY DDIS DISTR DISTR 1 GM16C550 Absolute Maximum Ratings Temperature under Bias Storage Temperature All Input or Output Voltages with respect to VSS Power Dissipation Note: Maximum ratings indicates limits beyond which 0°C to + 70°C − 65°C to + 150°C permanent damage may occur. Continuous opera-tion at these limits is not intended and should be limited to those conditions specified under DC electrical characteristics. − 0.5V to + 7.0 V 500 mW DC Electrical Characteristics TA = 0°C TO + 70°C , VCC = 5V ± 5% , VSS = 0V unless otherwise specified Symbol Parameter Min Max Units VILX Clock Input Low Voltage -0.5 0.8 VIHX Clock Input High Voltage 2.0 VCC VIL Input Low Voltage -0.5 0.8 VIH Input High Voltage 2.2 VCC VOL Output Low Voltage VOH Output High Voltage ICC (AV ) Average Power Supply Current( VCC ) 10 (Note 2) I IL Input Leakage ±10 µA I CL Clock Leakage ±10 µA V V V V V V 0.4 2.4 mA IOZ 3-State Leakage ±20 µA VILMR MR Schmitt VIL 0.8 VIHMR MR Schmitt VIH V V 2.2 Conditions I OL = 1.6 I OH = −1.0 mA on all, Note 1 mA , Note 1 VCC =5.25 V , No loads on output SIN DSR, DCD, CTS VCC =5.25 V , VSS =0 V . All other pins floating. VIN = 0V , 5.25 V VCC =5.25 V , GND =0 V . VOUT = 0V ,5.25 V 1) Chip Deselected 2) Write mode, chip selected Note 1. Does not apply to XOUT. Note 2. Ta=25C Capitance TA = 25°C , VCC = V SS = 0V Symbol C XIN C XOUT C IN C OUT Parameter Clock Input Capitance Clock Output Capitance Input Capitance Output Capitance Min Tye 15 20 6 10 2 Max 20 30 10 20 Units pF pF pF pF Conditions f C = 1MHz Unmeasured pins Returned to VSS GM16C550 AC Characteristics TA = 0°C to + 70°C, VCC = 5V ± 5% Symbol Parameter Min Max Units Conditions t ADS Address Srobe Width t AH Address Hold Time t AR RD, RD Delay from Address t AS Address Setup Time 60 ns t AW WR , WR Delay from Select 30 ns t CH Chip Select Hold Time 0 ns t CS Chip Select Setup time 60 ns t CSR RD, RD Delay from Chip Select 30 ns Note 1 t CSW WR , WR Delay from Select 30 ns Note 1 t DH Data Hold Time 30 ns t DS Date Setup Time 30 t HZ RD, RD to Floating Data Delay 0 t MR Master Reset Pulse Width 5 ns r RA Address Hold Time from RD, RD t RC Read Cycle Delay t RCS Chip Select Hold Time from RD, RD t RD RD, RD Strobe Width t RDD RD, RD to Driver Enable/Disable t RVD Delay from - RD, RD to Data t WA Address Hold Time from WR , WR t WC Write Cycle Delay t WCA Chip Select Hold Time from WR , WR t WR WR , WR Strobe Width t XH t XL 60 ns 0 ns 30 ns Note 1 Note 1 ns 100 ns 20 ns 125 ns 20 ns 125 ns 100 pF loading, Note 3 Note 1 Note 1 60 ns 100 pF loading, Note 3 125 ns 100 pF loading, 20 ns Note 1 150 ns 20 ns 100 ns Duration of clock High Pulse 55 ns External Clock (8.0 MHz Max.) Duration of clock Low Pulse 55 ns Exrternal Clock (8.9 MHz Max.) Note 4 RC Read Cycle= t AR + t RD + t RC 280 ns WC Write Cycle= t AW + t WR + t WC 280 ns Note 1 Baud Generator N Baud Divisor 216 -1 1 t BHD Baud Output Positive Edge Delay 175 ns 100 pF load t BLD Baud Output Negative Edge Delay 175 ns 100 pF load t HW Baud Output Up Time 75 ns f X = 8.0 MHz , +2, 100 pF load t LW Baud Output Down Time 100 ns f X = 8.0 MHz , +2, 100 pF load 3 GM16C550 AC Characteristics Symbol TA = 0°C to + 70°C , VCC = 5V ± 5% Parameter Min Max Units Conditions Receiver RINT Delay from RD, RD (RD RBR/ or RD LSR) to Reset Interupt 1 t Delay from RCLK to Sample Time 2 µs 1 RCLK Cycles t t SCD SINT Delay from Stop to Set Interrupt µs 100 pF load Note 2 Transmitter HR Delay from WR , WR (WR THR) To Reset Interrupt 175 ns 100 pF load t IR Delay from RD, RD (RD IIR) To Reset Interrupt (THRE) 250 ns 100 pF load IRS Delay from Initial INTR Reset To Transmit Start 8 24 Baudout Cycles t SI Delay from Initial Write to Interrupt 16 24 Baudout Cycles Note 5 STI Delay from Stop to Interrupt (THRE) 8 8 Baudout Cycles Note 5 t SXV Delay from Start to TXRDY Active 8 Baudout Cycles 100 pF load t WXI Delay from Write to TXRDY inactive 195 ns 100 pF load t t t Modem Control t MDO Delay from WR , WR (WR MCR) to Output 200 ns 100 pF load t RIM Delay to Reset Interrupt from RD, RD (RD MSR) 250 ns 100 pF load t SIM Delay to Set Interrupt from MODEM Input 250 ns 100 pF load Notes 1. Applicable only when ADS is tied low. 2. In the FIFO mode (FCRO=1) the trigger level interrupts, the receiver data available indication, the active RXRDY indica-tion and the overrun error indication will be delayed 3 RCLKs. Status indicators (PE, FE, BI) will be delayed 3 RCLKs after the first byte has been received. For subsequently received bytes these indicators will be updated immediately after RDRBR goes inactive. Timeout interrupt is delayed 8 RCLKs. 3. Change and discharge time is determined by VOL, VOH and the external loading. 4.In FIFO mode RC=425 ns (minimum) between reads of the receiver FIFO and the status registers (interrupt identification register or line status register). 5. This delay will be lengthened by 1 character time, minus the last stop bit time if the transmitter interrupt delay circuit is active (See FIFO Interrupt Mode Operatione) 4 GM16C550 Timing Waveforms (All timings are referenced to valid 0 and valid) External Clock Input (8.0 MHz Max.) t AT Test Points XH 2.4V 2.4V XIN 2.2V 0.8V 0.4V t 2.2V (Note 2) 0.8V (Note 1) 0.4V XL Note 1: The 2.4V and 0.4V levels are the voltages that the inputs are driven to during AC testing. Note 2: The 2.2V and 0.8V levels are the voltages at which the timing tests are made. BAUDOUT Timing N XIN t BHD t BAUD OUT (÷1) t BLD t t BLD t BHD t BAUD OUT (÷2) t t t BLD BAUD OUT (÷3) t t BLD HW HW BHD LW LW t HW t LW t BHD BAUD OUT ( ÷ N.N > 3) t 5 HW = ( N − 2)XIN CYCLES LW =2 XIN CTLES GM16C550 Timing Waveforms (Continued) Write Cycle tADS ADS tAS A2,A1,A0 tAH VALID tCS CS 2 ,CS1,CS0 tCH tWA* VALID tSCW* tAW* tCSW* WC tWR WR ,WR tWC ACTIVE ACTIVE OR ACTIVE RD ,RD tDS DATA D0-D7 tDH VALID DATA *Applicable Only When ADS is Tied Low. Read Cycle tADS ADS tAS A2,A1,A0 tAH VALID tCS tCH tRA* VALID CS 2 ,CS1,CS0 tCSR* tAR* tRCS* RC tRD RD ,RD tRC ACTIVE ACTIVE OR ACTIVE WR ,WR tRDD tRDD DDIS tHZ tRVD DATA D0-D7 VALID DATA *Applicable Only When ADS is Tied Low. 6 GM16C550 Receiver Timing RCKK 8 CLKS tSCD SAMPLE CLK SIN RECEIVER INPUT DATA START DATA BITS(5-8) STOP PARITY SAMPLE CLK tSINT INTERRUPT (DATA READY OR RCVR ERR tRIN DISTR /DOSTR (READ REC DATA BUFFER OR RDLSR) ACTIVE Transmitter Timing SERIAL OUT (SOUT) INTERRUPT (THRE) START DATA(5- tiRS tHR START PARITY STOP(1 tSTI tMR tSI DISTR/DISTR (WR, THR) tIR DISTR/DISTR (RD IIR) MODEM Comtrol Timing DISTR/DISTR (WR MCR) RTS. DTR OUT1. OUT2 tMDO tMDO CTS. DSR. DCD INTERRUPT tSIM tRIM DISTR/DISTR (RD MSR) RI Note 1: See Write Cycle Timing Note 2: See Read Cycle Timing 7 tSIM tRIM tSIM GM16C550 Timing Waveforms (continued) RAVR FIFO First byte (This Sets RDR) SIN DATA (5-6) STOP SAMPLE CLOCK FIFO OR ABOVE TRIGGER LEVEL TRIGGER LEVEL INTERRUPT (FCR6,7 = 0.0) FIFO BELOW TRIGGER LEVEL NOTE 2 tSINT tRINT LSI INTERRUPT tRINT RD, RD ACTIVE (RDLS RD, RD (RDRBR) ACTIVE RCVR FIFO Byte Other Than the First Byte (RDR is Already Set) SIN SAMPLE CLOCK FIFO AT OR ABOVE TRIGGER LEVEL TIMEOUT OR TRIGGER LEVEL INTERRUPT (FIFO BELOW tRINT TRIGGER LEVEL) NOTE 2 tSINT TOP BYTE OF FIFO LSI INTERRUPT tSINT RD, RD (RDLSR) tRINT ACTIVE RD, RD (RDRBR) ACTIVE ACTIVE PREVIOUS BYTE READ FROM FIFO Receiver Ready (pin 29) FCRO = 0 or FCRO = 1 and FCRO = 3 (Mode 0) RD, RD (RDRBR) ACTIVE NOTE 1 SIN (FIRST BYTE) STOP SAMPLE CLK RXRDY tSINT NOTE 2 tRINT Note 1: This is the reading of the last byte in the FIFO Note 2: If FCRO =1, then Tsint = 3 RCLKs. For a timeout tSINT = 0 RCLKs. 8 GM16C550 Timing waveforms (Continued) Receiver Ready (pin 29) FCRO = 0 or FCRO = 1 and FCRO = 1 (Mode 1) RD, RD (RDRBR) ACTIVE NOTE 1 SIN STOP (FIRST SAMPLE CLK RXRDY tSINT NOTE 2 tRINT Note 1 : This si the reading of the last byte in the FIFO Note 2 : If FCRO = 1, Tsint = 3 RCLKs. RCVR FIFO Byte Other Than First Byte (RDR is Already Set) WR, WR (WRTHR) SOUT BYTE 1 DATA PARITY STOP START TXRDY tWXI tSXA Transmitter Ready (pin 24) FCRO = 1 and FCR = 1 (Mode 1) WR WR (WRTHR) SOUT BYTE 16 DATA PARITY STOP START FIFO FULL TXRDY tWXI 9 tSXA GM16C550 INTERNAL DATA BUS DATA BUS BUFFER (1-8) D7-D0 (28) SELECT INTERNAL BLOCK DIAGRAM RECEIVER FIFO RECEIVER BUFFER REGISTER RECEIVER SHIFT REGISTER (10) LINE CONTROL REGISTER RECEIVER TIMING & CONTROL (9) (27) SIN RCLK (26) CS1 CS2 ASD MR RD RD WR WR DDIS TXRDY XIN XOUT RXRDY DIVIOR LATCH(LS) (12) (15) BAUD GENERATOR (13) BAUDIUT DIVISOR LATCH(MS) (14) (25) (35) (22) (21) SELENT & CONTROL LOGIC RECEIVER TIMING & CONTROL LINE STATUS REGISTER (19) TRANSMITTER FIFO 18 (23) TRANSTMTTER HOLDING REGISTER (24) SELECT CSO TRANSTMTTER HOLDING REGISTER (11) SOUT (16) (32) (17) MODEM CONTROL REGISTER (29) POWER SUPPLY { (40) (20) +5v (36) (33) MONDEM CONTROL LOGIC MODEM STATUS REGISTER (37) (38) (39) (34) GND (31) INTERRUPT CONTROL LOGIC INTERRUPT ENABLE REGISTER INTERRUPT ID REGISER FIFO CONTROL REGISTER 10 (30) RTS CTS DTR DSR DCD R1 OUT1 OUT2 INTR GM16C550 Pin Descriptions Register Address The following describes the function of all UART pins. Some of these descriptions reference internal circuits. In the following descriptions, a low represents a logic 0 (0V nominal) and a high represents a logic 1 (+2.4V nominal). DLAB 0 Register Receiver Buffer (read) Transmitter Holding Register (Write) 0 0 0 1 Interrupt Enable × 0 1 0 Interrupt Identification (read) × 0 1 0 FIFO Control (Write) × 0 1 1 Line Control × 1 0 0 MODEM Control × 1 0 1 Line Status × 1 1 0 MODEM Status × 1 1 1 Scratch 1 0 0 0 Divisor Latch 0 (least significant byte) 1 0 0 1 Divisor Latch (most significant byte) Serial Input (SIN), Pin 10: Serial data input from the communications link (peripheral device, MODEM, or data set). INPUT SIGNALS Chip Select (CS0, CS1, CS2 ) Pins 12-14: When CS0 and CS1 are high and CS2 is low, the chip is selected. This enable communication between the UART and the CPU. The positive edge of an active Address Strobe signal latches the decoded chip select signals, completing chip selection. If ADS is always low, valid chip selects should stabilize according to the CSW parameter. Read (RD, RD ), Pins 22 and 21: When Rd is high or RD is low while the chip selected, the CPR can read status information or data from the selected UART register. Note: Only an active RD or RD input is required to transfer data from the UART during a read operation. Therefore tie either the RD input permanently low or the RD input permanently high, when it is not used. A2 0 A1 0 A0 0 Clear to Send ( CTS ), Pin 36: When low, this indicates that the MODEM or data set is ready to exchange data. The CTS signal is a MODEM status input whose conditions can be tested by the CPU reading bit 4 (CTS) of the MODEM Status Register. Bit 4 is the complement of the CTS signal. Bit 0 (DCTS) of the MODEM Status Register indicates whether the CTS input has changed state since the previous reading of the MODEM Status Register. CTS has no effect on the Transmitter. Note: Whenever the CTS bit of the MODEM Status Register changes state, an interrupt is generated if the MODEM Status Interrupt is enabled. Write (WR, WR ), Pin 19 and 18: When WR is high or WR is low while the chip selected, the CPU can write control words or data into the selected UART register. Note: Only an active WR or WR input is required to transfer data to the UART during a write operation. Therefore, tie either the WR input permanently low or the WR input permanently high, when it is not used. Address Strobe ( ADS ), Pin 25: The positive edge of an active Address Strobe ( ADS ) signal latches the Register Select (A0, A1, A2) and Chip Select (CS0, CS1, CS2) signals. Note: An active ADS input is required when the Register Select (A0, A1, A2) signals are not stable for the duration of a read or a write operation. If not required, tie the ADS input permanently low. Data Set Ready ( DSR ), Pin 37: When low, this indicates that the MODEM or data set is ready to establish the communications link with the UART. The DSR signal is a MODEM status input whose condition can be tested by the CPU reading bit 5 (DSR) of the MODEM Status Register. Bit 5 is the complement of the DSR signal. Bit 1 (DDSR) of the MODEM Status Register indicates whether the DSR input has changed state since the previous reading of the MODEM Status Register. Note: Whenever the DSR bit of the MODEM Status Register changes state, an interrupt is generated if the MODEM Status interrupt is enabled. Register Select (A0, A1, A2), Pins 26-28: Address signals connected to these 3 inputs select a UART register for the CPU to read from or write to during data transfer. A table of registers and addresses is shown below. Note that the state of the Divisor Latch Access Bit (DLAB), which is the most significant bit of the Line Control Register, affects the selection of certain UART registers. The DLAB must be set high by the system software to access the Baud Generator Divisor Latches. Data Carrier Detect ( DCD ), Pin 38: When low, indicates that the data carrier has been detected by the MODEM or data set. The DCD signal is a MODEM status input whose condition can be tested by the Register. Bit 7 is the complement of the DCD signal. Bit 3 (DDCD) of the MODEM Status Register indicates whether the DCD input has changed state since the previous reading of the MODEM Status Register. DCD has no effect on the receiver. Master Reset (MR), Pin 35: When this input is high it clears all the registers (except the Receiver Buffer, Transmitter Holding, and Divisor Latches), and the control logic of the UART. The state of various output signals (SOUT, INTR, OUT 1 , OUT 2 , RTS , DTR) are affected by an active MR input (Refer to Table 1). This input is buffered with a TTLcompatible Schmitt Trigger with 0.5V typical hysteresis. Note: Whenever the DCD bit of the MODEM Status Register changes state, an interrupt is generated if the MODEM Status Interrupt is enabled. Receiver Clock (RCLK), Pin 9: This input is the 16 X baud rate clock for the receiver section of the chip. Ring Indicator ( RI ), Pin 39: When low, this indicates that a telephone ringing signal is received by the MODEM or data set. The RI signal is a MODEM status input whose condition can be tested by the CPU reading bit 6 ( RI ) of the MODEM Status Register. Bit 6is the complement of the RI signal. Bit 2 (TERI) of the MODEM 11 GM16C550 Status Register indicates whether the RI input signal has changed from a low to a high state since the previous reading of the MODEM Status Register Note : Whenever the RI bit of the MODEM Status Regi- RXRDY Mode 1: In the FIFO Mode (FCR0 = 1) when the FRC3 = 1 and the trigger level or the timeout has been reached, the RXRDY pin will go low active. Once it is activated it will go inactive when there are no more characters in the FIFO or holding register. ster changes from a high to a low state, an interrupt is generated if the MODEM Status Interrupt is enabled. TXRDY Mode 0: in the GM16C450 Mode (FCR0 = 0) or in the FIFO Mode (FCR = 1, FCR3 = 0) and there are no characters in the XMIT FIFO or XMIT hold register, the TXRDY pin(24) will be low active. Once it is activated the TXRDY pin will go inactive after the first character is loaded into the XMIT FIFO or holding register. Vcc, Pin 40 : +5V supply. Vss, Pin 20 : Ground(0V) reference. OUTPUT SIGNALS Data Terminal Ready ( DTR ), Pin 33: When low, this informs the MODEM or data set that the UART is ready to establish communications link. The DTR output signal can be set to an active low by programming bit 0 (DTR) of the MODEM Control Register to high level. A Master Reset operation sets this signal to its inactive (high) state. Loop mode operation holds this signal in its inactive state. TXRDY Mode 1: In the FIFO Mode (FCR0 = 1) when FCR3 = 1 and there is at least one unfilled position in the XMIT FIFO, it will go low active. This pin will become inactive when the XMIT FIFO is completely full. Driver Disable (DDIS), Pin 23: this goes low whenever the CPU is reading data from the UART. It can disable or control the direction of a data bus transceiver between the CPU and the UART. Request to Send ( RTS ), Pin 32: When low, this informs the MODEM and data set that the UART is ready to exchange data. The RTS output signal can be set to an active low by programming bit 1 (RTS) of the MODEM Control Register. A Master Reset operation sets this signal to its inactive state. Loop node operation holds this signal in its inactive state. Baud Out ( BAUDOUT ), Pin 23: This is the 16X clock signal from the transmitter section of the UART. The clock rate is equal to the main reference oscillator frequency divided by the specified divisor in the Baud Generator Divisor Latches. The BAUDOUT may also be used for the receiver section by tying this output to the RCLK input of the chip. Output 1 ( OUT1 ), Pin 34: This user-designed out-put can be set to an active low by programming bit 2 (OUT1) of the MODEM Control Register to a high level. A Master Reset operation sets this signal to its inactive state. Loop Mode operation holds this signal to its inactive state. Interrupt (INTR), Pin 30: This pin goes high when-ever any one of the following interrupt types has an active high cognition and is enabled via the IER; Receiver Error Flag; Received Data Avail-able; timeout (FIFO Mode only); Transmitter Holding Register Empty; and MODEM Status, The INTR signal is reset low upon the appropriate interrupt service or a Master Reset operation. Output 2 ( OUT 2 ), Pin 31: This user-designated output can be set to an active low by programming bit 3 (OUT2) of the MODEM Control Register to a high level. A Master Reset operation sets this signal to its inactive (high) state. Loop mode operation holds this signal to its inactive state. Serial output (SOUT), Pin 11: Composite serial data output to the communications link (peripheral. MODEM or data set). The SOUT signal is set to the Marking (logic 1) state upon a Master Reset operation. TXRDY, RXRDY, Pin 24, 29: Transmitter and Receiver DMA signaling is available through two pins (24 and 29). When operating in the FIFO mode, one of two types DMA signaling per pin can be selected via FCR3, When operating as in the GM16C16450 Mode., only DMA Mode 0 is allowed. Mode 0 supports single transfer DMA where a transfer is made between CPU bus cycles. Mode 1 supports multi-transfer DMA where multiple transfers ard made continuously until the RCVR FIFO has been emptied or the XMIT FIFO has been filled. INPUT / OUTPUT SIGNALS Data (D7-D0) Bus, Pin 1-8: This bus comprises eight TRI-state input/output lines. The bus provides bidirectional communications between the UART and the CPU, Data, control words. And status information are transferred via the D7-D0 Data Bus. RXRDY Mode 0: When in the GM16C450 Mode (FCR0 = 0) or in the FIFO Mode (FCRO = 1, RCR3 = 0) and there is at least 1 character in the RCVR FIFO of RCVR holding register, the RXRDY pin (29) will be low active. Once it is activated the RXRCY pin will go inactive when there are no more characters in the FIFO of holding register. External Clock Input/Output (XIN, XOUT), Pins 16 and 17: These two pins connect the main timing reference (crystal or signal clock) to the UART. 12 GM16C550 TABLE I. UART Reset Configuration Register / Signal Interrupt Enable Register Interrupt Identification Register FIFO Control Line Control Register MODEM Control Register Line status Register MODEM Status Register SOUT INTR (RCVR Errs) INTR (RCVR Data Ready) INTR (THRE) INTR (Modem Status Changes) OUT 2 RTS DTR OUT1 RCVR FIFO XMIT FIFO Reset Control Master Reset Master Reset Master Reset Master Reset Master Reset Master Reset Master Reset Master Reset Read LSR/MR Read RBR/MR Read IIR/Write THR/MR Read MSR/MR Master Reset Master Reset Master Reset Master Reset MR/RCR1-FCR0/ FCR0 MR/RCR1-FCR0/ FCR0 Note 1 : Boldface bits are Permanently low. Note 2 : Bits 7-4 are driven by the input signals. 13 Reset State 0000 0000 (Note 1) 0000 0001 0000 0000 0000 0000 0000 0000 0110 0000 xxxx 0000 (Note 2) High Low Low Low Low High High High High All Bits Low All Bits Low 14 Data bit 3 Data bit 4 Data bit 5 Data bit 6 Data bit 7 Data bit 3 Data bit 4 Data bit 5 Data bit 6 Data bit 7 3 4 5 6 0 0 0 Enable MODEM Status Interrupt (EDSSI) 0 Enable Receiver Line Status Enable Transmitter Holding Register Empty Interrupt (ETBEI) FIFO3 enabled (note 2) FIFO3 enabled (note 2) 0 0 Interrupt ID Bit (2) (Note 2) Interrupt ID Bit (1) Interrupt ID Bit (0) “0” if Interrupt Pending IIR Interrupt Enable Register 1 2 RCVR Trigger (MSB) RCVR Trigger (LSB) Reserved Reserved DMA Mode select XMIT FIFO Reset RCVR FIFO Reset FIFO Enable FCR FIFO Control Register (Write Only) Note 1: Bit 0 is the least significant bit seriously transmitted or received Note 2:these bits are always 0 in the GM16C450 Mode 7 Data bit 2 Data bit 2 1 2 Data bit 1 Data bit 1 0 Enable Received Data Available Interupt (ERBFI) IER THR Data bit 0 Interrupt Enable Register Transmitter Holding Register (Write Only) RBR Receiver Buffer Register (Read Only) 0 DLAB = 0 0 DLAB = 0 1 DLAB0 = Data bit 0 No. Bit Divisor Latch Access Bit (DLA3) Set Break Stick Parity Even Parity Select (EPS) Parity Enable (PEN) Number of Stop Bits (STB) Word Length Select Bit 1 (WLS1) Word Length Select Bit 0 (WLS0) LCR Line Control Register 3 0 0 0 Loop Out2 Out1 Request to Send (RTS) Data Terminal Ready (DTR) MCR MODEM Control Register 4 Register Address TABLE II. Summary of Registe Error in RCBR FIFO (Note2) Transmitter Empty (TEMT) Transmitter Holding Register (THRE) Break Interrupt (BI) Framing Error (FE) Parity Error (PE) Overrun Error (OE) Data Ready (DR) LSR Line Status Register 5 rs Data Camer Detect (DCD) Ring Indicator (RI) Data Set Ready (DSR) Delta Data Camer Delect (DDCD) Clear to Send (CTS) Trading Edge Ring Indicator (TERI) Delta Data Set Ready (DDSR) Delta Clear To Send (DCTS) MSR MODEM Status Register 6 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 SCR Scratch Register 7 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 DLL Divisor Latch (LS) Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 DLM Divisor Latch (MS) 0 DLAB = 1 1 DLAB = 1 GM16C550 GM16C550 are summed). Registers Bit 4: This bit is the Even Parity Select bit. When bit 3 is a logic 1 and bit 4 is a logic 0, and odd number of logic 1s is transmitted or checked in the data word bits and Parity bit. When bit 3is a logic 1 and it 4 is a logic 1, an even number of logic 1s is transmitted or checked. The system programmer may be Access any of the UART registers summarized in Table II via the CPU. These registers control UART operations including transmission and reception of data. Each register bit in Table II has its name and reset state shown. Bit 5: This bit is the Stick Parity bit. When bit3, 4 and 5 are logic 1 the Parity bit is transmitted and checked as a logic 0. If bit 3 and 5 are 1 and bit 4 is a logic 0 then the Parity bit is transmitted and checked as a logic 1. If bit 5 is a logic 0 Stick Parity is disabled. LINE CONTROL REGISTER The system programmer specifies the format of the asynchronous data communications exchange and set the Divisor Latch Access bit via the Line Control Register (LCR). The programmer can also read the contents of the Line Control Register. The read capability simplifies system programming and eliminates the need for separate storage in system memory of the LCR. Details on each bit follow: Bit 6: This bit is the Break Control bit. It causes a break condition to be transmitted to the received UART. When it is set to logic 1, The serial output (SOUT) is forced to the Spacing (logic 0) state. The break is disabled by setting bit 6 to a logic 0. The Break Control bit acts only on SOUT and has no effect on the transmitted logic. Bit 0 and 1: These two bits specify the number of bits in each transmitted or received serial character. The encoding of bits 0 and 1 is as follows. Bit 1 Bit 0 Character Length 0 0 5 Bits 0 1 6 Bits 1 0 7 Bits 1 1 8 Bits Note : This feature enables the CPU to alert a terminal in during the break. The Transmitter can be used as a character timer to accurately establish the break duration. a computer communications system. If the following sequence is followed. no erroneous or extraneous characters will be transmitted because of the break. 1. Load on all Os, pad character, in response to THRE. 2. Set break after the next THRE 3. Wait for the transmitter to be idle. (TEMT = 1), and clear break when normal transmission has to be tired. Bit 2: This bit specifies the number of Stop bits transmitted and received in each serial character. If bit 2 is a logic 0, one Stop bit is generated in the transmitted data. If Bit 2 is a logic 1 when a 5-bit word length is selected via bits 0 and 1, one and a half Stop bits are generated. If bit 2 is a logic 1 When either a 6-, 7-, or 8bit word length is selected, two Stop bit are generated. The Receiver checks the first Stop bit only, regardless of the number of Stop bit selected. During the bread, the Transmitter can be used as a character timer to accurately establish the break duration. Bit 7: This bit is the Divisor Latch Access Bit (DLAB). It must be set high (logic) to access the Divisor Latches of the Baud Generator during a Read or Write operation. It must be set low (logic 0) to access the Receiver Buffer, the Transmitter Holding Register, or the Interrupt Enable Register. Bit 3: This bit is the Parity Enable bit. When bit 3 is a logic 1, a Parity bit is generated (transmit data) or checked (receive data) between the last data word bit and Stop bit of the serial data. (The Parity bit is used to produce an even or odd number of 1s when the data word bits and the Parity bit Typical Clock Circuits VCC VCC EXTERNAL CLOCK DRIVER OPTIONAL OPTIONAL DRIVER CLOCK OUTPUT XIN XIN C1 RP OSC CLOCK TO BAUD GEN. LOGIC CRYSTAL R×2 XOUT XOUT C2 15 OSC CLOCK TO BAUD GEN. LOGIC GM16C550 Typical Crystal Oscillator Network Crystal RP 3.1MHz 1MΩ 1.8MHz 1MΩ C1 C2 1.5k 10-30pF 40-60pF 1.5k 10-30pF 40-60pF R× 2 TABLE III. Baud Rates Using 1.8432 MHz Crystal Desired Baud Rate 50 75 110 134.5 150 300 600 1200 1800 2000 2400 3600 4800 7200 9600 19200 38400 56000 Decimal Divisor Used to Generate 16 × Clock 2304 1536 1047 857 768 384 192 96 64 58 48 32 24 16 12 6 3 2 Percent Error Difference Between Desired and Actual 0.026 0.058 – – – – 0.69 2.86 16 GM16C550 TABLE IV. Baud Rates Using 3.072 MHz crystal Desired Baud Rate 50 75 110 134.5 150 300 600 1200 1800 2000 2400 3600 4800 7200 9600 19200 38400 Decimal Divisor Used to Generate 16×Clock 3840 2560 1745 1428 1280 640 320 160 107 96 80 53 40 27 20 10 5 Percent Error Difference Between Desired and Actual 0.026 0.034 0.312 0.628 1.23 - TABLE V. Baud Rate Using 8MHz Crystal Desired Baud Rate 50 75 110 134.5 150 300 600 1200 1800 2000 2400 3600 4800 7200 9600 19200 38400 56000 128000 256000 Decimal Divisor Used to Generate 16×Clock Percent Error Difference Between Desired and Actual 0.005 0.010 0.013 0.010 0.020 0.040 0.080 0.080 0.160 0.080 0.160 0.644 0.160 0.160 0.160 0.790 2.344 2.344 10000 6667 4545 3717 3333 1667 833 417 277 250 208 139 104 69 52 26 13 9 4 2 17 Bit 2 0 1 1 1 0 0 0 0 0 1 18 0 0 0 1 0 0 1 0 Bit 1 0 0 0 0 0 1 Bit 0 Interrupt Identification Bit 3 FIFO Mode Only Fourth Third Second Second Highest - Priorit y Level MODEM Status Transmitter Holding Register Empty Character Timeout Indication Received Data Available Receiver Line Status None Interrupt Type TABLE VI.. Interrupt Control Functions Clear to Send or Data Set Ready or Ring Indicator or Data Carrier Detect No Characters Have Been Removed From or Input to the RCVR FIFO During the Last 4 char. Times and There is at Least 1 char. In it During This Time Transmitter Holding Register Empty Receiver Data Available or Trigger Level Reached Overrun Error or Parity Error or Framing Error or Break Interrupt None Interrupt Source Interrupt Set and Reset Function Reading the MODEM Status Register Reading the IIR Register (if Source of interrupt) or Writing into the Transmitter Holding Register Reading the Receiver Buffer Register Reading the Receiver Buffer Register or the FIFO Drops Below the Trigger Level Reading the Line Status Register - Interrupt Reset Control GM16C550 GM16C550 PROGRAMMABLE BAUD GENERATOR The UART contains a programmable Baud Generator that is capable of taking any clock input from 2 to 216 –1. 4MHz is the highest input clock frequency recommended when the divisor = 1. The output frequency of the Baud Generator is 16 × the Baud [divisor # = (frequency input) ÷ (baud rate ×16)] Two 8-bit latches store the divisor in a 16-bit binary format. These Divisor Latches must be loaded during initialization to ensure proper operation of the Baud Generator. Upon loading either or the Divisor Latches, a 16-bit Baud counter is immediately loaded. its associated character is at the top of the FIFO. The UART will try to resynchronize after a framing error. To do this it assumes that the framing error was due to the next start bit so it samples this “start” bit twice and then takes in the “data”. Bit 4: This bit is the Break Interrupt (BI) indicator. Bit 4 is set to a logic 1 when ever the received data input is held in the spacing (logic) state for longer than a full word transmission time (that is, the total time of Start Bit + data bits + Parity + Stop bits). The BI indicator is reset whenever the CPU reads the contents of the line Status Register. In the FIFO mode this error is associated with the particular character in the FIFO it applies to. This error is revealed to the CPU when its associated character is at the top of the FIFO. When break occurs only one zero character is loaded into the FIFO. The next character transfer is enabled after SIN goes to the marking state and receives the next valid start bit. Tables III, IV and V provide decimal divisors to use with crystal frequencies of 1.8432 MHz 3.072MHz and 8 MHz, respectively. For baud rates of 38400 and below, the error obtain is minimal. The accuracy of the desired baud rate is dependent on the crystal frequency chosen. Using a divisor of zero is not recommended. LINE STATUS REGISTER This register provides status information to the CPU concerning the data transfer. Table II shows the contents of the Line Status Register. Details on each bit follow. Note: Bits 1 through 4 are the error conditions that produce a Receiver Line Status interrupt whenever any of the corresponding conditions are detected and the interrupt is enabled. Bit 0: This bit is the receiver Data Ready (DR) indicator. Bit 0 is set to logic 1whenever a complete incoming character has been received and transferred into the Receiver Buffer Register or the FIFO. Bit 1 is reset to a logic 0 by reading all of the data in the Receiver Buffer Register or the FIFO. Bit 5: This bit is the Transmitter Holding Register Empty (THRE) indicator. Bit 5 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 the CPU when the Transmit Holding Register Empty Interrupt enable is set high. The THRE bit is set to logic 1 when a character is transferred from the Transmitter Holding Register into the Transmitter Shift Register. The bit is reset to logic 0 concurrently with the loading of the Transmitter Holding Register by the CPU, In the FIFO mode this bit is set when the XMIT FIFO is empty; it is cleared when at least 1 byte is written to the XMIT FIFO. Bit 1: This bit is the Overrun Error (OE) indicator. Bit 1 indicates that data in the Receiver Buffer Register was not read by the CPU before the next character was transferred into the Receiver Buffer Register, thereby destroying the previous character. The OE indicator is set to a logic 1 upon detection of an overrun condition and reset whenever the CPU reads the contents of the Line Status Register If the FIFO mode data continues to fill the FIFO beyond the trigger level, An overrun error will occur only been completely received in the shift register. OE is indicated to the CPU as soon as it happens. The character on the shift register is overwritten, but is not transferred to the FIFO. Bit 6: This bit is the Transmitter Empty (TEMT) indicator. Bit 6 is set to a logic 1 whenever the Transmitter Holding Register (THR) and the Trans-mitter shift register (TSR) are both empty. It is reset to a logic 0 whenever either the THR or TSR contains a data character. In the FIFO mode this bit is set to one whenever the transmitter FIFO and shift register are both empty. Bit 2: This bit is the Parity Error (PE) indicator. Bit 2 indicates that the received data character does not have the correct even or odd parity. As selected by the even –parityselect bit. The PE bit is set to a logic 1 upon detection of a parity error and is reset to a logic 0 whenever the CPU reads the contents of the Line Status Register. In the FIFO mode this error is associated with the particular character in the when its associated character is at the top of the FIFO. Bit 7: in the GM16C450 Mode this is a 0. In the FIFO mode LSR7 is set when there is least one parity error, framing error or break indication in the FIFO. LSR7 is cleared when the CPU reads the LSR, if there are no subsequent errors in the FIFO. Note: The Line Status Register is intended for read operations only. Writing to this register is not recom-mended as this operation is only used for factory testing. Bit 3: This bit is the Framing Error (FE) indicator. Bit3 indicates that the received character did not have a valid Stop bit. Bit 3is set to logic 1 whenever the Stop bit following the last data bit or parity bit is detected as a logic 0 bit (Spacing level). The FE indicator is reset whenever the CPU reads the contents of the Line Status Register. In the FIFO mode this error is associated with the particular character in the FIFO it applies to. This error is revealed to the CPU when FIFO CONTROL REGISTER This is a write only register at the same location as the IIR (the IIR is a read only register). This register is used to enable the FIFOs, set the RCVR FIFO trigger level, and select the type of DMA signaling. 19 GM16C550 Bit 0: Writing a 1 to FCR0 enables both the XMIT and RCVR FIFOs. Resetting FCR0 will clear all bytes in both FIFOs. When changing from FIFO Mode to GM16C450 Mode and vice versa, data is automatically cleared from the FIFOs. This bit must be a 1 when other RCR bits are written to or they will not be programmed. Bit 4 and 5: These two bits of the IIR are always logic 0. Bit 6 and 7: These two bits are set when FCR0 =1. INTERRUPT ENABLE REGISTER This register enables the five types of UART interrupts. Each interrupt can individually activate the interrupt (INTR) output signal. It is possible to totally disable the interrupt system by resetting bits 0 through 3 of the Interrupt Enable Register (IER). Similarly, setting bits of the IER register to a logic 1, enables the selected interrupt(s). Disabling an interrupt prevents it from being indicated as active in the IIR and from activating the INTR output signal. All other system functions operate in their normal manner, including the setting of the Line Status and MODEM Status Registers. Table II shows the contents of the IER. Details on each bit follow. Bit 1: Writing a 1 to FCR1 clears all bytes in the RCVR FIFO and resets its counter logic to 0. The shift register is not cleared. The 1 that is written to this bit position is selfclearing. Bit 2: Writing a 1 to FCR2 clears all bytes in the XMIT FIFO and resets its counter logic to 0. The shift register is not cleared. The 1 that is written to this bit position is selfclearing. Bit 3: Setting FCR 3 to a 1 will cause the RXRDY and TXRDY pins to change from mode 0 to mode 1 if FCR0 = 1 (see description of RXRDY and TXRDY pins). Bit 0: This bit enables the Received Data Available Interrupt (and timeout interrupts in the FIFO mode) when set to logic1. Bit4, 5: FCR4 to FCR5 are reserved for future use. Bit 2: This bit enables the Receiver Line Status interrupt when set to logic 1 Bit6, 7: FCR6 to FCR7 are used to set the trigger level for the RCVR FIFO interrupt. 7 6 0 0 1 1 0 1 0 1 Bit 3: This bit enables the MODEM Status interrupt when set to logic 1 RCVR FIFO Trigger Level (Bytes) 01 04 08 14 Bit 4 through 7: These four bits are always logic 0. MODEM CONTROL REGISTER This register controls the interface with the MODEM or data set (or peripheral device emulating a MODEM). The contents of the MODEM Control Register are indicated in Table II and are described below. INTERRUPT IDENTIFICATION REGISTER Bit 0: This bit controls the Data Terminal Ready (DTR) output. When bit 0 is set to a logic 1, the DTR output is forced to a logic 0. When bit 0 is reset to a logic 0, the DTR output is forced to a logic 1. In order to provide minimum software overhead during data character transfers, the UART prioritizes interrupts into four levels and records these in the interrupt Identification Register. The four levels of interrupt conditions in order of priority are Receiver Line Status; Received Data Ready; Transmitter Holding Register Empty; and MODEM Status. When the CPU accesses the IIR, the UART freezes all interrupts and indicates the highest priority pending interrupt to the CPU. While this CPU access is occurring, the UART records niw interrupts, but access is complete. Table II shows the contents of the IIR. Details on each bit follow: Note: The DTR output of the UART may be applied to an EIA inverting line driver (such as the GD75188) to obtain the proper polarity input at the succeeding MODEM or data set. Bit 1: This bit controls the Request to Send (RTS) output. Bit 1 affects the RTS output in a manner identical to that described above for bit 0. Bit 2: This bit controls the output 1 (OUT1) signal , which is an auxillary user-designated output. Bit 2 affects the OUT1 output in a manner identical to that described above for bit 0. Bit 0: This bit can be used in a prioritized interrupt environment to indicate whether an interrupt is pending. When bit 0 is a logic 0, an interrupt is pending and the IIR contents may be used as a pointer to the appropriate interrupt service routine. When bit 0 is a logic 1, no interrupt is pending. Bit 3: This bit controls the output 2(OUT2) signal, which is an auxillary user-designated output . Bit 3 affects the OUT2 output in a manner identical to that described above for bit 0. Bit 1 and 2: These two of the IIR are used to identify highest priority interrupt pending as indicated in Table VI. Bit 4: This bit provides a local loopback feature for Diagnostic testing of the UART. When bit 4 is set to logic 1, the following occur ; the transmitter Serial output (SOUT) is set to the Marking (logic 1) State; the receiver Serial Input (SIN) is disconnected; the output of the Transmitter Shift Bit 3: In the GB16C450 Mode this bit is 0. In the FIFO mode this bit is set along with bit 2 when a timeout interrupt is pending. 20 GM16C550 Register is “looped back” into the Receiver Shift Register input; the four MODEM Control inputs ( CTS , RTS , RI , and DCD ) are disconnected; and the four MODEM Control outputs ( DTR , RTS , OUT1 and OUT 2 ) are internally connected to the four MODEM Control inputs, and the MODEM Control output pins are forced to their inactive state (high). In the diagnostic mode, data that is transmitted is immediately received. This feature allows the processor to verify the transmitter and received-data paths of the UART. is equivalent to out2 in the MCR. SCRATCHPAD REGISTER This 8-bit Read/Write Register does not control the UART in anyway. It is intended as a scratchpad register to be used by the programmer to hold data temporarily. FIFO INTERRUPT MODE OPERATION When the RCVR FIFO and receiver interrupts are enabled (FCR0 = 1, IER0 =1) RCVR interrupts will occur as follows: In the diagnostic mode, the receiver and transmitter interrupts are fully operational. Their sources are external to the part. The MODEM Control Interrupts are also operational, but the interrupts sources are now the lower four bits or the MODEM Control inputs. The interrupts are still controlled by the Interrupt Enable Register. A. The receive data available interrupts will be issued to the CPU when the FIFO has reached its programmed trigger level; it will be cleared as soon as the FIFO drops below its programmed trigger level. Bits 5 through 7: These bits are permanently set to logic 0. B. The IIR receive data available indicate also occurs when the FIFO trigger level is reached, and like the interrupt it is cleared when the FIFO drops below the trigger level. MODEM STATUS REGISTER This register provides the current state of the control lines from the MODEM (or peripheral device) to the CPU. In addition to this current-state information, four bits of the MODEM Status Register provide change information. These bits are set to a logic 1 Whenever a control input from the MODEM changes state. They are reset to logic 0 whenever the CPU reads the MODEM Status Register. C. The receiver line status interrupt (IIR-06), as before, has higher priority than received data available (IIR-04) interrupt. D. The data ready bit (LSR0)is set as soon as a character is transferred from the shift register to the RCVR FIFO. It is reset when the FIFO is empty. When RCVR FIFO and receiver interrupts are enabled, RCVR FIFO timeout interrupts will occur as follows: The contents of the MODEM Status Register are indicated in Table II and described below. A. A FIFO timeout interrupt will occur, if the following conditions exist: - at least one character is in the FIFO the most recent serial character received was longer than 4 continuous character times ago (if 2 stop bits are programmed the second one is included in this time delay). The most recent CPU read if the FIFO was longer than 4continuous character times age. Bit 0: This bit is the Delta Clear to Send (DCTS) indicator. Bit 0 indicates that the CTS input to the chip has changed state since the last time it was read by the CPU. Bit 1: This bit is the Delta Data Set Ready (DDSR) indicator. Bit 1 indicates that the DSR input to the chip has changed state since the last tome it was read by the CPU. Bit 2: This bit is the Trailing Edge of Ring Indicator (TERI) detector. Bit 2 indicates that the RI input to the chip has changed from a low to a high state. This will cause a maximum character received to interrupt issued delay of 160ms at 300BAUD with a 12 bit character. Bit 3: This bit is the Delta Data Carrier Detect (DDCD) indicator. Bit 3 indicates that the DCD input to the chip has changed state. Note: Whenever bit 0, 1, 2 or 3 is set to logic 1, a MODEM Status Interrupt is generated. B. character times are calculated by using the RCLK input for a clock signal (This makes the delay proportional to the baudrate). C. When a timeout interrupt has occurred it is cleared and the timer rest when the CPU reads one character from the RCVR FIFO. Bit 4: This bit is the complement of the Clear to Send ( CTS ) input. If bit 4(loop) of the MCR is set to a 1, this bit is equivalent to RTS in the MCR. D. When a timeout interrupt has not occurred the timeout timer is reset after a new character is received or after the CPU reads the RCVR FIFO. Bit 5: This bit is the complement of the Data Set Ready ( DSR ) input. If Bit 4 of the MCR is set to a 1, this bit is equivalent to DTR in the MCR. When the XMIT FIFO and transmitter interrupts are enabled (FCR0=1, IER=1) XMIT interrupts will occur as follows: Bit 6: This bit is the complement of the Ring Indicator. ( RI ) input. If bit 4 of the MCR is set to a 1, this bit is equivalent to OUT1 in the MCR. A. The transmitter holding register interrupt (02) occurs when the XMIT FIFO is empty; it is cleared as soon as the transmitter holding register is written to (1 to 16 characters may be written to the XMIT FIFO while servicing this interrupt) or the IIR is read. Bit 7: This bit is the complement of the Data Carrier Detect(DCD) input. If but 4 of the MCR is set to a 1, this bit 21 GM16C550 In this mode the user’s program will check RCVR and XMITTER status via the LSR. As stated previously: LSR0 will be set as long as there is one byte in the RCR FIFO. LSR1 to LSR4 will specify which error(s) has occurred. Character error status is handled the same way when in the interrupt mode, the IIR is not affected since IER2=0. LSR5 will indicate when the XMIT FIFO is empty. LSR6 will indicate that both the XMIT FIFO and shift register are empty. LSR7 will indicate whether there are any errors in the RCVR FIFO. The transmitter FIFO empty indications will be delayed 1 character time minus the last stop bit time whenever the following occurs: THRE = 1 and there have not been at least two bytes at the same time in the transmit FIFO, since the last THRE = 1. The first transmitter interrupt affect changing FCR0 will be immediate, if it is enabled. Character timeout and RCVR FIFO trigger level interrupts have the same priority as the current received data available interrupt; XMIT FIFO empty has the same priority as the current transmitter holding register empty interrupt. FIFO POLLED MODE PRERATION With FCRQ = 1 resetting IER0, IER1, IER2, IER3 or all to zero puts the RCVR and MITTER are controlled separately either one or both can be in the polled mode of operation. There is no trigger level reached or timeout condition indicated in the FIFO polled Mode, however, the RCVR and XMIT FIFOs still fully capable of holding characters. Application Circuit SYSTEM BUS XTAL1 A0 –A23 LATCH ADDRESS DECODER +5 A0 –A2 XTAL2 CS2 CS1 CS0 CPU RCLK RESET MR SOUT GM16C550 DATA BUFFER D0 –D15 SIN RST D0 –D7 D0 –D7 DTR DSR DCD tOR CTS DISTR tCW DOSTR RI DISTR INTRPT DOSTR TXRDY ADS DDIS RXRDY D0-D15 22 EIA DRIVERS RS-232-C D INTERFACE