19-3738; Rev 0; 7/05 I2C Port Expander with 8 Open-Drain I/Os The MAX7321 2-wire serial-interfaced peripheral features eight open-drain I/O ports with selectable internal pullups and transition detection. Any port may be used as a logic input or an open-drain output. Ports are overvoltage protected to +6V independent of supply voltage. All I/O ports configured as inputs are continuously monitored for state changes (transition detection). State changes are indicated by the open-drain, +6V tolerant INT output. The interrupt is latched, allowing detection of transient changes. When the MAX7321 is subsequently accessed through the serial interface, any pending interrupt is cleared. The open-drain outputs are rated to sink 20mA and are capable of driving LEDs. The +6V tolerant RST input clears the serial interface, terminating any I 2 C* communication to or from the MAX7321. The MAX7321 uses two address inputs with four-level logic to allow 16 I 2 C slave addresses. The slave address also determines the power-up logic level for the I/O ports, and enables or disables internal 40kΩ pullups in groups of four ports. The MAX7321 supports hot insertion. All eight I/O ports, the serial interface SDA, SCL, AD0, AD2, INT, and RST remain high impedance in power-down (V+ = 0) with up to +6V asserted on them. The MAX7321 is one device in a family of pin-compatible port expanders with a choice of input ports, open-drain I/O ports, and push-pull output ports (see Table 1). The MAX7321 is available in 16-pin QSOP and 16-pin TQFN packages, and is specified over the automotive temperature range (-40°C to +125°C). Applications Cell Phones SAN/NAS Servers Notebooks Satellite Radio Automotive Pin Configurations, Typical Application Circuit, and Functional Diagram appear at end of data sheet. *Purchase of I2C components from Maxim Integrated Products, Inc., or one of its sublicensed Associated Companies, conveys a license under the Philips I2C Patent Rights to use these components in an I2C system, provided that the system conforms to the I2C Standard Specification as defined by Philips. Features ♦ 400kHz, +6V Tolerant I2C Serial Interface ♦ +1.71V to +5.5V Operating Voltage ♦ 8 Open-Drain I/O Ports Rated to 20mA Sink Current ♦ I/O Ports Are Overvoltage Protected to +6V ♦ Any Port Can Be a Logic Input or an Open-Drain Output ♦ Selectable I/O Port Power-Up Default Logic Levels ♦ Transient Changes Are Latched, Allowing Detection Between Read Operations ♦ INT Output Alerts Change on Inputs ♦ AD0 and AD2 Inputs Select from 16 Slave Addresses ♦ Low 0.6µA (typ), 1.5µA (max) Standby Current ♦ -40°C to +125°C Operating Temperature Ordering Information TEMP RANGE PINPACKAGE MAX7321AEE -40°C to +125°C 16 QSOP MAX7321ATE -40°C to +125°C 16 TQFN 3mm x 3mm x 0.8mm MAX7321ASE* -40°C to +125°C MAX7321AUP* MAX7321AAP* PART TOP MARK PKG CODE — E16-4 ADC T1633-4 16 SO — — -40°C to +125°C 20 TSSOP — — -40°C to +125°C 20 SSOP — — *Future product—contact factory for availability. Selector Guide PART INPUTS INTERRUPT MASK MAX7319 8 Yes OPENPUSH-PULL DRAIN OUTPUTS OUTPUTS — — MAX7320 — — — 8 MAX7321 Up to 8 — Up to 8 — MAX7322 4 Yes — 4 MAX7323 Up to 4 — Up to 4 4 MAX7328 Up to 8 — Up to 8 — MAX7329 Up to 8 — Up to 8 — ________________________________________________________________ Maxim Integrated Products For pricing, delivery, and ordering information, please contact Maxim/Dallas Direct! at 1-888-629-4642, or visit Maxim’s website at www.maxim-ic.com. 1 MAX7321 General Description MAX7321 I2C Port Expander with 8 Open-Drain I/Os ABSOLUTE MAXIMUM RATINGS All Voltages Referenced to GND Supply Voltage V+....................................................-0.3V to +6V SCL, SDA, AD0, AD2, RST, INT, P0–P7 ...................-0.3V to +6V P0–P7 Sink Current ............................................................ 25mA SDA Sink Current ............................................................... 10mA INT Sink Current..................................................................10mA Total V+ Current..................................................................50mA Total GND Current ...........................................................100mA Continuous Power Dissipation (TA = +70°C) 16-Pin QSOP (derate 8.3mW/°C above +70°C)...........667mW 16-Pin TQFN (derate 15.6mW/°C above +70°C) .......1250mW Operating Temperature Range .........................-40°C to +125°C Junction Temperature ......................................................+150°C Storage Temperature Range .............................-65°C to +150°C Lead Temperature (soldering, 10s) .................................+300°C Stresses beyond those listed under “Absolute Maximum Ratings” may cause permanent damage to the device. These are stress ratings only, and functional operation of the device at these or any other conditions beyond those indicated in the operational sections of the specifications is not implied. Exposure to absolute maximum rating conditions for extended periods may affect device reliability. ELECTRICAL CHARACTERISTICS (V+ = +1.71V to +5.5V, TA = -40°C to +125°C, unless otherwise noted. Typical values are at V+ = +3.3V, TA = +25°C.) (Note 1) PARAMETER Operating Supply Voltage SYMBOL Power-On Reset Voltage VPOR Standby Current (Interface Idle) ISTB Supply Current (Interface Running) CONDITIONS V+ I+ Input High Voltage SDA, SCL, AD0, AD2, RST, P0–P7 VIH Input Low Voltage SDA, SCL, AD0, AD2, RST, P0–P7 VIL Input Leakage Current SDA, SCL, AD0, AD2, RST, P0–P7 IIH, IIL MIN V 1.6 V 1.5 µA fSCL = 400kHz; other digital inputs at V+ 23 51 µA V+ ≤ 1.8V 0.8 x V+ V+ ≥ 1.8 0.7 x V+ V V+ ≤ 1.8V 0.2 x V+ 1.71V ≤ V+ ≤ 1.8V 0.3 x V+ SDA, SCL, AD0, AD2, RST, P0–P7 at V+ or GND +0.2 -0.2 10 VOL 90 180 V+ = +2.5V, ISINK = 10mA 110 210 V+ = +3.3V, ISINK = 15mA 130 230 V+ = +5V, ISINK = 20mA 140 250 ISINK = 6mA Output Low Voltage INT VOLINT ISINK = 5mA RPU 25 V µA pF V+ = +1.71V, ISINK = 5mA VOLSDA 2 UNITS 5.5 0.6 Output Low Voltage SDA Port Input Pullup Resistor MAX SCL and SDA and other digital inputs at V+ Input Capacitance SDA, SCL, AD0, AD2, RST, P0–P7 Output Low Voltage P0–P7 TYP 1.71 mV 250 mV 130 250 mV 40 55 kΩ _______________________________________________________________________________________ I2C Port Expander with 8 Open-Drain I/Os (V+ = +1.71V to +5.5V, TA = -40°C to +125°C, unless otherwise noted. Typical values are at V+ = +3.3V, TA = +25°C.) (Note 1) PARAMETER SYMBOL CONDITIONS MIN TYP MAX UNITS 4 µs Port Output Data Valid tPPV CL ≤ 100pF Port Input Setup Time tPSU CL ≤ 100pF 0 Port Input Hold Time tPH CL ≤ 100pF 4 INT Input Data Valid Time tIV CL ≤ 100pF 4 µs INT Reset Delay Time from STOP tIP CL ≤ 100pF 4 µs INT Reset Delay Time from Acknowledge tIR CL ≤ 100pF 4 µs µs µs TIMING CHARACTERISTICS (V+ = +1.71V to +5.5V, TA = -40°C to +125°C, unless otherwise noted. Typical values are at V+ = +3.3V, TA = +25°C.) (Note 1) PARAMETER SYMBOL CONDITIONS MIN TYP MAX UNITS 400 kHz Serial Clock Frequency fSCL Bus Free Time Between a STOP and a START Condition tBUF 1.3 µs Hold Time (Repeated) START Condition tHD, STA 0.6 µs Repeated START Condition Setup Time tSU, STA 0.6 µs STOP Condition Setup Time tSU, STO Data Hold Time tHD, DAT Data Setup Time 0.6 µs (Note 2) 0.9 µs tSU, DAT 100 ns SCL Clock Low Period tLOW 1.3 µs SCL Clock High Period tHIGH 0.7 µs Rise Time of Both SDA and SCL Signals, Receiving tR (Notes 3, 4) 20 + 0.1Cb 300 ns Fall Time of Both SDA and SCL Signals, Receiving tF (Notes 3, 4) 20 + 0.1Cb 300 ns Fall Time of SDA, Transmitting tF,TX (Notes 3, 4) 20 + 0.1Cb 250 ns Pulse Width of Spike Suppressed tSP (Note 5) Capacitive Load for Each Bus Line Cb (Note 3) RST Pulse Width tW 500 ns tRST 1 µs RST Rising to START Condition Setup Time 50 ns 400 pF Note 1: All parameters tested at TA = +25°C. Specifications over temperature are guaranteed by design. Note 2: A master device must provide a hold time of at least 300ns for the SDA signal (referred to VIL of the SCL signal) in order to bridge the undefined region of SCL’s falling edge. Note 3: Guaranteed by design. Note 4: Cb = total capacitance of one bus line in pF. tR and tF measured between 0.3 x V+ and 0.7 x V+. ISINK ≤ 6mA. Note 5: Input filters on the SDA and SCL inputs suppress noise spikes less than 50ns. _______________________________________________________________________________________ 3 MAX7321 PORT AND INTERRUPT INT TIMING CHARACTERISTICS Typical Operating Characteristics (TA = +25°C, unless otherwise noted.) STANDBY CURRENT vs. TEMPERATURE V+ = +5.0V 1.0 V+ = +3.3V V+ = +2.5V 0.8 0.6 0.4 V+ = +1.71V 40 V+ = +3.3V 30 20 V+ = +2.5V 10 0.35 0.30 V+ = +5.0V ISINK = 20mA 0.25 0.20 V+ = +3.3V ISINK = 15mA 0.15 V+ = +2.5V ISINK = 10mA 0.10 V+ = +1.71V ISINK = 5mA 0.05 0.2 V+ = +1.71V 0 MAX7321 toc03 V+ = +5.0V 50 0.40 OUTPUT VOLTAGE LOW (V) 1.4 1.2 fSCL = 400kHz SUPPLY CURRENT (µA) 1.6 60 MAX7321 toc02 fSCL = 0kHz 1.8 OUTPUT VOLTAGE LOW vs. TEMPERATURE SUPPLY CURRENT vs. TEMPERATURE MAX7321 toc01 2.0 STANDBY CURRENT (µA) MAX7321 I2C Port Expander with 8 Open-Drain I/Os 0 0 -40 -25 -10 5 20 35 50 65 80 95 110 125 -40 -25 -10 5 20 35 50 65 80 95 110 125 TEMPERATURE (°C) TEMPERATURE (°C) -40 -25 -10 5 20 35 50 65 80 95 110 125 TEMPERATURE (°C) Pin Description PIN QSOP TQFN TSSOP/ SSOP NAME 1, 3 15, 1 6, 9 AD0, AD2 Address Inputs. Select device slave address with AD0 and AD2. Connect AD0 and AD2 to either GND, V+, SCL, or SDA to give four logic combinations (see Table 3). 2 16 7 RST Reset Input, Active Low. Drive RST low to clear the 2-wire interface. 2–5, 7–10 10, 11, 12, 14, 16, 17, 19, 20 P0–P7 4–7, 9–12 4 FUNCTION Input/Output Ports. P0 to P7 are open-drain I/Os rated at +6V, 20mA. 8 6 11 15 1 GND 13 INT Ground Interrupt Output. INT is an open-drain output rated at +6V. 14 12 2 SCL I2C-Compatible Serial Clock Input 15 13 4 SDA 16 5 V+ — 14 — I2C-Compatible Serial Data I/O Positive Supply Voltage. Bypass V+ to GND with a ceramic capacitor of at 3,18 N.C. — EP — EP No Connection. Internally not connected. Exposed Pad. Connect exposed pad to GND. _______________________________________________________________________________________ I2C Port Expander with 8 Open-Drain I/Os MAX7319–MAX7329 Family Comparison The MAX7319–MAX7323 family consists of five pincompatible, eight-port expanders. Each version is optimized for different applications. The MAX7328 and MAX7329 are second sources to the PCF8574 and PCF8574A. The MAX7324–MAX7327 family consists of four pincompatible, 16-port expanders that integrate the functions of the MAX7320 and one of either the MAX7319, MAX7321, MAX7322, or MAX7323. Functional Overview The MAX7321 is a general-purpose port expander operating from a +1.71V to +5.5V supply that provides eight open-drain I/O ports. Each open-drain output is rated to sink 20mA, and the entire device is rated to sink 100mA into all ports combined. The outputs drive loads connected to supplies up to +6V, independent of the MAX7321’s supply voltage. The MAX7321 is set to one of 16 I2C slave addresses (0x60 to 0x6F) using the address select inputs AD0 and AD2, and is accessed over an I2C serial interface up to 400kHz. The RST input clears the serial interface in Table 1. MAX7321–MAX7329 Family Comparison PART I2C SLAVE INPUTS ADDRESS INPUT INTERRUPT MASK OPENDRAIN OUTPUTS PUSHPULL OUTPUTS APPLICATION 8-PORT EXPANDERS Input-only versions: 8 input ports with programmable latching transition detection interrupt and selectable pullups. MAX7319 110xxxx 8 Yes — — MAX7320 101xxxx — — — 8 Offers maximum versatility for automatic input monitoring. An interrupt mask selects which inputs cause an interrupt on transitions, and transition flags identify which inputs have changed (even momentarily) since the ports were last read. Output-only versions: 8 push-pull outputs with selectable power-up default levels. Push-pull outputs offer faster rise time than opendrain outputs, and require no pullup resistors. I/O versions: 8 open-drain I/O ports with latching transition detection interrupt and selectable pullups. MAX7321 110xxxx Up to 8 — Up to 8 — MAX7322 110xxxx 4 Yes — 4 Open-drain outputs can level shift the logic-high state to a higher or lower voltage than V+ using external pullup resistors. Any port can be used as an input by setting the open-drain output to logic high. Transition flags identify which inputs have changed (even momentarily) since the ports were last read. 4 input-only, 4 output-only versions: 4 input ports with programmable latching transition detection interrupt and selectable pullups; 4 push-pull outputs with selectable power-up default levels. _______________________________________________________________________________________ 5 MAX7321 Detailed Description MAX7321 I2C Port Expander with 8 Open-Drain I/Os Table 1. MAX7321–MAX7329 Family Comparison (continued) PART I2C SLAVE INPUTS ADDRESS INPUT INTERRUPT MASK OPENDRAIN OUTPUTS PUSHPULL OUTPUTS MAX7323 110xxxx Up to 4 — Up to 4 4 MAX7328 MAX7329 0100xxx 0111xxx Up to 8 — Up to 8 — APPLICATION 4 I/O, 4 output-only versions: 4 open-drain I/O ports with latching transition detection interrupt and selectable pullups. 4 push-pull outputs with selectable power-up default levels. PCF8574-, PCF8574A-compatible versions: 8 open-drain I/O ports with nonlatching transition detection interrupt and pullups on all ports. All ports power up as inputs (or logic-high outputs). Any port can be used as an input by setting the open-drain output to logic high. 16 PORTS IN 24-PIN PACKAGES MAX7324 MAX7325 MAX7326 MAX7327 101xxxx and 110xxxx 8 Yes — 8 Software equivalent to a MAX7320 plus a MAX7321. Up to 8 — Up to 8 8 Software equivalent to a MAX7320 plus a MAX7319. 4 Yes — 12 Software equivalent to a MAX7320 plus a MAX7322. Up to 4 — Up to 4 12 Software equivalent to a MAX7320 plus a MAX7323. case of a hung bus, terminating any serial transaction to or from the MAX7321. Any port can be configured as a logic input by setting the port output logic high (logic high for an open-drain output is high impedance). When the MAX7321 is read through the serial interface, the actual logic levels at the ports are read back. The open-drain ports offer latching transition detection when used as inputs. All input ports are continuously monitored for changes. An input change sets 1 of 8 flag bits that identify changed input(s). All flags are cleared upon a subsequent read or write transaction to the MAX7321. A latching interrupt output, INT, is programmed to flag logic changes on ports used as inputs. Data changes on any input port forces INT to a logic low. Changing the I/O port level through the serial interface does not cause an interrupt. The interrupt output INT is cleared when the MAX7321 is next accessed through the serial interface. Internal pullup resistors to V+ are selected by the address select inputs, AD0 and AD2. Pullups are enabled on the input ports in groups of four (see Table 3). Use the slave address selection to ensure that I/O ports used as inputs are high on power-up. To simplify I/O 6 port and slave address configuration, I/O ports with internal pullups enabled also default with their opendrain outputs logic high (high impedance). I/O ports with internal pullups disabled default with open-drain outputs logic low. Output port power-up logic levels are selected by the address select inputs AD0 and AD2. Ports default to logic high or logic low on power-up in groups of four (see Table 3). Initial Power-Up On power-up, the transition detection logic is reset, and INT is released to a high-impedance state. The transition flags are cleared to indicate no data changes. The power-up default states of the eight I/O ports are set according to the I2C slave address selection inputs, AD0 and AD2 (Table 3). For I/O ports used as inputs, ensure that the default states are logic high so that the I/O ports power up in the high-impedance state. All I/O ports configured with pullups enabled also have a logic-high power-up state. RST Input The RST input voids any I2C transaction involving the MAX7321, forcing the MAX7321 into the I2C STOP condition. A reset does not affect the interrupt output (INT) or change the contents of the interrupt mask register. RST is overvoltage tolerant to +6V. _______________________________________________________________________________________ I2C Port Expander with 8 Open-Drain I/Os MAX7321 Table 2. Read and Write Access to Eight-Port Expander Family PART I2C SLAVE ADDRESS INPUTS INTERRUPT MASK OPENDRAIN OUTPUTS PUSHPULL OUTPUTS I2C DATA WRITE I2C DATA READ MAX7319 110xxxx 8 Yes — — <I7–I0 interrupt mask> <I7–I0 port inputs> <I7–I0 transition flags> MAX7320 101xxxx — — — 8 <O7–O0 port outputs> <O7-O0 port inputs> MAX7321 110xxxx Up to 8 — Up to 8 — <P7–P0 port outputs> <P7–P0 port inputs> <P7–P0 transition flags> <O7, O6, I5–I2, O1, O0 port inputs> <0, 0, I5–I2 transition flags, 0, 0> <O7, O6, P5–P2, O1, O0 port inputs> <0, 0, P5–P2 transition flags, 0, 0> MAX7322 110xxxx 4 Yes — 4 <O7, O6 outputs, I5–I2 interrupt mask, O1, O0 outputs> MAX7323 110xxxx Up to 4 — Up to 4 4 <port outputs> MAX7328 0100xxx Up to 8 — Up to 8 — <P7–P0 port outputs> <P7–P0 port inputs> MAX7329 0111xxx Up to 8 — Up to 8 — <P7–P0 port outputs> <P7–P0 port inputs> Standby Mode When the serial interface is idle, the MAX7321 automatically enters standby mode, drawing minimal supply current. Slave Address, Power-Up Default Logic Levels, and Input Pullup Selection Address inputs AD0 and AD2 determine the MAX7321 slave address, set the power-up I/O state for the ports, and select which inputs have pullup resistors. Internal pullups and power-up default states are set in groups of four (Table 3). The MAX7319, MAX7321, MAX7322, and MAX7323 use a different range of slave addresses (110xxxx) than the MAX7320 (101xxxx) (Table 2). The MAX7321 slave address is determined on each I2C transmission, regardless of whether the transmission is actually addressing the MAX7321. The MAX7321 distinguishes whether address inputs AD2 and AD0 are connected to SDA or SCL instead of fixed logic levels V+ or GND during this transmission. This means that the MAX7321 slave address can be configured dynamically in the application without cycling the device supply. On initial power-up, the MAX7321 cannot decode address inputs AD0 and AD2 fully until the first I2C transmission, and AD0 and AD2 initially appear to be connected to V+ or GND. This is important because the address selection is used to determine the power-up logic level (output low or input/output high), and whether pullups are applied. However, at power-up, the I2C SDA and SCL bus interface lines are high impedance at the pins of every device (master or slave) connected to the bus, including the MAX7321. This is guaranteed as part of the I2C specification. Therefore, address inputs AD2 and AD0 that are connected to SDA or SCL normally appear at power-up to be connected to V+. The power-up logic uses AD0 to select the power-up state and whether pullups are enabled for ports P3–P0, and AD2 for ports P7–P4. The rule is that a logic high, SDA, or SCL connection selects the pullups (and sets the default port condition to input or logic-high output), while a logic low deselects the pullups (and sets the default port condition to logic-low output) (Table 3). The port configuration is correct on power-up for a standard I2C configuration, where SDA or SCL are pulled up to V+ by the external I2C pullup resistors. There are circumstances where the assumption that SDA = SCL = V+ on power-up is not true—for example, in true hot-swap applications in which there is legiti- _______________________________________________________________________________________ 7 MAX7321 I2C Port Expander with 8 Open-Drain I/Os Table 3. MAX7321 Address Map PIN CONNECTION AD2 AD0 SCL GND DEVICE ADDRESS OUTPUTS POWER-UP DEFAULT A6 A5 A4 A3 A2 A1 A0 1 1 0 0 0 0 0 40kΩ INPUT PULLUPS ENABLED P7 P6 P5 P4 P3 P2 P1 P0 P7 P6 P5 P4 P3 P2 P1 P0 1 1 1 1 0 0 0 0 Y Y Y Y — — — — SCL V+ 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 Y Y Y Y Y Y Y Y SCL SCL 1 1 0 0 0 1 0 1 1 1 1 1 1 1 1 Y Y Y Y Y Y Y Y SCL SDA 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 Y Y Y Y Y Y Y Y SDA GND 1 1 0 0 1 0 0 1 1 1 1 0 0 0 0 Y Y Y Y — — — — SDA V+ 1 1 0 0 1 0 1 1 1 1 1 1 1 1 1 Y Y Y Y Y Y Y Y SDA SCL 1 1 0 0 1 1 0 1 1 1 1 1 1 1 1 Y Y Y Y Y Y Y Y SDA SDA 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 Y Y Y Y Y Y Y Y GND GND 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 — — — — — — — — GND V+ 1 1 0 1 0 0 1 0 0 0 0 1 1 1 1 — — — — Y Y Y Y GND SCL 1 1 0 1 0 1 0 0 0 0 0 1 1 1 1 — — — — Y Y Y Y GND SDA 1 1 0 1 0 1 1 0 0 0 0 1 1 1 1 — — — — Y Y Y Y V+ GND 1 1 0 1 1 0 0 1 1 1 1 0 0 0 0 Y Y Y Y — — — — V+ V+ 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 Y Y Y Y Y Y Y Y V+ SCL 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 Y Y Y Y Y Y Y Y V+ SDA 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 Y Y Y Y Y Y Y Y mate bus activity during power-up. Also, if SDA and SCL are terminated with pullup resistors to a different supply voltage than the MAX7321’s supply voltage, and if that pullup supply rises later than the MAX7321’s supply, then SDA or SCL may appear at power-up to be connected to GND. In such applications, use the four address combinations that are selected by connecting address inputs AD2 and AD0 to V+ or GND (shown in bold in Table 3). These selections are guaranteed to be correct at power-up, independent of SDA and SCL behavior. If one of the other 12 address combinations is used, be aware that an unexpected combination of pullups might be asserted until the first I2C transmission (to any device, not necessarily the MAX7321) is put on the bus, and an unexpected combination of ports may initialize as logic-low outputs instead of inputs or logic-high outputs. 8 Port Inputs I/O port inputs switch at the CMOS-logic levels as determined by the expander’s supply voltage, and are overvoltage tolerant to +6V, independent of the expander’s supply voltage. I/O Port Input Transition Detection All I/O ports configured as inputs are monitored for changes since the expander was last accessed through the serial interface. The state of the input ports is stored in an internal “snapshot” register for transition monitoring. The snapshot is continuously compared with the actual input conditions, and if a change is detected for any port, INT signals a state change by going logic low. An internal transition flag is set for that port. The input is sampled (internally latched into the snapshot register) and the old transition flags cleared during the I2C acknowledge of every MAX7321 read and write access. The previous port transition flags are read through the serial interface as the second byte of a 2-byte read sequence. _______________________________________________________________________________________ I2C Port Expander with 8 Open-Drain I/Os MAX7321 SDA tLOW tBUF tSU,STA tSU,DAT tHD,STA tSU,STO tHD,DAT tHIGH SCL tHD,STA tR tF START CONDITION REPEATED START CONDITION STOP CONDITION START CONDITION Figure 1. 2-Wire Serial Interface Timing Details Serial Interface Serial Addressing The MAX7321 operates as a slave that sends and receives data through an I2C interface. The interface uses a serial data line (SDA) and a serial clock line (SCL) to achieve bidirectional communication between master(s) and slave(s). The master initiates all data transfers to and from the MAX7321 and generates the SCL clock that synchronizes the data transfer (Figure 1). SDA operates as both an input and an open-drain output. A pullup resistor, typically 4.7kΩ, is required on SDA. SCL operates only as an input. A pullup resistor, typically 4.7kΩ, is required on SCL if there are multiple masters on the 2-wire interface, or if the master in a single-master system has an open-drain SCL output. Each transmission consists of a START condition sent by a master, followed by the MAX7321’s 7-bit slave address plus R/W bit, and then optionally 1 or more data bytes, and finally a STOP condition (Figure 2). START and STOP Conditions Both SCL and SDA remain high when the interface is not busy. A master signals the beginning of a transmission with a START (S) condition by transitioning SDA from high to low while SCL is high. When the master has finished communicating with the slave, the master issues a STOP (P) condition by transitioning SDA from low to high while SCL is high. The bus is then free for another transmission (Figure 2). Bit Transfer One data bit is transferred during each clock pulse. The data on SDA must remain stable while SCL is high (Figure 3). SDA SCL S P START CONDITION STOP CONDITION Figure 2. START and STOP Conditions Acknowledge The acknowledge bit is a clocked 9th bit the recipient uses to handshake receipt of each byte of data (Figure 4). Each byte transferred effectively requires 9 bits. The master generates the 9th clock pulse, and the recipient pulls down SDA during the acknowledge clock pulse, such that the SDA line is stable low during the high period of the clock pulse. When the master is transmitting to the MAX7321, the MAX7321 generates the acknowledge bit because the device is the recipient. When the MAX7321 is transmitting to the master, the master generates the acknowledge bit because the master is the recipient. Slave Address The MAX7321 has a 7-bit-long slave address (Figure 5). The eighth bit following the 7-bit slave address is the R/W bit. It is low for a write command, and high for a read command. The first (A6), second (A5), and third (A4) bits of the MAX7321 slave address are always 1, 1, and 0. Connect AD2 and AD0 to GND, V+, SDA, or SCL to select slave address bits A3, A2, A1, and A0. The MAX7321 has 16 possible slave addresses (Table 3), allowing up to 16 MAX7321 devices on an I2C bus. _______________________________________________________________________________________ 9 MAX7321 I2C Port Expander with 8 Open-Drain I/Os Accessing the MAX7321 I2C interface access to the MAX7321 is summarized as follows (Table 2). A single-byte read from the MAX7321 returns the status of the eight I/O ports, and clears both the internal transition flags and the INT output when the master acknowledges the slave address byte. A 2-byte read returns first the status of the eight I/O ports (as for a single-byte read), followed by the transition flags. Again, the internal transition flags and the INT output are cleared automatically when the master acknowledges the slave address byte (but the previous transition flag data is sent as the second byte). A multibyte (more than 2 bytes before the I2C STOP bit) read repeatedly returns the port data, followed by the transition flags. As the port data is resampled for each transmission, and the transition flags are reset each time, a multibyte read continuously returns the current data and identifies any changing input ports. If a port input data change occurs during the read sequence, then INT is reasserted during the I2C STOP bit. The MAX7321 does not generate another interrupt during a single-byte or multibyte read. Input port data is sampled during the preceding I2C acknowledge bit (the acknowledge bit for the I2C slave address in the case of a single-byte or 2-byte read). A single-byte write to the MAX7321 sets the logic state of all eight I/O ports. A multibyte write to the MAX7321 repeatedly sets the logic state of all eight I/O ports. Reading the MAX7321 A read from the MAX7321 starts with the master transmitting the MAX7321’s slave address with the R/W bit set high. The MAX7321 acknowledges the slave address, and samples the input ports (takes a snapshot) during the acknowledge bit. INT goes high (high impedance if an external pullup resistor is not fitted) during the slave address acknowledge. The master can then issue a STOP condition after the acknowledge (Figure 6). The snapshot is not taken, and INT status remains unchanged if the master terminates the serial transaction with a no acknowledge. Typically, the master reads 1 or 2 bytes from the MAX7321, each byte being acknowledged by the master upon reception. 10 SDA SCL DATA LINE STABLE; CHANGE OF DATA DATA VALID ALLOWED Figure 3. Bit Transfer START CONDITION SCL CLOCK PULSE FOR ACKNOWLEDGMENT 1 2 8 9 SDA BY TRANSMITTER SDA BY RECEIVER S Figure 4. Acknowledge The master can read 1 byte from the MAX7321 and then issue a STOP condition (Figure 7). In this case, the MAX7321 transmits the current port data, clears the change flags, and resets the transition detection. INT goes high (high impedance if an external pullup resistor is not fitted) during the slave address acknowledge. The new snapshot data is the current port data transmitted to the master; therefore, port changes ocurring during the transmission are detected. INT remains high until the STOP condition. The master can read 2 bytes from the MAX7321 and then issue a STOP condition (Figure 8). In this case, the MAX7321 transmits the current port data, followed by the change flags. The change flags are then cleared, and transition detection resets. INT goes high (high impedance if an external pullup resistor is not fitted) during the slave address acknowledge. The new snapshot data is the current port data transmitted to the master; therefore, port changes occurring during the transmission are detected. INT remains high until the STOP condition. ______________________________________________________________________________________ I2C Port Expander with 8 Open-Drain I/Os MAX7321 . SDA 1 1 0 A2 A3 A1 A0 R/W ACK LSB MSB SCL Figure 5. Slave Address ACKNOWLEDGE FROM MAX7321 S 1 MAX7321 SLAVE ADDRESS A R/W P PORT SNAPSHOT SCL tPH PORT I/O tIV tIV tIR INT OUTPUT Figure 6. Reading the MAX7321 (No Data) P7 P6 P5 PORT I/O P4 P3 DATA P2 PI1 P0 ACKNOWLEDGE FROM MAX7321 S MAX7321 SLAVE ADDRESS 1 R/W A D7 D6 D5 PORT SNAPSHOT D4 D3 D2 D1 D0 A P PORT SNAPSHOT SCL tPH DATA PORT I/O tIV DATA tPS tIR INT OUTPUT tIP INT REMAINS HIGH UNTIL STOP CONDITION Figure 7. Reading the MAX7321 (1 Data Byte) ______________________________________________________________________________________ 11 MAX7321 I2C Port Expander with 8 Open-Drain I/Os P7 P6 P5 PORT I/O P4 P3 P2 DATA 1 P1 P0 F6 F7 INTERRUPT FLAGS F5 F4 F3 F2 DATA 1 TRANSITION F1 F0 D5 D1 D0 ACKNOWLEDGE FROM MAX7321 S MAX7321 SLAVE ADDRESS 1 A D7 R/W D6 D5 D4 D3 D2 D1 D0 A D7 D6 D4 D3 A P PORT SNAPSHOT PORT SNAPSHOT PORT SNAPSHOT D2 SCL tPH PORT INPUT DATA 1 DATA 2 DATA 3 DATA 4 tPS tIV tIR INT OUTPUT tIP INT REMAINS HIGH UNTIL STOP CONDITION Figure 8. Reading the MAX7321 (2 Data Bytes) 1 SCL 2 3 4 5 6 7 8 DATA TO PORT SLAVE ADDRESS SDA S START CONDITION 0 R/W A DATA TO PORT DATA 1 DATA 2 A A ACKNOWLEDGE FROM SLAVE ACKNOWLEDGE FROM SLAVE ACKNOWLEDGE FROM SLAVE WRITE TO PORT DATA OUT FROM PORT DATA 1 VALID tPV DATA 2 VALID tPV Figure 9. Writing the MAX7321 Writing the MAX7321 A write to the MAX7321 starts with the master transmitting the MAX7321’s slave address with the R/W bit set low. The MAX7321 acknowledges the slave address, and samples the ports (takes a snapshot) during acknowledge. INT goes high (high impedance if an external pullup resistor is not fitted) during the slave address acknowledge. The master can then issue a STOP condition after the acknowledge (Figure 6), but typically the master proceeds to transmit 1 or more bytes of data. The MAX7321 acknowledges these subsequent bytes of data and updates the I/O ports with each new byte until the master issues a STOP condition (Figure 9). 12 Applications Information Port Input and I2C Interface Level Translation from Higher or Lower Logic Voltages The MAX7321’s I2C interface (SDA, SCL, AD0, AD2), reset input RST, interrupt output INT, and the eight I/O ports P0–P7 are overvoltage protected to +6V independent of V+. This allows the MAX7321 to operate from a lower supply voltage, such as +3.3V, while the I2C interface and/or any of the eight I/O ports are driven as inputs driven from a higher logic level, such as +5V. The MAX7321 can operate from a higher supply voltage, such as +3V, while the I2C interface and/or some of the I/O ports P0–P7 are driven from a lower logic level, such as +2.5V. Apply a minimum voltage of 0.7 x ______________________________________________________________________________________ I2C Port Expander with 8 Open-Drain I/Os AD0 P7 P6 P5 P4 P3 P2 P1 P0 AD2 SCL SDA V+ RST INPUT I/O PORTS I2C CONTROL FILTER INT POWERON RESET MAX7321 GND V+ to assert a logic high on any I/O port. For example, a MAX7321 operating from a +5V supply may not recognize a +3.3V nominal logic high. One solution for input-level translation is to drive MAX7321 I/Os from open-drain outputs. Use a pullup resistor to V+ or a higher supply to ensure a high logic voltage of greater than 0.7 x V+. them when the MAX7321 is powered down (V+ = 0). The MAX7321 can therefore be used in hot-swap applications. Each of the I/O P0–P7 has a protection diode to GND (Figure 10). When a port is driven to a voltage lower than GND, the protection diode clamps the voltage to a diode drop below GND. Port-Output Port-Level Translation The open-drain output architecture allows for level translation to higher or lower voltages than the MAX7321’s supply. Use an external pullup resistor on any output to convert the high-impedance logic-high condition to a positive voltage level. The resistor can be connected to any voltage up to +6V, and the resistor value chosen to ensure no more than 20mA is sunk in the logic-low condition. For interfacing CMOS inputs, a pullup resistor value of 220kΩ is a good starting point. Use a lower resistance to improve noise immunity, in applications where power consumption is less critical, or where a faster rise time is needed for a given capacitive load. V+ V+ MAX7321 PULLUP ENABLE S G D 40kΩ PORT INPUT D OUTPUT G S Hot Insertion RST, SCL, SDA, AD0, and AD2 and the P0–P7 I/Os remain high impedance with up to +6V asserted on Figure 10. MAX7321 Input Port Structure ______________________________________________________________________________________ 13 MAX7321 Functional Diagram MAX7321 I2C Port Expander with 8 Open-Drain I/Os Typical Application Circuit Table 4. MAX7321, MAX6965, MAX7315, and MAX7316 Pin Compatibility PIN-PACKAGE 16 QSOP 16 TQFN MAX7321 MAX7315 MAX6965 AND MAX7316 1 15 AD0 AD0 BLINK 2 16 RST AD1 RST 3 1 AD2 AD2 +5V +3.3V PIN FUNCTION AD0 Each of the I/O ports P0–P7 also has a 40kΩ (typ) pullup resistor that can be enabled or disabled. When a port driven to a voltage higher than V+, the body diode of the pullup enable switch conducts and the 40kΩ pullup resistor is enabled. When the MAX7321 is powered down (V+ = 0), each I/O port appears as a 40kΩ resistor in series with a diode connected to zero. I/O ports are protected to +6V under any of these circumstances (Figure 10). Driving LED Loads When driving LEDs, a resistor must be fitted in series with the LED to limit the LED current to no more than 20mA. Connect the LED cathode to the MAX7321 port, and the LED anode to V+ through the series currentlimiting resistor, RLED. Set the port output low to illuminate the LED. Choose the resistor value according to the following formula: RLED = (VSUPPLY - VLED - VOL) / ILED where: RLED is the resistance of the resistor in series with the LED (Ω). VSUPPLY is the supply voltage used to drive the LED (V). VLED is the forward voltage of the LED (V). VOL is the output-low voltage of the MAX7321 when sinking ILED (V). ILED is the desired operating current of the LED (A). For example, to operate a 2.2V red LED at 10mA from a +5V supply: RLED = (5 - 2.2 - 0.07) / 0.010 = 270Ω 0.047µF V+ µC SCL SCL SDA SDA P6 RST RST P5 INT INT P4 P3 P2 AD0 AD2 GND MAX7321 P7 P1 P0 bination of ports can be set or cleared at the same time by writing the MAX7321. Do not exceed a total sink current of 100mA for the device. The MAX7321 must be protected from the negative voltage transient generated when switching off inductive loads (such as relays), by connecting a reverse-biased diode across the inductive load. Choose the peak current for the diode to be greater than the inductive load’s operating current. Power-Supply Considerations The MAX7321 operates with a supply voltage of +1.71V to +5.5V over the -40°C to +125°C temperature range. Bypass the supply to GND with a ceramic capacitor of at least 0.047µF as close to the device as possible. For the TQFN version, additionally connect the exposed pad to GND. Compatibility with MAX6965, MAX7315, and MAX7316 The MAX7321 is subset pin compatible with the MAX6965, MAX7315, and MAX7316. The pin differences are shown in Table 4. The MAX7321 is not software compatible with the MAX6965, MAX7315, or MAX7316. In many cases, it is possible to design a PC board to work with all these port expanders, providing design flexibility. Driving Load Currents Higher than 20mA The MAX7321 can be used to drive loads, such as relays, that draw more than 20mA by paralleling outputs. Use at least one output per 20mA of load current; for example, a 5V, 330mW relay draws 66mA and therefore requires four paralleled outputs. Any combination of outputs can be used as part of a load-sharing design because any com14 I/O I/O I/O I/O ______________________________________________________________________________________ I2C Port Expander with 8 Open-Drain I/Os SCL INT P7 P6 TOP VIEW 12 11 10 9 SDA 13 8 V+ 14 MAX7321 AD0 15 *EP 1 2 3 4 AD2 P0 P1 P2 RST 16 P5 7 P4 6 GND 5 P3 AD0 1 16 V+ INT 1 20 P6 RST 2 15 SDA SCL 2 19 P5 AD2 3 14 SCL N.C. 3 13 INT SDA 4 P0 4 MAX7321 18 N.C. MAX7321 17 P5 16 P4 P1 5 12 P7 V+ 5 P2 6 11 P6 AD0 6 15 GND 10 P5 RST 7 14 P3 9 N.C. 8 13 N.C. AD2 9 12 P2 P0 10 11 P1 P3 7 GND 8 P4 SO/QSOP TQFN 3mm x 3mm x 0.8mm *EXPOSED PADDLE CONNECTED TO GND SSOP/TSSOP Chip Information PROCESS: BiCMOS ______________________________________________________________________________________ 15 MAX7321 Pin Configurations Package Information (The package drawing(s) in this data sheet may not reflect the most current specifications. For the latest package outline information, go to www.maxim-ic.com/packages.) (NE - 1) X e E MARKING 12x16L QFN THIN.EPS MAX7321 I2C Port Expander with 8 Open-Drain I/Os E/2 D2/2 (ND - 1) X e AAAA D/2 e CL D D2 k b CL 0.10 M C A B E2/2 L E2 CL 0.10 C CL 0.08 C A A2 L A1 L e e PACKAGE OUTLINE 12, 16L THIN QFN, 3x3x0.8mm F 21-0136 PKG 12L 3x3 MIN. NOM. MAX. MIN. NOM. MAX. A 0.70 0.75 0.80 0.70 0.75 0.80 b 0.20 0.25 0.30 0.20 0.25 0.30 D 2.90 3.00 3.10 2.90 3.00 3.10 E e 2.90 3.00 3.10 2.90 3.00 3.10 L 0.45 0.50 BSC. 0.50 BSC. 0.65 0.30 0.40 0.50 EXPOSED PAD VARIATIONS PKG. CODES T1233-1 E2 D2 DOWN BONDS ALLOWED PIN ID JEDEC 1.25 0.35 x 45° WEED-1 NO MIN. NOM. MAX. MIN. NOM. MAX. 0.95 1.10 1.25 0.95 1.10 T1233-3 0.95 1.10 1.25 0.95 1.10 1.25 0.35 x 45° WEED-1 YES T1233-4 0.95 1.10 1.25 0.95 1.10 1.25 0.35 x 45° WEED-1 YES T1633-1 0.95 1.10 1.25 0.95 1.10 1.25 0.35 x 45° WEED-2 NO N 12 16 T1633-2 0.95 1.10 1.25 0.95 1.10 1.25 0.35 x 45° WEED-2 YES ND 3 4 T1633F-3 0.65 0.80 0.95 0.65 0.80 0.95 0.225 x 45° WEED-2 N/A T1633FH-3 0.65 0.80 0.95 0.65 0.80 0.95 0.225 x 45° WEED-2 N/A T1633-4 0.95 1.10 1.25 0.95 1.10 1.25 0.35 x 45° WEED-2 NO NE A1 A2 k 3 0 0.02 0.20 REF 0.25 2 16L 3x3 REF. 0.55 1 4 0.05 - 0 0.02 0.05 0.25 0.20 REF - - NOTES: 1. DIMENSIONING & TOLERANCING CONFORM TO ASME Y14.5M-1994. 2. ALL DIMENSIONS ARE IN MILLIMETERS. ANGLES ARE IN DEGREES. 3. N IS THE TOTAL NUMBER OF TERMINALS. 4. THE TERMINAL #1 IDENTIFIER AND TERMINAL NUMBERING CONVENTION SHALL CONFORM TO JESD 95-1 SPP-012. DETAILS OF TERMINAL #1 IDENTIFIER ARE OPTIONAL, BUT MUST BE LOCATED WITHIN THE ZONE INDICATED. THE TERMINAL #1 IDENTIFIER MAY BE EITHER A MOLD OR MARKED FEATURE. 5. DIMENSION b APPLIES TO METALLIZED TERMINAL AND IS MEASURED BETWEEN 0.20 mm AND 0.25 mm FROM TERMINAL TIP. 6. ND AND NE REFER TO THE NUMBER OF TERMINALS ON EACH D AND E SIDE RESPECTIVELY. 7. DEPOPULATION IS POSSIBLE IN A SYMMETRICAL FASHION. 8. COPLANARITY APPLIES TO THE EXPOSED HEAT SINK SLUG AS WELL AS THE TERMINALS. 9. DRAWING CONFORMS TO JEDEC MO220 REVISION C. 10. MARKING IS FOR PACKAGE ORIENTATION REFERENCE ONLY 11. NUMBER OF LEADS SHOWN ARE FOR REFERENCE ONLY PACKAGE OUTLINE 12, 16L THIN QFN, 3x3x0.8 21-0136 16 F 2 2 ______________________________________________________________________________________ I2C Port Expander with 8 Open-Drain I/Os QSOP.EPS PACKAGE OUTLINE, QSOP .150", .025" LEAD PITCH 21-0055 E 1 1 Maxim cannot assume responsibility for use of any circuitry other than circuitry entirely embodied in a Maxim product. No circuit patent licenses are implied. Maxim reserves the right to change the circuitry and specifications without notice at any time. Maxim Integrated Products, 120 San Gabriel Drive, Sunnyvale, CA 94086 408-737-7600 ____________________ 17 © 2005 Maxim Integrated Products Printed USA is a registered trademark of Maxim Integrated Products, Inc. MAX7321 Package Information (continued) (The package drawing(s) in this data sheet may not reflect the most current specifications. For the latest package outline information, go to www.maxim-ic.com/packages.)