19-3807; Rev 0; 9/06 I2C Port Expander with 8 Push-Pull and 8 Open-Drain I/Os The MAX7325 2-wire serial-interfaced peripheral features 16 I/O ports. Ports are divided into eight push-pull outputs and eight I/Os with selectable internal pullups and transition detection. Eight ports are push-pull outputs and eight I/Os may be used as a logic input or an opendrain output. Ports are overvoltage protected to +6V. All I/O ports configured as inputs are continuously monitored for state changes (transition detection). State changes are indicated by the INT output. The interrupt is latched, allowing detection of transient changes. When the MAX7325 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 RST input clears the serial interface, terminating any I2C communication to or from the MAX7325. The MAX7325 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 state for the I/O ports, and enables or disables internal 40kΩ pullups in groups of four ports. The MAX7325 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 MAX7325 is available in 24-pin QSOP and TQFN packages and is specified over the -40°C to +125°C automotive temperature range. Applications Cell Phones SAN/NAS Servers ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ 400kHz Serial Interface +1.71V to +5.5V Operation 8 Push-Pull Outputs 8 Open-Drain I/O Ports, Rated to 20mA Sink Current I/O Ports are Overvoltage Protected to +6V Selectable I/O Port Power-Up Default Logic States 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) Standby Current -40°C to +125°C Temperature Range Ordering Information PART TEMP RANGE O15 O14 O13 O12 O11 AD0 18 17 16 15 14 13 SCL 19 12 O10 SDA 20 11 O9 V+ 21 PIN-PACKAGE MAX7325AEG+ -40°C to +125°C 24 QSOP MAX7325ATG+ -40°C to +125°C 24 TQFN-EP* (4mm x 4mm) PKG CODE E24-1 T2444-3 +Denotes lead-free package. *EP = Exposed paddle. Notebooks Satellite Radio Automotive Pin Configurations TOP VIEW Features I2C Selector Guide OPENPUSH-PULL DRAIN OUTPUTS OUTPUTS INPUTS INTERRUPT MASK MAX7324 8 Yes — 8 MAX7325 Up to 8 — Up to 8 8 MAX7326 4 Yes — 12 MAX7327 Up to 4 — Up to 4 12 PART 10 O8 MAX7325 INT 22 RST 23 1 2 3 4 5 6 P0 P1 P2 P3 P4 P5 AD2 24 + EXPOSED PADDLE 9 GND 8 P7 7 P6 Typical Application Circuit and Functional Diagram appear at end of data sheet. TQFN (4mm x 4mm) Pin Configurations continued at end of data sheet. ________________________________________________________________ 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 MAX7325 General Description MAX7325 I2C Port Expander with 8 Push-Pull and 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 O8–O15 ........................................................-0.3V to (V+ + 0.3V) O8–O15 Output Current ...................................................±25mA 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) 24-Pin QSOP (derate 9.5mW/°C over +70°C)...........761.9mW 24-Pin TQFN (derate 20.8mW/°C over+70°C) ........1666.7mW 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. DC 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 SYMBOL CONDITIONS TYP UNITS 5.50 V 1.6 V V+ Power-On-Reset Voltage VPOR V+ falling Standby Current (Interface Idle) ISTB SCL and SDA and other TA = -40°C to digital inputs at V+ +125°C 0.6 1.9 µA fSCL = 400kHz; other digital inputs at V+ 23 55 µA 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 1.71 MAX Operating Supply Voltage Supply Current (Interface Running) TA = -40°C to +125°C MIN TA = -40°C to +125°C V+ < 1.8V 0.8 x V+ V+ ≥ 1.8V 0.7 x V+ V+ < 1.8V 0.2 x V+ V+ ≥ 1.8V 0.3 x V+ SDA, SCL, AD0, AD2, RST, P0–P7 at V+ or GND, internal pullup disabled -0.2 Input Capacitance SDA, SCL, AD0, AD2, RST, P0–P7 Output High Voltage O8–O15 VOL VOH 90 90 230 110 210 V+ = +2.5V, ISINK = 10mA (TQFN) 110 260 V+ = +3.3V, ISINK = 15mA (QSOP) 130 230 V+ = +3.3V, ISINK = 15mA (TQFN) 130 280 V+ = +5V, ISINK = 20mA (QSOP) 140 250 V+ = +5V, ISINK = 20mA (TQFN) 140 300 V+ - 250 V+ - 30 V+ = +2.5V, ISOURCE = 5mA V+ - 360 V+ - 70 V+ = +3.3V, ISOURCE = 5mA V+ - 260 V+ - 100 V+ = +5V, ISOURCE = 10mA V+ - 360 V+ - 120 VOLSDA ISINK = 6mA Output Low-Voltage INT VOLINT ISINK = 5mA Port Input Pullup Resistor RPU 25 µA 180 V+ = +2.5V, ISINK = 10mA (QSOP) V+ = +1.71V, ISOURCE = 2mA V pF V+ = +1.71V, ISINK = 5mA (TQFN) Output Low-Voltage SDA 2 +0.2 10 V+ = +1.71V, ISINK = 5mA (QSOP) Output Low Voltage O8–O15, P0–P7 V mV mV 250 mV 130 250 mV 40 55 kΩ _______________________________________________________________________________________ I2C Port Expander with 8 Push-Pull and 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 Port Output Data Valid tPPV CL ≤ 100pF Port Input Setup Time tPSU CL ≤ 100pF 0 µs Port Input Hold Time tPH CL ≤ 100pF 4 µs 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 4 µ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 tSU, DAT 100 ns tLOW tHIGH 1.3 0.7 µs µs SCL Clock Low Period SCL Clock High Period 0.6 µs (Note 2) 0.9 µ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 tF,TX (Notes 3, 4) 20 + 0.1Cb 250 ns Fall Time of SDA Transmitting 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 are 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. ISINK ≤ 6mA. tR and tF measured between 0.3 x V+ and 0.7 x V+. Note 5: Input filters on the SDA and SCL inputs suppress noise spikes less than 50ns. _______________________________________________________________________________________ 3 MAX7325 PORT AND INTERRUPT INT TIMING CHARACTERISTICS Typical Operating Characteristics (TA = +25°C, unless otherwise noted.) STANDBY CURRENT vs. TEMPERATURE 1.4 1.2 V+ = +5.0V 1.0 V+ = +3.3V V+ = +2.5V 0.8 0.6 0.4 40 30 V+ = +3.3V 20 V+ = +2.5V V+ = +1.71V 10 V+ = +1.71V 0.2 V+ = +5.0V 0 MAX7325 toc02 fSCL = 400kHz 50 0 -40 -25 -10 5 20 35 50 65 80 95 110 125 TEMPERATURE (°C) -40 -25 -10 5 20 35 50 65 80 95 110 125 TEMPERATURE (°C) OUTPUT VOLTAGE LOW vs. TEMPERATURE OUTPUT VOLTAGE HIGH vs. TEMPERATURE 0.20 V+ = +3.3V ISINK = 15mA 0.15 0.10 V+ = +2.5V ISINK = 10mA 0.05 6 V+ = +1.71V ISINK = 5mA V+ = +5.0V ISOURCE = 10mA 5 OUTPUT VOLTAGE HIGH (V) V+ = +5.0V ISINK = 20mA MAX7325 toc03 0.25 4 MAX7325 toc04 STANDBY CURRENT (µA) 1.6 60 SUPPLY CURRENT (µA) fSCL = 0kHz 1.8 SUPPLY CURRENT vs. TEMPERATURE MAX7325 toc01 2.0 OUTPUT VOLTAGE LOW (V) MAX7325 I2C Port Expander with 8 Push-Pull and 8 Open-Drain I/Os V+ = +3.3V ISOURCE = 5mA 3 V+ = +2.5V ISOURCE = 5mA V+ = +1.71V ISOURCE = 2mA 2 1 0 0 -40 -25 -10 5 20 35 50 65 80 95 110 125 TEMPERATURE (°C) -40 -25 -10 5 20 35 50 65 80 95 110 125 TEMPERATURE (°C) Pin Description PIN 4 NAME FUNCTION QSOP TQFN 1 22 INT Interrupt Output, Active Low. INT is an open-drain output. 2 23 RST Reset Input, Active Low. Drive RST low to clear the 2-wire interface. 3, 21 24, 18 AD2, AD0 4–11 1–8 P0–P7 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 Tables 2 and 3). Open-Drain I/O Ports 12 9 GND 13–20 10–17 O8–O15 Ground 22 19 SCL I2C-Compatible Serial-Clock Input 23 20 SDA I2C-Compatible Serial-Data I/O 24 21 V+ Positive Supply Voltage. Bypass V+ to GND with a ceramic capacitor of at least 0.047µF. — EP EP Exposed Paddle. Connect exposed pad to GND. Output Ports. O8–O15 are push-pull outputs rated at 20mA. _______________________________________________________________________________________ I2C Port Expander with 8 Push-Pull and 8 Open-Drain I/Os MAX7319–MAX7329 Family Comparison The MAX7324–MAX7327 family consists of four pincompatible, 16-port expanders that integrate the functions of the MAX7320 and one of either MAX7319, MAX7321, MAX7322, or MAX7323. Functional Overview The MAX7325 is a general-purpose port expander operating from a +1.71V to +5.5V supply with eight push-pull outputs and 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 +5.5V. The MAX7325 is set to two of 32 I2C slave addresses (see Tables 2 and 3) using the address select inputs AD0 and AD2, and is accessed over an I2C serial interface up to 400kHz. The eight outputs and eight I/Os have different slave addresses. The eight push-pull outputs have the 101xxxx addresses and the eight inputs have addresses with 110xxxx. The RST input clears the serial interface in case of a bus lockup, terminating any serial transaction to or from the MAX7325. Configure any port as a logic input by setting the port output logic-high (logic-high for an open-drain output is high impedance). When the MAX7325 is read through the serial interface, the actual logic levels at the ports are read back. Table 1. MAX7319–MAX7329 Family Comparison PART I2C INPUT SLAVE INPUTS INTERRUPT MASK ADDRESS OPENDRAIN OUTPUTS PUSHPULL OUTPUTS CONFIGURATION 16-PORT EXPANDERS 8 input and 8 push-pull output versions: 8 input ports with programmable latching transition detection interrupt and selectable pullups. 8 MAX7324 Yes — 8 8 push-pull outputs with selectable default logic levels. 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 if only for a transient) since the ports were last read. 8 I/O and 8 push-pull output versions: 8 open-drain I/O ports with latching transition detection interrupt and selectable pullups. 101xxxx and 110xxxx 8 push-pull outputs with selectable default logic levels. MAX7325 Up to 8 — Up to 8 8 Open-drain outputs can level shift the logic-high state to a higher or lower voltage than V+ using external pullup resistors, but pullups draw current when output is low. Any open-drain port can be used as an input by setting the open-drain output to logichigh. Transition flags identify which open-drain port inputs have changed (even if only for a transient) since the ports were last read. _______________________________________________________________________________________ 5 MAX7325 Detailed Description MAX7325 I2C Port Expander with 8 Push-Pull and 8 Open-Drain I/Os Table 1. MAX7319–MAX7329 Family Comparison (continued) PART I2C INPUT SLAVE INPUTS INTERRUPT ADDRESS MASK OPENDRAIN OUTPUTS PUSHPULL OUTPUTS CONFIGURATION 4 input-only, 12 push-pull output versions: 4 input ports with programmable latching transition detection interrupt and selectable pullups. 4 MAX7326 Yes — 12 12 push-pull outputs with selectable default logic levels. 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 if only for a transient) since the ports were last read. 4 I/O, 12 push-pull output versions: 4 open-drain I/O ports with latching transition detection interrupt and selectable pullups. 101xxxx and 110xxxx 12 push-pull outputs with selectable default logic levels. MAX7327 Up to 4 — Up to 4 12 Open-drain outputs can level shift the logic-high state to a higher or lower voltage than V+ using external pullup resistors, but pullups draw current when output is low. Any open-drain port can be used as an input by setting the open-drain output to logichigh. Transition flags identify which open-drain port inputs have changed (even if only for a transient) since the ports were last read. 8-PORT EXPANDERS MAX7319 110xxxx 8 Yes — — Input-only versions: 8 input ports with programmable latching transition detection interrupt and selectable pullups. MAX7320 101xxxx — — — 8 Output-only versions: 8 push-pull outputs with selectable power-up default levels. MAX7321 110xxxx Up to 8 — Up to 8 — I/O versions: 8 open-drain I/O ports with latching transition detection interrupt and selectable pullups. 4 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. MAX7322 6 110xxxx 4 Yes — _______________________________________________________________________________________ I2C Port Expander with 8 Push-Pull and 8 Open-Drain I/Os MAX7325 Table 1. MAX7319–MAX7329 Family Comparison (continued) PART I2C INPUT SLAVE INPUTS INTERRUPT MASK ADDRESS OPENDRAIN OUTPUTS PUSHPULL OUTPUTS CONFIGURATION MAX7323 110xxxx Up to 4 — Up to 4 4 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. MAX7328 MAX7329 0100xxx 0111xxx Up to 8 — Up to 8 — 8 open-drain I/O ports with nonlatching transition detection interrupt and pullups on all ports. The open-drain ports offer latching transition detection when used as inputs. All input ports are continuously monitored for changes. An input change sets one of 8 flag bits that identify changed input(s). All flags are cleared upon a subsequent read or write transaction to the MAX7325. 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 deasserted when the MAX7325 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 2). Use the slave address selection to ensure that I/O ports used as inputs are logic-high on power-up. I/O ports with internal pullups enabled default to a logic-high output state. I/O ports with internal pullups disabled default to a logic-low output state. 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 Tables 2 and 3). Initial Power-Up On power-up, the transition detection logic is reset, and INT is deasserted. The transition flags are cleared to indicate no data changes. The power-up default states of the 16 I/O ports are set according to the I2C slave address selection inputs, AD0 and AD2 (Tables 2 and 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 highimpedance state. All I/O ports configured with pullups enabled also have a logic-high power-up state. Power-On Reset The MAX7325 contains an integral power-on-reset (POR) circuit that ensures all registers are reset to a known state on power-up. When V+ rises above VPOR (1.6V max), the POR circuit releases the registers and 2-wire interface for normal operation. When V+ drops to less than VPOR, the MAX7325 resets all register contents to the POR defaults (Tables 2 and 3). RST Input The active-low RST input voids any I 2C transaction involving the MAX7325, forcing the MAX7325 into the I2C STOP condition. A reset does not affect the interrupt output (INT). Standby Mode When the serial interface is idle, the MAX7325 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 MAX7325 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 (see Table 2). The MAX7325 slave address is determined on each I2C transmission, regardless of whether the transmission is actually addressing the MAX7325. The MAX7325 distinguishes whether address inputs AD0 and AD2 are connected to SDA or SCL instead of fixed logic levels V+ or GND during this transmission. The MAX7325 slave address can be configured dynamically in the application without cycling the device supply. On initial power-up, the MAX7325 cannot decode the address inputs AD0 and AD2 fully until the first I2C transmission. AD0 and AD2 initially appear to be _______________________________________________________________________________________ 7 MAX7325 I2C Port Expander with 8 Push-Pull and 8 Open-Drain I/Os connected to V+ or GND. This is important because the address selection is used to determine the power-up logic state and whether pullups are enabled. At powerup, the I2C SDA and SCL bus interface lines are high impedance at the inputs of every device (master or slave) connected to the bus, including the MAX7325. This is guaranteed as part of the I 2C specification. Therefore, when address inputs AD0 and AD2 are connected to SDA or SCL during power-up, they appear to be connected to V+. The power-up logic uses AD0 to select the power-up state and whether pullups are enabled for ports P0–P3, and AD2 for ports P4–P7. The rule is that a logic-high, SDA, or SCL connection selects the pullups and sets the default logic state to high. A logic-low deselects the pullups and sets the default logic state to low (Table 2). The port configuration is correct on power-up for a standard I 2 C 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 applications in which there is legitimate bus activity during power-up. If SDA and SCL are terminated with pullup resistors to a different supply voltage than the MAX7325’s supply voltage, and if that pullup supply rises later than the MAX7325’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 AD0 and AD2 to V+ or GND (shown in bold in Tables 2 and 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, an unexpected combination of pullups might be asserted until the first I2C transmission (to any device, not necessarily the MAX7325) is put on the bus, and an unexpected combination of ports can initialize as logic-low outputs instead of inputs or logic-high outputs. Table 2. MAX7325 Address Map for Ports P0–P7 PIN CONNECTION 8 AD2 AD0 SCL GND DEVICE ADDRESS PORT 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 1 1 1 1 0 0 0 0 P7 P6 P5 Y Y Y P4 P3 P2 P1 P0 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 _______________________________________________________________________________________ I2C Port Expander with 8 Push-Pull and 8 Open-Drain I/Os MAX7325 Table 3. MAX7325 Address Map for Outputs O8–O15 PIN CONNECTION DEVICE ADDRESS OUTPUTS POWER-UP DEFAULT AD2 AD0 A6 A5 A4 A3 A2 A1 A0 O15 O14 O13 O12 O11 O10 O9 O8 SCL GND 1 0 1 0 0 0 0 1 1 1 1 0 0 0 0 SCL V+ 1 0 1 0 0 0 1 1 1 1 1 1 1 1 1 SCL SCL 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 SCL SDA 1 0 1 0 0 1 1 1 1 1 1 1 1 1 1 SDA GND 1 0 1 0 1 0 0 1 1 1 1 0 0 0 0 SDA V+ 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 SDA SCL 1 0 1 0 1 1 0 1 1 1 1 1 1 1 1 SDA SDA 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 GND GND 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 GND V+ 1 0 1 1 0 0 1 0 0 0 0 1 1 1 1 GND SCL 1 0 1 1 0 1 0 0 0 0 0 1 1 1 1 GND SDA 1 0 1 1 0 1 1 0 0 0 0 1 1 1 1 V+ GND 1 0 1 1 1 0 0 1 1 1 1 0 0 0 0 V+ V+ 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 V+ SCL 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 V+ SDA 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 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 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 input, INT is asserted to signal a state change. The input ports are sampled (internally latched into the snapshot register) and the old transition flags cleared during the I2C acknowledge of every MAX7325 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. _______________________________________________________________________________________ 9 MAX7325 I2C Port Expander with 8 Push-Pull and 8 Open-Drain I/Os Serial Interface Serial Addressing The MAX7325 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 MAX7325 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 MAX7325’s 7-bit slave addresses plus R/W bits, 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 tBUF tSU,STA tSU,DAT tLOW tHD,STA tSU,STO tHD,DAT tHIGH SCL tHD,STA tR tF START CONDITION REPEATED START CONDITION STOP CONDITION Figure 1. 2-Wire Serial Interface Timing Details SDA SDA SCL S P START CONDITION STOP CONDITION Figure 2. START and STOP Conditions 10 SCL DATA LINE STABLE; CHANGE OF DATA DATA VALID ALLOWED Figure 3. Bit Transfer ______________________________________________________________________________________ START CONDITION I2C Port Expander with 8 Push-Pull and 8 Open-Drain I/Os address are always 1, 1, and 0 (P0–P7) or 1, 0, and 1 (O8 to O15). Connect AD0 and AD2 to GND, V+, SDA, or SCL to select the slave address bits A3, A2, A1, and A0. The MAX7325 has 16 possible pairs of slave addresses (Tables 2 and 3), allowing up to 16 MAX7325 devices on an I2C bus. Accessing the MAX7325 The MAX7325 is accessed though an I2C interface. The MAX7325 has two different 7-bit slave addresses for either the eight open-drain I/O ports (P0–P7) or the eight push-pull ports (O8–O15). See Tables 2 and 3. A single-byte read from the I/O ports (P0–P7) of the MAX7325 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 single-byte read from the eight push-pull ports (O8–O15) returns the status of the eight output ports, read back as inputs. A 2-byte read from the I/O ports (P0–P7) of the MAX7325 returns 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 when the master acknowledges the slave address byte, yet the previous transition flag data is sent as the second byte. A 2-byte read from the pushpull ports of the MAX7325 repeatedly returns the status of the eight output ports, read back as inputs. A multibyte read (more than 2 bytes before the I2C STOP bit) from the I/O ports (P0–P7) of the MAX7325 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. Slave Address Each MAX7325 has two different 7-bit slave addresses (Tables 2 and 3). The addresses are different to communicate to either the eight push-pull outputs or the eight I/Os. The 8th bit of the slave address following the 7-bit slave address is the R/W bit. It is low for a write command, and high for a read command (Figure 5). The first (A6), second (A5), and third (A4) bits of the MAX7325 slave CLOCK PULSE FOR ACKNOWLEDGEMENT START CONDITION SCL 1 2 8 9 SDA BY TRANSMITTER SDA BY RECEIVER S Figure 4. Acknowledge SDA A5 A4 A3 A2 A1 A0 R/W ACK LSB MSB SCL Figure 5. Slave Address ______________________________________________________________________________________ 11 MAX7325 Acknowledge The acknowledge bit is a clocked 9th bit the recipient uses to acknowledge 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 MAX7325, the device generates the acknowledge bit because the MAX7325 is the recipient. When the MAX7325 is transmitting to the master, the master generates the acknowledge bit because the master is the recipient. MAX7325 I2C Port Expander with 8 Push-Pull and 8 Open-Drain I/Os If a port input data change occurs during the read sequence, then INT is reasserted during the I2C STOP bit. The MAX7325 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 two-byte read). Reading the MAX7325 A read from the open-drain I/O ports of the MAX7325 starts with the master transmitting the port group’s slave address with the R/W bit set to high. The MAX7325 acknowledges the slave address, and samples the ports during the acknowledge bit. INT deasserts during the slave address acknowledge. A multibyte read from the push-pull ports of the MAX7325 repeatedly returns the status of the eight output ports, read back as inputs. Typically, the master reads 1 or 2 bytes from the MAX7325, each byte being acknowledged by the master upon reception with the exception of the last byte. A single-byte write to either port groups of the MAX7325 sets the logic state of all eight ports. A multibyte write to either port group of the MAX7325 repeatedly sets the logic state of all eight ports. When the master reads one byte from the open-drain ports of the MAX7325 and subsequently issues a STOP condition (Figure 6), the MAX7325 transmits the current port data, clears the change flags, and resets the transition detection. INT deasserts during the slave PORT I/O ACKNOWLEDGE FROM MAX7325 S 1 1 0 MAX7325 SLAVE ADDRESS 1 P7 A R/W D7 P6 P5 D6 P4 D5 D4 P3 P2 D3 PORT SNAPSHOT D2 P1 ACKNOWLEDGE FROM MASTER P0 D1 D0 N P PORT SNAPSHOT SCL tPH PORT tIV tPSU tIR INT OUTPUT INT REMAINS HIGH UNTIL STOP CONDITION S = START CONDITION P = STOP CONDITION SHADED = SLAVE TRANSMISSION N = NOT ACKNOWLEDGE Figure 6. Reading Open-Drain Ports of the MAX7325 (1 Data Byte) 12 tIP ______________________________________________________________________________________ I2C Port Expander with 8 Push-Pull and 8 Open-Drain I/Os A read from the push-pull ports of the MAX7325 starts with the master transmitting the group’s slave address with the R/W bit set high. The MAX7325 acknowledges the slave address, and samples the logic state of the output ports during the acknowledge bit. The master can read one or more bytes from the push-pull ports of the MAX7325 and then issues a STOP condition (Figure 8). The MAX7325 transmits the current port data, read back from the actual port outputs (not the port output latches) during the acknowledge. If a port is forced to a logic state other than its programmed state, the readback reflects this. If driving a capacitive load, the readback port level verification algorithms may need to take the RC rise/fall time into account. PORT INPUTS ACKNOWLEDGE FROM MAX7325 S 1 1 0 MAX7325 SLAVE ADDRESS 1 I6 I7 A D7 R/W D6 I5 D5 I4 I3 D4 INTERRUPT FLAGS I1 I2 D3 D2 I0 D1 D0 F7 A D7 F6 F5 D6 F4 D5 D4 F3 D3 D2 D1 F0 D0 ACKNOWLEDGE FROM MASTER N P PORT SNAPSHOT PORT SNAPSHOT PORT SNAPSHOT F1 F2 SCL tPH PORTS tPSU tIV tIR INT OUTPUT tIP INT REMAINS HIGH UNTIL STOP CONDITION S = START CONDITION P = STOP CONDITION SHADED = SLAVE TRANSMISSION N = NOT ACKNOWLEDGE Figure 7. Reading Open-Drain Ports of the MAX7325 (2 Data Bytes) P7 PORT SNAPSHOT DATA P6 P5 P4 P3 DATA 1 P2 P1 P0 ACKNOWLEDGE FROM MAX7325 S MAX7325 SLAVE ADDRESS 1 R/W A D7 D6 D5 D4 PORT SNAPSHOT TAKEN D3 D2 D1 D0 PORT SNAPSHOT TAKEN A P ACKNOWLEDGE FROM MASTER SCL Figure 8. Reading Push-Pull Ports of MAX7325 ______________________________________________________________________________________ 13 MAX7325 acknowledge. The new snapshot data is the current port data transmitted to the master, and therefore, port changes occuring during the transmission are detected. INT remains high until the STOP condition. The master can read 2 bytes from the open-drain ports of the MAX7325 and subsequently issues a STOP condition (Figure 7). In this case, the MAX7325 transmits the current port data, followed by the change flags. The change flags are then cleared, and transition detection is reset. INT goes high (high impedance if an external pullup resistor is not fitted) during the slave acknowledge. The new snapshot data is the current port data transmitted to the master, and therefore, port changes occuring during the transmission are detected. INT remains high until the STOP condition. MAX7325 I2C Port Expander with 8 Push-Pull and 8 Open-Drain I/Os Typically, the master reads one byte from the push-pull ports of the MAX7325, then issues a STOP condition (Figure 8). However, the master can read two or more bytes from the group B ports of the MAX7325, then issues a STOP condition. In this case, the MAX7325 resamples the port outputs during each acknowledge and transmits the new data each time. Writing the MAX7325 A write to either output port groups of the MAX7325 starts with the master transmitting the group’s slave address with the R/W bit set low. The MAX7325 acknowledges the slave address and samples the ports during the acknowledge bit. INT goes high (high impedance if an external pullup resistor is not fitted) during the slave acknowledge only when it writes to the open-drain ports. The master can now transmit one or more bytes of data. The MAX7325 acknowledges these subsequent bytes of data and updates the corresponding group’s ports with each new byte until the master issues a STOP condition (Figure 9). Applications Information Port Input and I2C Interface Level Translation from Higher or Lower Logic Voltages The MAX7325’s SDA, SCL, AD0, AD2, RST, INT, O8–O15, and P0–P7 are overvoltage protected to +6V. This allows the MAX7325 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 from a higher logic level, such as +5V. 1 SCL 2 3 4 5 6 7 S START CONDITION Port Output Signal-Level Translation The open-drain output architecture allows for level translation to higher or lower voltages than the MAX7325’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. Each of the push-pull output ports has protection diodes to V+ and GND. When a port output is driven to a voltage higher than V+ or lower than GND, the appropriate protection diode clamps the output to a diode drop above V+ or below GND. When the MAX7325 is powered down (V+ = 0V), every output port’s protection 8 SLAVE ADDRESS SDA The MAX7325 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. For V+ < 1.8V, apply a minimum voltage of 0.8 x V+ to assert a logic-high on any input. For a V+ ≥ 1.8V, apply a voltage of 0.7 x V+ to assert a logic-high. For example, a MAX7325 operating from a +5V supply may not recognize a +3.3V nominal logichigh. One solution for input-level translation is to drive MAX7325 I/Os from open-drain outputs. Use a pullup resistor to V+ or a higher supply to ensure a high logic voltage greater than 0.7 x V+. DATA TO INTERRUPT MASK 0 A DATA TO INTERRUPT MASK A DATA 1 R/W ACKNOWLEDGE FROM SLAVE A DATA 2 ACKNOWLEDGE FROM SLAVE ACKNOWLEDGE FROM SLAVE INTERNAL WRITE TO PORT DATA OUT FROM PORT DATA 1 VALID tPV DATA 2 VALID tPV Figure 9. Writing to the MAX7325 14 ______________________________________________________________________________________ I2C Port Expander with 8 Push-Pull and 8 Open-Drain I/Os Each of the I/O ports P0–P7 has a protection diode to GND (Figure 11). When a port is driven to a voltage lower than GND, the protection diode clamps the port to a diode drop below GND. Each of the I/O ports P0–P7 also has a 40kΩ (typ) pullup resistor that can be enabled or disabled. When a port input is 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 MAX7325 is powered down (V+ = 0V), each I/O port appears as a 40kΩ resistor in series with a diode connected to 0V. Input ports are protected to +6V under any of these circumstances (Figure 11). Driving LED Loads When driving LEDs from one of the outputs, 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 MAX7325 port, and the LED anode to V+ through the series current-limiting resistor, R LED. 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). V+ VLED is the forward voltage of the LED (V). VOL is the output low voltage of the MAX7325 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.1) / 0.01 = 270Ω Driving Load Currents Higher than 20mA The MAX7325 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 combination of ports can be set or cleared at the same time by writing to the MAX7325. Do not exceed a total sink current of 100mA for the device. The MAX7325 must be protected from the negativevoltage 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 MAX7325 operates with a supply voltage of +1.71V to +5.5V. Bypass the supply to GND with a ceramic capacitor of at least 0.047µF as close as possible to the device. For the TQFN version, additionally connect the exposed pad to GND. V+ V+ MAX7325 PULLUP ENABLE V+ MAX7325 40kΩ O8–O15 P0–P7 INPUT OUTPUT OUTPUT GND GND Figure 10. MAX7325 Push-Pull Output Port Structure Figure 11. MAX7325 Open-Drain I/O Port Structure ______________________________________________________________________________________ 15 MAX7325 diodes to V+ and GND continue to appear as a diode clamp from each output to GND (Figure 10). MAX7325 I2C Port Expander with 8 Push-Pull and 8 Open-Drain I/Os Functional Diagram Typical Application Circuit 3.3V V+ µC AD0 AD2 SCL INPUT SDA FILTER I2C CONTROL I/O PORTS SCL SCL SDA RST SDA RST INT INT MAX7325 O15 O14 O13 O12 O11 O10 O9 O8 INT POWERON RESET RST O15 O14 O13 O12 O11 O10 O9 O8 P7 P6 P5 P4 P3 P2 P1 P0 AD0 AD2 MAX7325 GND P7 P6 P5 P4 P3 P2 P1 P0 Chip Information Pin Configurations (continued) PROCESS: BiCMOS TOP VIEW INT 1 + 24 V+ RST 2 23 SDA AD2 3 22 SCL P0 4 MAX7325 21 AD0 P1 5 20 O15 P2 6 19 O14 P3 7 18 O13 P4 8 17 O12 P5 9 16 O11 P6 10 15 O10 P7 11 14 O9 GND 12 13 O8 QSOP 16 OUTPUT OUTPUT OUTPUT OUTPUT INPUT/OUTPUT INPUT/OUTPUT INPUT/OUTPUT INPUT/OUTPUT INPUT/OUTPUT INPUT/OUTPUT INPUT/OUTPUT INPUT/OUTPUT ______________________________________________________________________________________ I2C Port Expander with 8 Push-Pull and 8 Open-Drain I/Os 24L QFN THIN.EPS PACKAGE OUTLINE, 12, 16, 20, 24, 28L THIN QFN, 4x4x0.8mm 21-0139 E 1 2 ______________________________________________________________________________________ 17 MAX7325 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.) MAX7325 I2C Port Expander with 8 Push-Pull and 8 Open-Drain I/Os 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.) PACKAGE OUTLINE, 12, 16, 20, 24, 28L THIN QFN, 4x4x0.8mm 21-0139 18 ______________________________________________________________________________________ E 2 2 I2C Port Expander with 8 Push-Pull and 8 Open-Drain I/Os QSOP.EPS PACKAGE OUTLINE, QSOP .150", .025" LEAD PITCH 21-0055 F 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 ____________________ 19 © 2006 Maxim Integrated Products Heaney is a registered trademark of Maxim Integrated Products, Inc. MAX7325 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.)