82C52 ® Data Sheet April 26, 2006 CMOS Serial Controller Interface Features The Intersil 82C52 is a high performance programmable Universal Asynchronous Receiver/Transmitter (UART) and Baud Rate Generator (BRG) on a single chip. Utilizing the Intersil advanced Scaled SAJI IV CMOS process, the 82C52 will support data rates up to 1M baud asynchronously with a 16X clock (16MHz clock frequency). • Single Chip UART/BRG The on-chip Baud Rate Generator can be programmed for any one of 72 different baud rates using a single industry standard crystal or external frequency source. A unique pre-scale divide circuit has been designed to provide standard RS-232-C baud rates when using any one of three industry standard crystals (1.8432MHz, 2.4576MHz, or 3.072MHz). A programmable buffered clock output (CO) is available and can be programmed to provide either a buffered oscillator or 16X baud rate clock for general purpose system usage. Ordering Information 1M BAUD PART MARKING TEMP RANGE (°C) PACKAGE PKG. DWG. # CP82C52 CP82C52 0 to +70 PDIP E28.6 CP82C52Z (Note) CP82C52Z 0 to +70 PDIP (Pb-Free)** E28.6 IP82C52 IP82C52 -40 to +85 PDIP E28.6 CS82C5296 CS82C52 0 to +70 PLCC (Tape & Reel) N28.45 CS82C52Z* (Note) CS82C52Z 0to +70 PLCC (Pb-Free) N28.45 IS82C52 IS82C52 -40 to +85 PLCC N28.45 IS82C52Z* (Note) IS82C52Z -40 to +85 PLCC (Pb-Free) N28.45 ID82C52 ID82C52 -40 to +85 CERDIP F28.6 MD82C52/B MD82C52/B -55 to +125 8501501XA 8501501XA MR82C52/B 85015013A -55 to +125 85015013A FN2950.3 • DC to 16MHz (1M Baud) Operation • Crystal or External Clock Input • On-Chip Baud Rate Generator - 72 Selectable Baud Rates • Interrupt Mode with Mask Capability • Microprocessor Bus Oriented Interface • 80C86 Compatible • Single +5V Power Supply • Low Power Operation . . . . . . . . . . . . . . . . . . . . 1mA/MHz Typ • Modem Interface • Line Break Generation and Detection • Operating Temperature Range: - C82C52 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .0°C to +70°C - I82C52. . . . . . . . . . . . . . . . . . . . . . . . . . . . . -40°C to +85°C - M82C52. . . . . . . . . . . . . . . . . . . . . . . . . . . -55°C to +125°C • Pb-Free Plus Anneal Available (RoHS Compliant) F28.6 SMD# F28.6 CLCC J28.A SMD# J28.A *Add "96" suffix for tape and reel. **Pb-free PDIPs can be used for through hole wave solder processing only. They are not intended for use in Reflow solder processing applications. NOTE: Intersil Pb-free plus anneal products employ special Pb-free material sets; molding compounds/die attach materials and 100% matte tin plate termination finish, which are RoHS compliant and compatible with both SnPb and Pb-free soldering operations. Intersil Pb-free products are MSL classified at Pb-free peak reflow temperatures that meet or exceed the Pb-free requirements of IPC/JEDEC J STD-020. 1 CAUTION: These devices are sensitive to electrostatic discharge; follow proper IC Handling Procedures. 1-888-INTERSIL or 1-888-468-3774 | Intersil (and design) is a registered trademark of Intersil Americas Inc. Copyright Intersil Americas Inc. 1997, 2002, 2006. All Rights Reserved All other trademarks mentioned are the property of their respective owners. 82C52 Pinouts 25 SDI D2 5 3 2 1 DR D1 4 4 VCC 26 DR CSO D0 3 RD 27 VCC WR 28 CSO D0 RD 1 WR 2 82C52 (PLCC, CLCC) TOP VIEW D1 82C52 (PDIP, CERDIP) TOP VIEW 28 27 26 24 INTR D3 6 23 RST D4 7 23 RST D4 7 22 TBRE D5 8 22 TBRE D5 8 21 CO D6 9 20 RTS D6 9 21 CO D7 10 19 DTR D7 10 20 RTS A0 11 18 DSR A0 11 19 DTR A1 12 17 CTS IX 13 16 GND OX 14 15 SDO 12 13 14 15 16 17 18 DSR 6 CTS D3 GND 24 INTR SDO SDI OX 25 IX 5 A1 D2 Block Diagram RD WR A0 A1 CSO IX OX CO RST INTR 1 2 11 12 READ/WRITE CONTROL LOGIC 28 13 14 21 PROGRAMMABLE BOUD RATE GENERATOR 23 24 UART CONTROL AND STATUS REGISTERS DATA BUS BUFFER CONTROL LOGIC 2 INTERNAL DATA BUS 3 - 10 D0-D7 22 26 TRANSMITTER BUFFER REGISTER TRANSMITTER REGISTER P S 15 RECEIVER BUFFER REGISTER RECEIVER REGISTER P S 25 18 MODEM CONTROL AND STATUS REGISTERS 17 19 20 TBRE DR SDO SDI DSR CTS DTR RTS FN2950.3 April 26, 2006 82C52 Pin Description SYMBOL PIN NO. TYPE ACTIVE LEVEL RD 1 I Low READ: The RD input causes the 82C52 to output data to the data bus (D0-D7). The data output depends upon the state of the address inputs (A0-A1). CS0 enables the RD input. WR 2 I Low WRITE: The WR input causes data from the data bus (D0-D7) to be input to the 82C52. Addressing and chip select action is the same as for read operations. D0-D7 3-10 I/O High DATA BITS 0-7: The Data Bus provides eight, three-state input/output lines for the transfer of data, control and status information between the 82C52 and the CPU. For character formats of less than 8 bits, the corresponding D7, D6 and D5 are considered “don't cares” for data WRITE operations and are 0 for data READ operations. These lines are normally in a high impedance state except during read operations. D0 is the Least Significant Bit (LSB) and is the first serial data bit to be received or transmitted. A0, A1 11, 12 I High ADDRESS INPUTS: The address lines select the various internal registers during CPU bus operations. IX, OX 13, 14 I/O SDO 15 O GND 16 CTS 17 DSR DESCRIPTION CRYSTAL/CLOCK: Crystal connections for the internal Baud Rate Generator. IX can also be used as an external clock input in which case OX should be left open. High SERIAL DATA OUTPUT: Serial data output from the 82C52 transmitter circuitry. A Mark (1) is a logic one (high) and Space (0) is logic zero (low). SD0 is held in the Mark condition when CTS is false, when RST is true, when the Transmitter Register is empty, or when in the Loop Mode. Low GROUND: Power supply ground connection. I Low CLEAR TO SEND: The logical state of the CTS line is reflected in the CTS bit of the Modem Status Register. Any change of state in CTS causes INTR to be set true when INTEN and MIEN are true. A false level on CTS will inhibit transmission of data on the SD0 output and will hold SD0 in the Mark (high) state. If CTS goes false during transmission, the current character being transmitted will be completed. CTS does not affect Loop Mode operation. 18 I Low DATA SET READY: The logical state of the DSR line is reflected in the Modem Status Register. Any change of state of DSR will cause INTR to be set if INTEN and MIEN are true. The state of this signal does not affect any other circuitry within the 82C52. DTR 19 O Low DATA TERMINAL READY: The DTR signal can be set (low) by writing a logic 1 to the appropriate bit in the Modem Control Register (MCR). This signal is cleared (high) by writing a logic 0 in the DTR bit in the MCR or whenever a reset (RST = high) is applied to the 82C52. RTS 20 O Low REQUEST TO SEND: The RTS signal can be set (low) by writing a logic 1 to the appropriate bit in the MCR. This signal is cleared (high) by writing a logic 0 to the RTS bit in the MCR or whenever a reset (RST = high) is applied to the 82C52. CO 21 O TBRE 22 O High TRANSMITTER BUFFER REGISTER EMPTY: The TBRE output is set (high) whenever the Transmitter Buffer Register (TBR) has transferred its data to the Transmit Register. Application of a reset (RST) to the 82C52 will also set the TBRE output. TBRE is cleared (low) whenever data is written to the TBR. RST 23 I High RESET: The RST input forces the 82C52 into an “Idle” mode in which all serial data activities are suspended. The Modem Control Register (MCR) along with its associated outputs are cleared. The UART Status Register (USR) is cleared except for the TBRE and TC bits, which are set. The 82C52 remains in an “Idle” state until programmed to resume serial data activities. The RST input is a Schmitt triggered input. INTR 24 O High INTERRUPT REQUEST: The INTR output is enabled by the INTEN bit in the Modem Control Register (MCR). The MIEN bit selectively enables modem status changes to provide an input to the INTR logic. Figure 9 in Design Information shows the overall relationship of these interrupt control signals. CLOCK OUT: This output is user programmable to provide either a buffered IX output or a buffered Baud Rate Generator (16X) clock output. The buffered IX (Crystal or external clock source) output is provided when the Baud Rate Select Register (BRSR) bit 7 is set to a zero. Writing a logic one to BRSR bit 7 causes the CO output to provide a buffered version of the internal Baud Rate Generator clock which operates at sixteen times the programmed baud rate. On reset D7 (CO select) is reset to 0. 3 FN2950.3 April 26, 2006 82C52 Pin Description (Continued) SYMBOL PIN NO. TYPE ACTIVE LEVEL SDI 25 I High SERIAL DATA INPUT: Serial data input to the 82C52 receiver circuits. A Mark (1) is high, and a Space (0) is low. Data inputs on SDI are disabled when operating in the loop mode or when RST is true. DR 26 O High DATA READY: A true level indicates that a character has been received, transferred to the RBR, and is ready for transfer to the CPU. DR is reset on a data READ of the Receiver Buffer Register (RBR) or when RST is true. VCC 27 High VCC: +5V positive power supply pin. A 0.1µF decoupling capacitor from VCC (Pin 27) to GND (Pin 16) is recommended. CS0 28 Low CHIP SELECT: The chip select input acts as an enable signal for the RD and WR input signals. I 4 DESCRIPTION FN2950.3 April 26, 2006 82C52 Reset TABLE 1. During and after power-up, the 82C52 Reset Input (RST) must be held high for at least two IX clock cycles in order to initialize and drive the 82C52 circuits to an idle mode until proper programming can be done. A high on RST causes the following events to occur • Resets the internal Baud Rate Generator (BRG) circuit clock counters and bit counters. The Baud Rate Select Register (BRSR) is not affected (except for bit 7 which is reset to 0). • Clears the UART Status Register (USR) except for Transmission Complete (TC) and Transmit Buffer Register Empty (TBRE) which are set. The Modem Control Register (MCR) is also cleared. All of the discrete lines, memory elements and miscellaneous logic associated with these register bits are also cleared or turned off. Note that the UART Control Register (UCR) is not affected. Following removal of the reset condition (RST = low), the 82C52 remains in the idle mode until programmed to its desired system configuration. Programming The 82C52 CS0 A1 A0 WR RD 0 0 0 0 1 Data Bus → Transmitter Buffer Register (TBR) 0 0 0 1 0 Receiver Buffer Register (RBR) → Data Bus 0 0 1 0 1 Data Bus → UART Control Register (UCR) 0 0 1 1 0 UART Status Register (USR) → Data Bus 0 1 0 0 1 Data Bus → Modem Control Register (MCR) 0 1 0 1 0 MCR → Data Bus 0 1 1 0 1 Data Bus → Bit Rate Select Register (BRSR) 0 1 1 1 0 Modem Status Register (MSR) → Data Bus OPERATION D7 D6 D5 D4 D3 D2 D1 D0 The complete functional definition of the 82C52 is programmed by the systems software. A set of control words (UCR, BRSR and MCR) must be sent out by the CPU to initialize the 82C52 to support the desired communication format. These control words will program the character length, number of stop bits, even/odd/no parity, baud rate, etc. Once programmed, the 82C52 is ready to perform its communication functions. Stop Bit Select 0 = 1 Stop Bits Parity Control 000 = Tx and Rx Even 001 = Tx and Rx Odd 010 = Tx Even, Rx Odd 011 = Tx Odd, Rx Even 100 = Tx Even, Rx Check Disabled 101 = Tx Odd, Rx Check Disabled 11X = Generation and Check Disabled Word Length Select 00 = 5 Bits 01 = 6 Bits 10 = 7 Bits 11 = 8 Bits The control registers can be written to in any order. However, the MCR should be written to last because it controls the interrupt enables, modem control outputs and the receiver enable bit. Once the 82C52 is programmed and operational, these registers can be updated any time the 82C52 is not immediately transmitting or receiving data. Table 1. Shows the control signals required to access 82C52 internal registers. UART Control Register (UCR) The UCR is a write only register which configures the UART transmitter and receiver circuits. Data bits D7 and D6 are not used but should always be set to a logic zero (0) in order to insure software compatibility with future product upgrades. During the Echo Mode, the transmitter always repeats the received word and parity, even when the UCR is programmed with different or no parity. See Figure 1. 5 1 = 1.5 Stop Bits (Tx) and 1 Stop Bit (Rx) If 5 Data Bits Selected 1 = 2 Stop Bits for 6, 7 or 8 Data Bits Selected Reserved Set to 00 for Future Product Upgrade Compatibility FIGURE 1. UCR Baud Rate Select Register (BRSR) The 82C52 is designed to operate with a single crystal or external clock driving the IX input pin. The Baud Rate Select Register is used to select the divide ratio (one of 72) for the internal Baud Rate Generator circuitry. The internal circuitry is separated into two separate counters, a Prescaler and a Divisor Select. The Prescaler can be set to any one of four division rates, ÷1, ÷3, ÷4, or ÷5. FN2950.3 April 26, 2006 82C52 The Prescaler design has been optimized to provide standard baud rates using any one of three popular crystal frequencies. By using one of these common system clock frequencies, 1.8432MHz, 2.4576MHz or 3.072MHz and Prescaler divide ratios of ÷3, ÷4, or ÷5 respectively, the Prescaler output will provide a constant 614.4KHz. When this frequency is further divided by the Divisor Select counter, any of the standard baud rates from 50 Baud to 38.4Kbaud can be selected (see Table 2). Non-standard baud rates up to 1Mbaud can be selected by using different input frequencies (crystal or an external frequency input up to 16MHz) and/or different Prescaler and Divisor Select ratios. TABLE 2. BAUD RATE DIVISOR 38.4K External 19.2K 2 9600 4 7200 16/3 4800 8 3600 32/3 2400 16 2000† 58/3 1800† 22 1200 32 600 64 300 128 200 192 150 256 134.5† 288 110† 352 75 512 50 768 Regardless of the baud rate, the baud rate generator provides a clock which is 16 times the desired baud rate. For example, in order to operate at a 1Mbaud data rate, a 16MHz crystal, a Prescale rate of ÷1, and a Divisor Select rate of “external” would be used. This would provide a 16MHz clock as the output of the Baud Rate Generator to the Transmitter and Receiver circuits. The CO select bit in the BRSR selects whether a buffered version of the external frequency input (IX input) or the Baud Rate Generator output (16x baud rate clock) will be output on the CO output (pin 21). The Baud Rate Generator output will always be a 50% nominal duty cycle except when “external” is selected and the Prescaler is set to ÷3 or ÷5. NOTE: D7 D6 D5 D4 D3 D2 D1 D0 Prescaler 00 = ÷ 1 Select 01 = ÷ 3 10 = ÷ 4 11 = ÷ 5 Divisor Select CO Select FIGURE 2. BRSR 6 00000 = ÷ 2 00001 = ÷ 4 00010 = ÷ 16/3 00011 = ÷ 8 00100 = ÷ 32/3 00101 = ÷ 16 00110 = ÷ 58/3 00111 = ÷ 22 01000 = ÷ 32 01001 = ÷ 64 01010 = ÷ 128 01011 = ÷ 192 01100 = ÷ 256 01101 = ÷ 288 01110 = ÷ 352 01111 = ÷ 512 10000 = ÷ 768 11111 = External (÷ 1) 0 = IX Output 1 = Brg Output (On Reset, D7 (CO Select) is Reset to 0) † These baud rates are based upon the following input frequency/ Prescale divisor combinations. 1.8432MHz and Prescale = ÷ 3 2.4576MHz and Prescale = ÷ 4 3.072MHZ and Prescale = ÷ 5 All baud rates are exact except for: BAUD RATE ACTUAL PERCENT ERROR 1800 1745.45 3.03% 2000 1986.2 0.69% 134.5 133.33 0.87% 110 109.09 0.83% Modem Control Register The MCR is a general purpose control register which can be written to and read from. The RTS and DTR outputs are directly controlled by their associated bits in this register. Note that a logic one asserts a true logic level (low) at these output pins. The Interrupt Enable (INTEN) bit is the overall control for the INTR output pin. When INTEN is false, INTR is held false (low). The Operating Mode bits configure the 82C52 into one of four possible modes. “Normal” configures the 82C52 for normal full or half duplex communications. “Transmit Break”' enables the transmitter to only transmit break characters (Start, Data and Stop bits all are logic zero). The Echo Mode causes any data that is received on the SDI input pin to be retransmitted on the SDO output pin. Note that this output is FN2950.3 April 26, 2006 82C52 a buffered version of the data seen on the SDI input and is not a resynchronized output. Also note that normal UART transmission via the Transmitter Register is disabled when operating in the Echo mode (see Figure 4). The Loop Test Mode internally routes transmitted data to the receiver circuitry for the purpose of self test. The transmit data is disabled from the SDO output pin. The Receiver Enable bit gates off the input to the receiver circuitry when in the false state. Modem Interrupt Enable will permit any change in modem status line inputs (CTS, DSR) to cause an interrupt when this bit is enabled. Bit D7 must always be written to with a logic zero to insure correct 82C52 operation. D7 D6 D5 D4 D3 D2 D1 D0 Request 0 = RTS Output High† to Send 1 = RTS Output Low (RTS) Data 0 = DTR Output High Terminal 1 = DTR Output Low Ready (DTR) Interrupt 1 = Interrupts Enabled Enable 0 = interrupts Disabled (INTEN) Mode Select 00 = Normal 01 = Transmit Break 10 = Echo Mode 11 = Loop Test Mode Receiver 0 = Not Enabled Enable 1 = Enabled (REN) Modem 0 = Not Enabled Interrupt 1 = Enabled Enable (MIEN) Must be Set to a Logic 0 for Normal 82C52 Operation † See Modem Status Register description for a description of register flag images with respect to output pins. FIGURE 3. MCR UART Status Register (USR) The USR provides a single register that the controlling sys tem can examine to determine if errors have occurred or if other status changes in the 82C52 require attention. For this reason, the USR is usually the first register read by the CPU to determine the cause of an interrupt or to poll the status of the 82C52. Three error flags OE, FE and PE report the status of any error conditions detected in the receiver circuitry. These error flags are updated with every character received during reception of the stop bits. The Overrun Error (OE) indicates that a character in the Receiver Register has been received and cannot be transferred to the Receiver Buffer Register (RBR) because the RBR was not read by the CPU. Framing Error (FE) indicates that the last character received in the RBR contained improper stop bits. This could be caused by the absence of the required stop bit(s) or by a stop bit(s) that was too short to be properly detected. Parity Error (PE) indicates that the last character received in the RBR contained a parity error based on the programmed parity of the receiver and the calculated parity of the received character data and parity bits. The Received Break (RBRK) status bit indicates that the last character received was a break character. A break character would be considered to be an invalid data character in that the entire character including parity and stop bits are a logic zero. The Modem Status bit is set whenever a transition is detected on any of the Modem input lines (CTS or DSR). A subsequent read of the Modem Status Register will show the state of these two signals. Assertion of this bit will cause an interrupt (INTR) to be generated if the MIEN and INTEN bits in the MCR register are enabled. The Transmission Complete (TC) bit indicates that both the TBR and Transmitter Registers are empty and the 82C52 has completed transmission of the last character it was commanded to transmit. The assertion of this bit will cause an interrupt (INTR) if the INTEN bit in the MCR register is true. The Transmitter Buffer Register Empty (TBRE) bit indicates that the TBR register is empty and ready to receive another character. SERIAL DATA FROM TRANSMITTER REGISTER ECHO MODE LOOP MODE SDO PIN 15 SERIAL DATA TO RECEIVER REGISTER SDI PIN 25 FIGURE 4. LOOP AND ECHO MODE FUNCTIONALITY 7 The Data Ready (DR) bit indicates that the RBR has been loaded with a received character (including Break) and that the CPU may access this data. Assertion of the TBRE or DR bits do not affect the INTR logic and associated INTR output pin since the 82C52 has been designed to provide separate requests via the DR and TBRE output pins. If a single interrupt for any status change in the 82C52 is desired this can be accomplished by using an 82C59A Interrupt controller with DR, TBRE, and INTR as inputs. (See Figure 11). FN2950.3 April 26, 2006 82C52 D7 D6 D5 D4 D3 D2 D1 D0 Parity Error (PE) 0 = No Error 1 = Error Framing Error (FE) 0 = No Error 1 = Error Overrun Error (OE) 0 = No Error 1 = Error D7 D6 D5 D4 D3 D2 D1 D0 Clear to Send (CTS) Data Set Ready 0 = False (DSR) 1 = True 0 Received Break 0 = No Break (RBRK) 1 = Break Modem Status (MS) 0 = No Status Change 1 = Status Change Transmission Complete (TC) 0 = Not Complete 1 = Complete Transmitter Buffer Register Empty (TBRE) 0 = Not Empty 1 = Empty Data Ready (DR) 0 = Not Ready 1 = Ready FIGURE 5. USR Modem Status Register (MSR) The MSR allows the CPU to read the modem signal inputs by accessing the data bus interface of the 82C52. Like all of the register images of external pins in the 82C52, true logic levels are represented by a high (1) signal level. By following this consistent definition, the system software need not be concerned with whether external signals are high or low true. In particular, the modem signal inputs are low true, thus a 0 (true assertion) at a modem input pin is represented by a 1 (true) in the MSR. Any change of state in any modem input signals will set the Modem Status (MS) bit in the USR register. When this happens, an interrupt (INTR) will be generated if the MIEN and INTEN bits of the MCR are enabled. The Data Set Ready (DSR) input is a status indicator from the modem to the 82C52 which indicates that the modem is ready to provide received data to the 82C52 receiver circuitry. Clear to Send (CTS) is both a status and control signal from the modem that tells the 82C52 that the modem is ready to receive transmit data from the 82C52 transmitter output (SDO). A high (false) level on this input will inhibit the 82C52 from beginning transmission and if asserted in the middle of a transmission will only permit the 82C52 to finish transmission of the current character. 0 = False 1 = Truer 0 Undefined FIGURE 6. MSR Receiver Buffer Register (RBR) The receiver circuitry in the 82C52 is programmable for 5, 6, 7 or 8 data bits per character. For words of less than 8 bits, the data is right justified to the Least Significant Bit (LSB = D0). Bit D0 of a data word is always the first data bit received. The unused bits in a less than 8-bit word, at the parallel interface, are set to a logic zero (0) by the 82C52. Received data at the SDI input pin is shifted into the Receiver Register by an internal 1x clock which has been synchronized to the incoming data based on the position of the start bit. When a complete character has been shifted into the Receiver Register, the assembled data bits are parallel loaded into the Receiver Buffer Register. Both the DR output pin and DR flag in the USR register are set. This double buffering of the received data permits continuous reception of data without losing any of the received data. While the Receiver Register is shifting a new character into the 82C52, the Receiver Buffer Register is holding a previously received character for the system CPU to read. Failure to read the data in the RBR before complete reception of the next character can result in the loss of the data in the Receiver Register. The OE flag in the USR register indicates the overrun condition. D7 D6 D5 D4 D3 D2 D1 D0 Bit 0 Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 5-Bit Word 6-Bit Word 7-Bit Word 8-Bit Word Bit 6 Bit 7 FIGURE 7. RBR Transmitter Buffer Register (TBR) The Transmitter Buffer Register (TBR) accepts parallel data from the data bus (D0-D7) and holds it until the Transmitter Register is empty and ready to accept a new character for 8 FN2950.3 April 26, 2006 82C52 transmission. The transmitter always has the same word length and number of stop bits as the receiver. For words of less than 8 bits the unused bits at the microprocessor data bus are ignored by the transmitter. generated during a READ operation, the status bit is not set until the trailing edge of the RD pulse. If the bit was already set at the time of the READ operation, and the same status condition occurs, that status bit will be cleared at the trailing edge of the RD pulse instead of being set again. D7 D6 D5 D4 D3 D2 D1 D0 RBRK, TC OE, FE, PE (USR) Bit 0 Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 5-Bit Word POS. EDGE DETECT INTR PIN 24 RD (USR) 6-Bit Word 7-Bit Word 8-Bit Word Bit 6 Bit 7 FIGURE 8. TBR Bit 0, which corresponds to D0 at the data bus, is always the first serial data bit transmitted. Provision is made for the transmitter parity to be the same or different from the receiver. The TBRE output pin and flag (USR register) reflect the status of the TBR. The TC flag (USR register) indicates when both TBR and TR are empty. DSR, CTS (MSR) INTEN (MCR) POS. OR NEG. EDGE DETECT RD (MSR) MIEN (MCR) FIGURE 9. 82C52 INTERRUPT STRUCTURE Software Reset A software reset of the 82C52 is a useful method for returning to a completely known state without exercising a complete system reset. Such a reset would consist of writing to the UCR, BRSR and MCR registers. The USR and RBR registers should be read prior to enabling interrupts in order to clear out any residual data or status bits which may be invalid for subsequent operation. Crystal Operation 82C52 Interrupt Structure The 82C52 has provisions for software masking of interrupts generated for the INTR output pin. Two control bits in the MCR register, MIEN and INTEN, control modem status interrupts and overall 82C52 interrupts respectively. Figure 9 illustrates the logical control function provided by these signals. The modem status inputs (DSR and CTS) will trigger the edge detection circuitry with any change of status. Reading the MSR register will clear the detect circuit but has no effect on the status bits themselves. These status bits always reflect the state of the input pins regardless of the mask control signals. Note that the state (high or low) of the status bits are inverted versions of the actual input pins. The edge detection circuits for the USR register signals will trigger only for a positive edge (true assertion) of these status bits. Reading the USR register not only clears the edge detect circuit but also clears (sets to 0) all of the status bits. The output pins associated with these status bits are not affected by reading the USR register. A hardware reset of the 82C52 sets the TC status bit in the USR. When interrupts are subsequently enabled an interrupt can occur due to the fact that the positive edge detection circuitry in the interrupt logic has detected the setting of the TC bit. If this interrupt is not desired the USR should be read prior to enabling interrupts. This action resets the positive edge detection circuitry in the interrupt control logic (Figure 9). The 82C52 crystal oscillator circuitry is designed to operate with a fundamental mode, parallel resonant crystal. This circuit is the same one used in the Intersil 82C84A clock generator/driver. To summarize, Table 3 and Figure 10 show the required crystal parameters and crystal circuit configuration respectively. When using an external clock source, the IX input is driven and the OX output is left open. Power consumption when using an external clock is typically 50% of that required when using a crystal. This is due to the sinusoidal nature of the drive circuitry when using a crystal. TABLE 3. PARAMETER TYPICAL CRYSTAL SPECIFICATION Frequency 1.0 to 16MHz Type of Operation Parallel Resonant, Fundamental Mode Load Capacitance (CL) 20 or 32pF (Typ) RSERIES(Max) 100Ω (f = 16MHz, CL = 32pF) 200Ω (f = 16MHz, CL = 20pF) NOTE: For USR and MSR, the setting of status bits is inhibited during status register READ operations. If a status condition is 9 FN2950.3 April 26, 2006 82C52 C1 (NOTE) GND By using the Intersil CMOS 82C84A clock generator, the system can be built with a single crystal providing both the processor clock and the clock for the 82C52. The 82C52 has special divider circuitry which is designed to supply industry standard baud rates with a 2.4576MHz input frequency. Using a 15MHz crystal as shown, results in less than a 2% frequency error which is adequate for many applications. For more precise baud rate requirements, a 14.7456MHz crystal will drive the 80C86 at 4.9MHz and provide the 82C52 with the standard baud rate input frequency of 2.4576MHz. If baud rates above 156Kbaud are desired, the OSC output can be used instead of the PCLK (÷6) output for asynchronous baud rates up to 1Mbaud. IX 82C52 C2 (NOTE) OX NOTE: C1 = C2 = 20pF For CL = 20pF C1 = C2 = 47pF For CL = 32pF FIGURE 10. 82C52 - 80C86 Interfacing The following example (Figure 11) shows the interface for an 82C52 in an 80C86 system. Use of the Intersil CMOS Interrupt Controller (82C59A) is optional and necessary only if an interrupt driven system is desired. CHIP SELECT CSO D0-D7 AD0, AD7 ADDRESS BUS 80C86 OR 80C88 82C88 (MAX MODE) INT CLK X1 CLK PCLK 15MHz X2 OSC INTA INT IRX 82C59A IORD IOWR 3 2 SDO A0, A1 RD WR SDI SERIAL DATA 82C52 INTR, DR, TBRE INTA IX 5MHz 2.5MHz 15MHz 82C84A OR 82C85 FIGURE 11. 80C86/82C52 INTERFACE 10 FN2950.3 April 26, 2006 82C52 Absolute Maximum Ratings Thermal Information Supply Voltage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +8.0V Input, Output or I/O Voltage . . . . . . . . . . . . GND-0.5V to VCC +0.5V ESD Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Class 1 Thermal Resistance (Typical, Note 1) θJA (°C/W) θJC (°C/W) CERDIP Package . . . . . . . . . . . . . . . . 45 8.4 CLCC Package . . . . . . . . . . . . . . . . . . 60 14 PDIP Package . . . . . . . . . . . . . . . . . . . 55 N/A PLCC Package . . . . . . . . . . . . . . . . . . 46 N/A Maximum Junction Temperature Ceramic Package. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +175°C Plastic Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +150°C Maximum Storage Temperature Range . . . . . . . . . -65°C to +150°C Maximum Lead Temperature (Soldering 10s) . . . . . . . . . . . . +300°C (Lead Tips Only For Surface Mount Packages) Operating Conditions Operating Voltage Range . . . . . . . . . . . . . . . . . . . . . +4.5V to +5.5V Operating Temperature Range C82C52 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0°C to +70°C I82C52 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-40°C to +85°C M82C52 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-55°C to +125°C Die Characteristics Gate Count . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1500 Gates CAUTION: Stresses above those listed in “Absolute Maximum Ratings” may cause permanent damage to the device. This is a stress only rating and operation of the device at these or any other conditions above those indicated in the operational sections of this specification is not implied. NOTE: 1. θJA is measured with the component mounted on an evaluation PC board in free air. DC Electrical Specifications VCC = 5.0V ±10%, TA = 0°C to +70°C (C82C52), TA = -40°C to +85°C (l82C52) TA = -55°C to +125°C (M82C52) SYMBOL VIH PARAMETER Logical One Input Voltage MIN MAX UNITS TEST CONDITIONS 2.0 - V I82C52, C82C52 2.2 - V M82C52 - 0.8 V VIL Logical Zero Input Voltage VTH Schmitt Trigger Logic One Input Voltage VCC -0.5 - V Reset Input VTL Schmitt Trigger Logic Zero Input Voltage - GND +0.5 V Reset Input VIH (CLK) Logical One Clock Input Voltage VCC -0.5 - V External Clock VlL (CLK) Logical Zero Clock Input Voltage - GND +0.5 V External Clock 3.0 - V IOH = -2.5mA, Except OX VCC -0.4 - V IOH = -100µA, For OX - IOH = -1.0mA - 0.4 V lOL = +2.5mA VOH VOL Output High Voltage Output Low Voltage II Input Leakage Current -1.0 +1.0 µA VIN = GND or VCC, DIP Pins 1, 2, 11, 12, 17, 18, 23, 25, 28 IO Input/Output Leakage Current -10.0 +10.0 µA VO = GND or VCC, DIP Pins 3-10 ICCOP Operating Power Supply Current (Note 1) - 4 mA External Clock F = 2.4576MHz, VCC = 5.5V, VIN = VCC or GND, Outputs Open ICCSB Standby Supply Current - 100 µA VCC = 5.5V, VIN = VCC or GND, Outputs Open TYPICAL UNITS TEST CONDITIONS Input Capacitance 12 pF Output Capacitance 15 pF I/O Capacitance 15 pF NOTE: 1. Guaranteed and sampled, but not 100% tested. ICCOP is typically ≤ 1.5mA/MHz. Capacitance TA = 25°C SYMBOL CIN COUT CI/O PARAMETER 11 FREQ = 1MHz, all measurements are referenced to device GND FN2950.3 April 26, 2006 82C52 AC Electrical Specifications VCC = 5.0V ±10%, TA = 0°C to +70°C (C82C52), TA = -40°C to +85°C (l82C52) TA = -55°C to +125°C (M82C52) Timing Requirements and Responses SYMBOL PARAMETER MIN MAX UNITS TEST CONDITIONS (1) TSVCTL Select Setup to Control Leading Edge 30 - ns (2) TCTHSX Select Hold from Control Trailing Edge 50 - ns (3) TCTLCTH Control Pulse Width 150 - ns (4) TCTHCTL Control Disable to Control Enable 190 - ns (5) TRLDV Read Low to Data Valid - 120 ns 1, See AC Test Circuit (6) TRHDZ Read Disable 0 60 ns 2, See AC Test Circuit (7) TDVWH Data Setup Time 50 - ns (8) TWHDX Data Hold Time 20 - ns (9) FC Clock Frequency 0 16 MHz (10) TCHCL Clock High Time 25 - ns (11) TCLCH Clock Low Time 25 - ns (12) TR/TF IX Input Rise/Fall Time (External Clock) - tx ns 1 tx ≥ ------------ or 50ns 6FC Whichever is smaller (13) TFCO Clock Output Fall Time - 15 ns CL = 50pf (14) TRCO Clock Output Rise Time - 15 ns CL = 50pf Control Consists of RD or WR TCHCL + TCLCH must be ≥ 62.5ns AC Testing Input, Output Waveforms INPUT VIH + 0.4V OUTPUT VOH 1.5V OUTPUT 1.5V VIL - 0.4V 90% 10% VOL FIGURE 12. PROPAGATION DELAY FIGURE 13. ENABLE/DISABLE DELAY AC TESTING: All input signals (except IX and RST) must switch between VIL -0.4V and VIH +0.4V. Input rise and fall times are driven at 1ns/V. 12 FN2950.3 April 26, 2006 82C52 Timing Waveform NEXT BUS CYCLE SELECT VALID CS0, A0, A1 (1) TSVCTL (3) TCTLCTH (2) TCTHSX WR WRITE OPERATION (7) TDVWH D0-D7 (8) TWHDX VALID (1) TSVCTL (3) TCTLCTH (4) TCTHCTL RD (5) TRLDV READ OPERATION (6) TRHDZ D0-D7 FIGURE 14. BUS OPERATION AC Test Circuit V1 TEST CONDITION R1 OUTPUT FROM DEVICE UNDER TEST TEST POINT V1 R1 R2 CL 1 Propagation Delay 1.7V 520 ∞ 100pF 2 Disable Delay VCC 5K 5K 50pF R2 CL 13 FN2950.3 April 26, 2006 82C52 UART Timing Characterization All parameters listed in this table were laboratory bench characterized at room temperature on a small sample of parts. No guarantee is implied. The main intent here is to clarify functional operation of the 82C52. 82C52 UART Timing Characterized with IX = External Clock SYMBOL PARAMETER MIN MAX UNITS TEST CONDITIONS (15) TS1 CO(IX) Delay from IX - 30 ns BRSR Bit D7 = 0 (IX Output) (16) TS2 CO (BRG) Delay from IX - 80 ns BRSR Bit D7 = 1 (BRG Output) (17) TCY CO (BRG) Clock Cycle Time 62.5 - ns BRSR Bit D7 = 1 (BRG Output), Note 1 (18) TDTX SDO Delay from CO(BRG) Low - 30 ns Note 2 (19) TWLTL WR Low to TBRE Low - 50 ns Note 3 (20) TCLTH CO (BRG) Low to TBRE HIgh - 50 ns Notes 3, 4 (21) TIHF INTR High on Flag - 50 ns Note 5A, 5B (22) TIHM INTR High on MS - 50 ns Note 5 (23) TRLIL RD Low to INTR Low - 60 ns (24) TCTHX CTS High to Disable Transmit 4TCY + 10 - ns TBR Full, Note 6 (25) TDRH CO (BRG) Low to DR High - 40 ns Note 7 (26) TRLDL RD Low to DR Low - 50 ns Note 7 (27) TWHO WR High to RTS/DTR Active - 50 ns NOTES: 1. Prescaler rate of divide by 1, Divisor Select rate of “external” (divide by 1). The Baud Rate Clock (CO-BRG) operates at 16 times the user programmed bit rate. For example, at 1200 baud: TCY = 1/(16 x 1200) = 52.1µs. 2. A. With TR (Transmitter Register) initially empty, TDTX occurs from the 5th falling edge of CO(BRG) after WR goes high. B. With TR initially full, TDTX occurs from the trailing edge of the 16th CO(BRG) in the last Stop bit provided WR went high by the trailing edge of the 12th CO(BRG) in the last Stop bit. C. With CTS high (disable transmit) and TBR full, TDTX occurs from the 5th falling edge of CO(BRG) after CTS goes low. 3. TBRE bit D6 in USR is updated each time TBRE changes state. 4. A. With TR initially empty, TCLTH(TBRE) occurs from the 4th falling edge of CO(BRG) after WR goes high. B. With TR initially full, TCLTH(TBRE) occurs from the trailing edge of the 15th CO(BRG) in the last Stop bit provided WR went high by the trailing edge of the 12th CO(BRG) in the last Stop bit. C. With CTS high (disable transmit) and TBR full, TCLTH(TBRE) occurs from the 4th falling edge of CO(BRG) after CTS goes low. 5. A. INT on TC: INTEN enabled; USR bit D5(TC) is updated at this time regardless of interrupt configuration. - INT on TC occurs from the trailing edge of the 11th CO(BRG) in the last Stop bit if TBR empty at that time. B. INTR on receive flags OE, FE, PE, and RBRK: INTEN enabled; Respective USR bits updated at this time regardless of interrupt configuration. - INT on OE, FE, PE, RBRK occurs from the trailing edge of the 11th CO(BRG) in the last Stop bit. To avoid OE, RD(RBR) must go low by the trailing edge of the 8th CO(BRG) in the last Stop bit. C. INTR on MS: INTEN and MIEN enabled; USR bit D4(MS) is updated at this time regardless of INTEN/MIEN. - INTR on MS occurs whenever CTS or DSR input changes state. 6. TCTHX is time before end of last Stop bit by which CTS must be inactive (high) to prevent transmission of the character waiting in TBR. 7. DR bit D7 in USR is updated each time DR changes state. TDRH always from trailing edge of 11th CO(BRG) in last Stop bit. 14 FN2950.3 April 26, 2006 82C52 UART Timing Characterization TCHCL (11) IX TCLCH (10) (15) TS1 CO(IX) (16) TS2 CO(BRG) TCY (17) FIGURE 15. CLOCK (IX) AND CO TIMING CO(BRG) 16 CO(BRG) PERIODS TDTX (18) TX DATA TDTX (18) DATA BIT FIGURE 16. TRANSMITTER DATA CO(BRG) 8 CO(BRG) PERIODS 16 CO(BRG) PERIODS RX DATA DATA BIT START BIT RX BAUD COUNTER STARTS HERE INTERNAL SAMPLE FIGURE 17. RECEIVER DATA 15 FN2950.3 April 26, 2006 82C52 UART Timing Characterization 8/I 9/I 10/I (Continued) 11/I 12/I 13/I 14/I 15/I 16/I I/1 I/2 I/3 CO(BRG) WR (20) TCLTH (19) TWLTL TBRE NOTE 2 NOTE 1 (18) TDTX NOTE 3 LAST STOP BIT / IDLE SDO IDLE / START BIT RD (21) TIHF (23) TRLIL INTR 11 12 13 14 15 16 1 2 CO(BRG) (24) TCTHX CTS NOTE 4 (20) TCLTH NOTE 5 (18) TDTX TBRE NOTE 6 SDO LAST STOP BIT IDLE START BIT DISABLED FIGURE 18. TRANSMIT TIMING 16 FN2950.3 April 26, 2006 82C52 UART Timing Characterization (Continued) NOTES: 1. TBRE bit D6 in USR is updated each time TBRE changes state. 2. A. With TR initially empty, TCLTH(TBRE) occurs from the 4th falling edge of CO(BRG) after WR goes high. B. With TR initially full, TCLTH(TBRE) occurs from the trailing edge of the 15th CO(BRG) in the last Stop bit provided WR went high by the trailing edge of the 12th CO(BRG) in the last Stop bit. 3. A. With TR (Transmitter Register) initially empty, TDTX occurs from the 5th falling edge of CO(BRG) after WR goes high. B. With TR initially full, TDTX occurs from the trailing edge of the 16th CO(BRG) in the last Stop bit provided WR went high by the trailing edge of the 12th CO(BRG) in the last Stop bit. 4. TCTHX is time before end of last Stop bit by which CTS must be inactive (high) to prevent transmission of the character waiting in TBR. 5. With CTS high (disable transmit) and TBR full, TCLTH(TBRE) occurs from the 4th falling edge of CO(BRG) after CTS goes low. 6. With CTS high (disable transmit) and TBR full, TDTX occurs from the 5th falling edge of CO(BRG) after CTS goes low. 11 12 13 14 15 16 1/I 2/I 3/I CO(BRG) LAST STOP BIT SDI START BIT / IDLE RD RBR DR INTR USR (25) (26) TDRH TRLDL NOTE 1 (21) (23) TIHF TRLIL NOTE 2 FIGURE 19. RECEIVE TIMING 17 FN2950.3 April 26, 2006 82C52 UART Timing Characterization (Continued) MCR WR (27) TWHO RTS/DTR MSR RD DSR/CTS INTR (22) (23) TIHM TRLIL NOTE 3 FIGURE 20. OTHER TIMING NOTES: 1. DR bit D7 in USR is updated each time DR changes state. TDRH always from trailing edge of 11th CO(BRG) in last Stop bit. 2. INTR on receive flags OE, FE, PE, and RBRK: INTEN enabled; Respective USR bits updated at this time regardless of interrupt configuration. - INT on OE, FE, PE, RBRK occurs from the trailing edge of the 11th CO(BRG) in the last Stop bit. To avoid OE, RD(RBR) must go low by the trailing edge of the 8th CO(BRG) in the last Stop bit. 3. INTR on MS: INTEN and MIEN enabled; USR bit D4(MS) is updated at this time regardless of INTEN/MIEN. - INTR on MS occurs whenever CTS or DSR input changes state. 18 FN2950.3 April 26, 2006 82C52 Burn-In Circuits MD82C52 CERDIP R1 VCC 28 2 27 3 26 4 25 5 24 6 23 7 22 8 21 9 20 10 19 11 18 12 17 GND 13 16 GND 14 15 R2 GND R2 Q4 R2 Q5 R2 Q6 R2 Q7 R2 Q8 R2 Q7 R2 Q8 R2 Q1 R2 Q2 R2 F0 R1 VCC/2 GND 1 R2 Q3 VCC R1 VCC/2 R1 C2 VCC R1 VCC/2 A R1 VCC/2 R1 VCC/2 R1 VCC/2 R1 VCC VCC/2 R1 C1 VCC R1 A R3 VCC/2 MR82C52 CLCC VCC Q4 GND Q3 R2 Q5 Q6 Q7 Q8 Q7 Q8 Q1 4 R2 R2 3 VCC GND R2 2 C2 R1 1 R1 28 27 26 25 5 R2 R1 R1 6 24 7 23 R2 22 8 R1 R2 21 9 R2 R2 R1 10 20 11 19 R1 12 13 R2 Q2 R2 F0 14 15 R1 VCC/2 16 17 R1 18 R1 GND VCC/2 A R1 R2 VCC VCC/2 VCC/2 VCC VCC/2 C1 VCC/2 A R3 VCC NOTES: 1. VCC = 5.5V ±0.5V GND = 0V 2. VIH = 4.5V ±10% VIL = -0.2V to +0.4V 3. Component Values: R1 = 1.2KΩ, 1/4W, 5% R2 = 47KΩ, 1/4W, 5% R3 = 10KΩ, 1/4W, 5% C1 = 1.0µF nominal C2 = 0.01µF minimum F0 = 100KHz ±10%, F1 = F0/2, F2 = F1/2 . . . F12 = F11/2 19 FN2950.3 April 26, 2006 82C52 Die Characteristics DIE DIMENSIONS: 178.7 x 187.0 x 19 ±1mils GLASSIVATION: Type: Nitrox Thickness: 10kÅ METALLIZATION: Type: Silicon - Aluminum Thickness: 11kÅ ±2kÅ WORST CASE CURRENT DENSITY: 2.07 x 104 A/cm2 Metallization Mask Layout 82C52 D0 WR RD CSO VCC DR D1 SD1 D2 INTR D3 RST D4 TBRE D5 CO D6 RTS D7 A0 DTR A1 DSR IX OX SDO GND CTS All Intersil U.S. products are manufactured, assembled and tested utilizing ISO9000 quality systems. Intersil Corporation’s quality certifications can be viewed at www.intersil.com/design/quality Intersil products are sold by description only. Intersil Corporation reserves the right to make changes in circuit design, software and/or specifications at any time without notice. Accordingly, the reader is cautioned to verify that data sheets are current before placing orders. Information furnished by Intersil is believed to be accurate and reliable. However, no responsibility is assumed by Intersil or its subsidiaries for its use; nor for any infringements of patents or other rights of third parties which may result from its use. No license is granted by implication or otherwise under any patent or patent rights of Intersil or its subsidiaries. For information regarding Intersil Corporation and its products, see www.intersil.com 20 FN2950.3 April 26, 2006