KIT ATION EVALU E L B AVAILA 19-0836; Rev 1; 8/10 SMBus/I2C Interfaced 4-Port, Level-Translating GPIOs and LED Drivers I2C-/SMBus™-compatible, The MAX7306/MAX7307 serial-interfaced peripherals feature four level-translating I/Os and operate from a 1.62V to 3.6V power supply. The MAX7307 features a port supply (VLA) that allows level translation on I/O ports to operate from a separate power supply from 1.4V to 5.5V. The MAX7306 features an address select input (AD0) to allow up to four unique slave addresses. The MAX7306/MAX7307 ports P2, P3, and P4 can be configured as inputs, push-pull outputs, and open-drain outputs. Port P1 can be configured as a general-purpose input, open-drain output, or an open-drain INT output. Ports P2 and P3 can be configured as OSCIN and OSCOUT, respectively. The MAX7306/MAX7307 include an internal oscillator for PWM, blink, and key debounce, or to cascade multiple MAX7306/MAX7307s. The external clock can be used to set a specific PWM and blink timing. The RST input asynchronously clears the 2-wire interface and terminates a bus lockup involving the MAX7306/MAX7307. All ports configured as output feature 33-step PWM, allowing any output to be set from fully off, 1/32 to 31/32 duty cycle, to fully on. All output ports also feature LED blink control, allowing blink periods of 1/8 second, 1/4 second, 1/2 second, 1, 2, 4, or 8 seconds. Any port can blink during this period with a 1/16 to 15/16 duty cycle. The MAX7306/MAX7307 are specified over the -40°C to +125°C temperature range and are available in 10-pin µDFN (2mm x 2mm) and 10-pin µMAX® packages. Applications Cell Phones System I/O Ports LCD/Keypad Backlights LED Status Indicators Features ♦ 1.4V to 5.5V I/O Level Translation Port Supply (VLA) ♦ 1.62V to 3.6V Power Supply ♦ Four Individually Configurable GPIO Ports P1 = Open-Drain I/O P2, P3, P4 = Push-Pull or Open-Drain I/O ♦ Individual 33-Step PWM Intensity Control ♦ Blink Controls with 15 Steps on Outputs ♦ 1kHz PWM Period Provides Flicker-Free LED Intensity Control ♦ 25mA (max) Port Output Sink Current (100mA max Ground Current) ♦ Inputs Overvoltage Protected Up to 5.5V (VLA) ♦ Transition Detection with Optional Interrupt Output ♦ Optional Input Debouncing ♦ RST Input Clears Serial Interface, Can Restore Power-Up Default State, and Synchronizes Blink Timing ♦ Oscillator Input and Output Enables Cascading Multiple Devices ♦ Low 0.75µA (typ) Standby Current Ordering Information PART TOP MARK PIN-PACKAGE 10 µDFN (2mm x 2mm) MAX7306ALB+ AAL Note: All devices are specified over the -40°C to +125°C operating temperature range. +Denotes a lead(Pb)-free/RoHS-compliant package. Ordering Information continued at end of data sheet. Pin Configurations appear at end of data sheet. SMBus is a trademark of Intel Corp. µMAX is a registered trademark of Maxim Integrated Products, Inc. Typical Operating Circuit +1.8V +4.5V VDD +2.5V VDD VLA μC μC SDA SDA SCL SCL RST RST SDA SDA SCL SCL RST RST INT P1/INT MAX7306 MAX7307 INT P2/OSCIN P3/OSCOUT P4 P1/INT GND P2/OSCIN P3/OSCOUT P4 AD0 GND ________________________________________________________________ Maxim Integrated Products For pricing, delivery, and ordering information, please contact Maxim Direct at 1-888-629-4642, or visit Maxim’s website at www.maxim-ic.com. 1 MAX7306/MAX7307 General Description MAX7306/MAX7307 SMBus/I2C Interfaced 4-Port, Level-Translating GPIOs and LED Drivers ABSOLUTE MAXIMUM RATINGS (All voltages referenced to GND.) VDD ..........................................................................-0.3V to +4V VLA, SCL, SDA, AD0, and RST.................................-0.3V to +6V P1/INT, P2/OSCIN, P3/OSCOUT, and P4 MAX7306 ................................................-0.3V to (VDD + 0.3V) MAX7307.................................................-0.3V to (VLA + 0.3V) P1/INT, P2/OSCIN, P3/OSCOUT, and P4 Sink Current ......25mA P2/OSCIN, P3/OSCOUT, and P4 Source Current ..............10mA SDA Sink Current ...............................................................10mA VDD Current .......................................................................10mA VLA Current (MAX7307) ......................................................30mA GND Current ....................................................................100mA Continuous Power Dissipation (TA = +70°C) 10-Pin µDFN (derate 5.0mW/°C over +70°C) ..............402mW 10-Pin µMAX (derate 10.3mW/°C over +70°C) ............825mW 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 Soldering Temperature (reflow) .......................................+260°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 (MAX7306) (VDD = 1.62V to 3.6V, TA = TMIN to TMAX, unless otherwise noted. Typical values are at VDD = 3.3V, TA = +25°C.) (Note 1) PARAMETER SYMBOL Operating Supply Voltage VDD Power-On Reset Voltage VPOR Power-On Reset Hysteresis Standby Current (Interface Idle) IOSC Supply Current (Interface Running) ISUP Input High Voltage SDA, SCL, AD0 VIH VIHP Input Low Voltage RST, P1–P4 VILP Input Leakage Current RST, P1–P4 Output Low Voltage SDA 2 UNITS 3.60 V 1.3 1.6 V 10 131 300 mV 0.75 2 Internal oscillator disabled; SCL, SDA, digital inputs at VDD or GND; P1–P4 (as inputs) at VDD or GND µA Internal oscillator enabled; SCL, SDA, digital inputs at VDD or GND; P1–P4 (as inputs) at VDD or GND fSCL = 400kHz; other digital inputs at VDD or GND 14 25 33 40 0.7 x VDD µA V 0.3 x VDD 0.7 x VDD V V 0.3 x VDD V IIH, IIL VDD or GND -1 +1 µA IIHP, IILP VDD or GND -1 +1 µA 8 VOL VOH VOLSDA pF VDD = 1.62V, ISINK = 3mA 0.06 VDD = 2.5V, ISINK = 16mA 0.19 0.4 VDD = 3.3V, ISINK = 20mA 0.2 0.4 VDD = 1.62V, ISOURCE = 0.5mA Output High Voltage P2, P3, and P4 MAX 1.0 Input Capacitance SDA, SCL, AD0, P1–P4 Output Low Voltage P1–P4 TYP VIL Input High Voltage RST, P1–P4 Input Leakage Current SDA, SCL, AD0 MIN 1.62 VDD rising VPORHYST ISTB Input Low Voltage SDA, SCL, AD0 CONDITIONS 1.55 1.6 VDD ≥ 2.5V, ISOURCE = 5mA VDD - 0.3 2.3 VDD ≥ 3.3V, ISOURCE = 8mA VDD - 0.4 3.1 ISINK = 6mA _______________________________________________________________________________________ 0.11 V V 0.3 V SMBus/I2C Interfaced 4-Port, Level-Translating GPIOs and LED Drivers (VDD = 1.62V to 3.6V, TA = TMIN to TMAX, unless otherwise noted. Typical values are at VDD = 3.3V, VLA = 3.3V, TA = +25°C.) (Note 1) PARAMETER Operating Supply Voltage Port Logic Supply Voltage Power-On Reset Voltage Power-On Reset Hysteresis SYMBOL CONDITIONS VDD VLA VPOR MIN TYP 1.62 1.40 VDD rising VPORHYST MAX UNITS 3.60 V 5.50 V 1.0 1.3 1.6 V 10 131 300 V 2 ISTB Internal oscillator disabled; SCL, SDA, digital inputs at VDD or GND; P1–P4 (as inputs) at VLA or GND 0.75 IOSC Internal oscillator enabled; SCL, SDA, digital inputs at VDD or GND; P1–P4 (as inputs) at VLA or GND 14 25 Supply Current (Interface Running) ISUP fSCL = 400kHz; other digital inputs at VLA or GND 33 40 µA Port Supply Current (VLA) IVLA Port (configured as inputs) at VLA or GND 0.05 5 µA Input High Voltage SDA, SCL, RST VIH Input Low Voltage SDA, SCL, RST VIL Standby Current (Interface Idle) Input High Voltage P1–P4 VIHPA Input Low Voltage P1–P4 VILPA Input Leakage Current SDA, SCL, AD0, RST Input Leakage Current P1–P4 µA 0.7 x VDD Input is VLA referred 0.7 x VLA Input is VDD referred 0.7 x VDD 0.3 x VLA Input is VDD referred 0.3 x VDD Output Low Voltage SDA V IIH, IIL VDD or GND -1 +1 µA IIHP, IILP VLA or GND -1 +1 µA 8 0.11 pF VDD = 1.62V, ISINK = 3mA 0.06 0.11 VDD = 2.5V, ISINK = 16mA 0.19 0.4 VDD = 3.3V, ISINK = 20mA 0.2 0.4 VOL VLA = 1.62V, ISOURCE = 0.5mA Output High Voltage P2, P3, P4 V V Input is VLA referred Input Capacitance SDA, SCL, AD0, RST, P1–P4 Output Low Voltage P1–P4 V 0.3 x VDD VOH VOLSDA 1.3 1.4 VLA = 2.5V, ISOURCE = 5mA VLA - 0.3 2.3 VLA = 3.3V, ISOURCE = 8mA VLA - 0.4 3.1 ISINK = 6mA V V 0.3 V _______________________________________________________________________________________ 3 MAX7306/MAX7307 ELECTRICAL CHARACTERISTICS (MAX7307) MAX7306/MAX7307 SMBus/I2C Interfaced 4-Port, Level-Translating GPIOs and LED Drivers PORT, INTERRUPT (INT), AND RESET (RST) TIMING CHARACTERISTICS (VDD = 1.62V to 3.6V, TA = TMIN to TMAX, unless otherwise noted. Typical values are at VDD = 3.3V, VLA = 3.3V (MAX7307 only), TA = +25°C.) (Note 1) (See Figures 14, 15, and 16) PARAMETER SYMBOL CONDITIONS MIN fCLK = internal oscillator TYP MAX 32 UNITS kHz Oscillator Frequency fCLK fCLK = external input 1 MHz Port Output Data Valid High Time tPPVH CL ≤ 100pF 4 µs Port Output Data Valid Low Time (Internal or External Oscillator Running) tPPVL1 CL ≤ 100pF (Note 2) 1 / fCLK µs Port Output Data Valid Low Time (Oscillator Not Running) tPPVL2 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 Acknowledge tIR CL = 100pF 4 µs RST Pulse Width tW 500 ns tRST 900 ns RST Rising to START Condition Setup Time 40 µs TIMING CHARACTERISTICS (VDD = 1.62V to 3.6V, TA = TMIN to TMAX, unless otherwise noted. Typical values are at VDD = 3.3V, VLA = 3.3V (MAX7307 only), TA = +25°C.) (Note 1) (See Figure 8) PARAMETER Serial-Clock Frequency SYMBOL fSCL Bus Timeout tTIMEOUT Bus Free Time Between a STOP and a START Condition CONDITIONS MIN TYP MAX 400 31 UNITS kHz ms 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 SCL Clock Low Period tLOW 1.3 µs SCL Clock High Period tHIGH 0.7 Rise Time of Both SDA and SCL Signals, Receiving Fall Time of Both SDA and SCL Signals, Receiving 0.6 µs (Note 3) 0.9 µs µs tR (Notes 2, 4) 20 + 0.1Cb 300 ns tF (Notes 2, 4) 20 + 0.1Cb 300 ns tF.TX (Note 4) 20 + 0.1Cb 250 ns Pulse Width of Spike Suppressed tSP (Note 5) 50 Capacitive Load for Each Bus Line Cb (Note 2) Fall Time of SDA Transmitting ns 400 pF Note 1: All parameters are tested at TA = +25°C. Specifications over temperature are guaranteed by design. Note 2: Guaranteed by design. Note 3: A master device must provide a hold time of at least 300ns for the SDA signal (referred to VIL of the SCL signal) to bridge the undefined region of SCL’s falling edge. Note 4: Cb = total capacitance of one bus line in pF. tR and tF are measured between 0.3 x VDD and 0.7 x VDD. Note 5: Input filters on the SDA and SCL inputs suppress noise spikes less than 50ns. 4 _______________________________________________________________________________________ SMBus/I2C Interfaced 4-Port, Level-Translating GPIOs and LED Drivers 0.55 0.50 0.45 INTERNAL OSCILLATOR ON 0.40 13.0 12.5 12.0 11.5 fSCL = 400kHz 11.0 35.5 35.0 34.5 34.0 33.5 33.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) -40 -25 -10 5 20 35 50 65 80 95 110 125 TEMPERATURE (°C) PORT OPEN-DRAIN OUTPUT LOW VOLTAGE vs. SINK CURRENT PUSH-PULL OUTPUT HIGH VOLTAGE vs. SOURCE CURRENT INTERNAL OSCILLATOR vs. TEMPERATURE 0.25 +25°C 0.20 0.15 0.10 0.05 3.2 3.1 3.0 +125°C 2.9 +25°C 2.8 -40°C 0 5 10 15 SINK CURRENT (mA) 20 25 33.5 33.0 32.5 32.0 31.5 2.7 0 34.0 MAX7306/7 toc06 -40°C FREQUENCY (kHz) +125°C 3.3 OUTPUT-VOLTAGE HIGH (V) 0.30 MAX7306/7 toc04 0.35 OUTPUT-VOLTAGE LOW (V) 13.5 36.0 QUIESCENT SUPPLY CURRENT (μA) 0.60 14.0 MAX7306/7 toc02 0.65 ACTIVE SUPPLY CURRENT vs. TEMPERATURE MAX7306/7 toc05 QUIESCENT SUPPLY CURRENT (μA) INTERNAL OSCILLATOR OFF QUIESCENT SUPPLY CURRENT (μA) MAX7306/7 toc01 0.70 QUIESCENT SUPPLY CURRENT vs. TEMPERATURE MAX7306/7 toc03 QUIESCENT SUPPLY CURRENT vs. TEMPERATURE 31.0 0 3 6 9 12 SOURCE CURRENT (mA) 15 -40 -25 -10 5 20 35 50 65 80 95 110 125 TEMPERATURE (°C) PUSH-PULL OUTPUT RISE TIME STAGGERED PWM OUTPUT MAX7306/7 toc08 MAX7306/7 toc07 P1 CL = 10pF P2 2.00V/div CL = 100pF 2V/div P3 P4 400μs/div 20ns/div _______________________________________________________________________________________ 5 MAX7306/MAX7307 Typical Operating Characteristics (VDD = 3.3V, VLA = 3.3V, and TA = +25°C, unless otherwise noted.) (MAX7307) SMBus/I2C Interfaced 4-Port, Level-Translating GPIOs and LED Drivers MAX7306/MAX7307 Pin Description PIN 6 NAME FUNCTION 1 RST Reset Input. RST is an active-low input, referenced to VDD, that clears the 2-wire interface, which can be configured to put the device in the power-up reset condition and reset the PWM and blink timing. 2 2 P1/INT Input/Output Port. P1/INT is configurable as an open-drain I/O or as a transition detection interrupt output. 3 3 GND 4 4 P2/OSCIN Input/Output Port. P2/OSCIN is configurable as a push-pull I/O, open-drain I/O, or as the PWM/blink/timing oscillator input. 5 5 P3/OSCOUT Input/Output Port. P3/OSCOUT is configurable as a push-pull I/O, open-drain I/O, or as the PWM/blink/timing oscillator output. 6 6 P4 Input/Output Port. P4 is configurable as a push-pull I/O or an open-drain I/O. — 7 VLA Port Supply for P1–P4. Connect VLA to a power supply between 1.40V and 5.5V. Bypass VLA to GND with a 0.1µF capacitor. 7 — AD0 Address Input. Sets the device slave address. Connect to GND, VDD, SCL, or SDA to provide four address combinations. Positive Supply Voltage. Bypass VDD to GND with a 0.1µF ceramic capacitor. MAX7306 MAX7307 1 Ground 8 8 VDD 9 9 SDA Serial-Data I/O 10 10 SCL Serial-Clock Input — — EP Exposed Pad (µMAX only). Connect to GND. _______________________________________________________________________________________ SMBus/I2C Interfaced 4-Port, Level-Translating GPIOs and LED Drivers MAX7307 ONLY VDD VLA OUTPUT LOGIC I/O I/O CONTROL INPUT LOGIC MAX7306/ MAX7307 SCL SDA P1–P4 I 2C AD0 MAX7306 ONLY RST REGISTER BANK Detailed Description The MAX7306/MAX7307 4-port, general-purpose port expanders operate from a 1.62V to 3.6V power supply. Ports P2 through P4 can be configured as inputs, pushpull outputs, and open-drain outputs. Port P1 can be configured as an input and an open-drain output; P1 can also be configured to function as an (INT) output. Each port configured as an open-drain or push-pull output can sink up to 25mA. Push-pull outputs also have a 10mA source drive capability. The MAX7306/ MAX7307 are rated to sink a total of 100mA into any combination of the output ports. Output ports have PWM and blink capabilities, as well as logic drive. Initial Power-Up On power-up, the MAX7307 default configuration has all ports configured as input ports with logic levels referenced to VLA. The MAX7306 default configuration has all ports configured as input ports with logic levels referenced to VDD. The transition detection interrupt status flag resets and stays high (see Tables 1 and 2). Device Configuration Registers The device configuration registers set up the interrupt function, serial-interface bus timeout, PWM/blink, oscillator options, global blink period, and reset options (see Tables 3 and 4). _______________________________________________________________________________________ 7 MAX7306/MAX7307 Block Diagram MAX7306/MAX7307 SMBus/I2C Interfaced 4-Port, Level-Translating GPIOs and LED Drivers Table 1. Register Address Map ADDRESS AUTOINCREMENT ADDRESS Port P1 or INT Output REGISTER 0x01 0x02 0x80 Port P2 or OSCIN Input 0x02 0x03 0x80 Port P3 or OSCOUT Output 0x03 0x04 0x80 Port P4 0x04 0x05* 0x80 Configuration 26 0x26 0x27 0xEC Configuration 27 POR STATE 0x27 0x28* 0x8F FACTORY RESERVED (Do not write to these registers) 0x3C–0x3F 0x3F–0x40 0x00 FACTORY RESERVED (Do not write to these registers) 0x00 0x01 0x80 *No registers are present. Table 2. Power-Up Register Status REGISTER DATA POWER-UP CONDITION ADDRESS CODE (hex) Ports P1–P4 Ports P_ are VLA referred input ports with interrupt and debounce disabled 0x01–0x04 1 0 0 0 0 0 0 0 Configuration 26 RST does not reset registers or counters; blink period is 1Hz; transition flag clear; interrupt status flag clear 0x26 1 1 1 0 1 1 0 0 Configuration 27 Ports P1–P4 are GPIO ports; bus timeout is disabled 0x27 1 0 0 0 1 1 1 1 REGISTER 8 D7 D6 D5 D4 D3 D2 D1 D0 _______________________________________________________________________________________ SMBus/I2C Interfaced 4-Port, Level-Translating GPIOs and LED Drivers MAX7306/MAX7307 Table 3. Configuration Register (0x26) REGISTER BIT DESCRIPTION VALUE D7 Interrupt Status Flag (Read-Only) 0 An interrupt has occurred on at least one interrupt enabled input port. 1* No interrupt has occurred on an interrupt enabled input port. D6 Transition Flag (Read-Only) 0 Transition has occurred on an input port. 1* No transition has occurred on an input port. 0 Reserved. D5 D4, D3, D2 Reserved Blink Prescaler Bits D1 RST Timer D0 RST POR 0/1 FUNCTION See Table 9 for blink frequency setting. 0* RST does not reset PWM/blink counters. 1 RST resets PWM/blink counters. 0* RST does not reset registers to power-on-reset state. 1 RST resets registers to power-on-reset state. *Default state. Table 4. Configuration Register (0x27) REGISTER BIT DESCRIPTION D7 Bus Timeout D6, D5, D4 Reserved D3 P3/OSCOUT D2 P2/OSCIN D1 P1/INT Output D0 Input Transition VALUE FUNCTION 0 Enables the bus timeout feature. 1* Disables the bus timeout feature. 0 Reserved. 0 Sets P3 to output the oscillator. 1* Sets P3 as a GPIO controlled by register 0x03. 0 Sets P2 as the oscillator input. 1* Sets P2 as a GPIO controlled by register 0x02. 0 Sets P1 as the interrupt output. 1* Sets P1 as a GPIO controlled by register 0x01. 0 Set to 0 on power-up for proper transition detection. *Default state. _______________________________________________________________________________________ 9 MAX7306/MAX7307 SMBus/I2C Interfaced 4-Port, Level-Translating GPIOs and LED Drivers Slave Address I/O Port Registers The MAX7307 is set to slave address 0x98 and the MAX7306 can be set to one of four I2C slave addresses 0x98 to 0x9F, using the address input AD0 (see Table 5) and is accessed over an I2C or SMBus serial interface. The MAX7306 slave address is determined on each I2C transmission, regardless of the transmission actually addressing the device or not. The MAX7306 distinguishes whether address input AD0 is connected to SDA, SCL, V DD , or GND during the transmission. Therefore, the MAX7306 slave address can be configured dynamically in an application without toggling the device supply. The port I/O registers set the I/O ports, one register per port (see Tables 6 and 7). Use the I/O port registers to configure the ports individually as inputs, open-drain, or push-pull outputs. Port P1 can only be configured as an input or an open-drain output. The push-pull bit (D6) setting for the port I/O register P1 is ignored. Table 5. Slave-Address Selection DEVICE ADDRESS AD0 CONNECTION A6 A5 A4 A3 A2 A1 A0 R/W GND 1 0 0 1 1 0 0 0/1 VDD 1 0 0 1 1 0 1 0/1 SCL 1 0 0 1 1 1 0 0/1 SDA 1 0 0 1 1 1 1 0/1 I/O Input Port Configure a port as an input by writing a logic-high to the MSB (bit D7) of the port I/O register (see Table 6). To obtain the logic level of the port input, read the port I/O register bit, D0. This readback value is the instantaneous logic level at the time of the read request if debounce is disabled for the port (port I/O register bit D2 = 0), or the debounced result if debounce is enabled for the port (port I/O register bit D2 = 1). See Figure 1 for input port structure. I/O Output Port Configure a port as an output by writing a logic-low to the MSB (bit D7) of the port I/O register. The device reads back the logic level, PWM, or the blink setting of the port (see Table 7). Table 6. Port I/O Registers (I/O Port Set as an Input, Registers 0x01 to 0x04) REGISTER BIT DESCRIPTION VALUE D7 Port I/O Set Bit 1 Sets the I/O port as an input. FUNCTION D6* Port Supply Reference 0 Refers the input to the VLA supply voltage. 1 Refers the input to the VDD supply voltage. D5 Transition Interrupt Enable 0 Disables the transition interrupt. 1 Enables the transition interrupt. D4, D3 Reserved 0 Do not write to these registers. 0 Disables debouncing of the input port. 1 Enables debouncing of the input port. D2 Debounce D1 Port Transition State (Read-Only) 0 No transition has occurred since the last port read. 1 A transition has occurred since the last port read. Port Status (Read-Only) 0 Port input is logic-low. 1 Port input is logic-high. D0 *Bit D6 controls the I/O’s supply reference for the MAX7307. The MAX7306 ignores bit D6. 10 ______________________________________________________________________________________ SMBus/I2C Interfaced 4-Port, Level-Translating GPIOs and LED Drivers PORT_[2] (DEBOUNCE) 1 VLA MAX7306/MAX7307 VDD MAX7307 ONLY 0 PORT_[6] (THRESHOLD SELECT) PORT_[0] (PORTIN) 0 I/O 1 DEBOUNCE LOGIC TRANSITION DETECTION TRANSITION DETECTION INTERRUPT LOGIC PORT_ [5] INTERRUPT ENABLE INT INT2 INT INT4 Figure 1. Input Port Structure Table 7. Port I/O Registers (I/O Port Set as an Output, Registers 0x01 to 0x04) REGISTER BIT DESCRIPTION VALUE D7 Port I/O Set Bit 0 Sets the I/O port as an output. Output Port Set to Push-Pull or Open-Drain 0 Sets the output type to open-drain. D6 1 Sets the output type to push-pull. 0 Sets the output to PWM mode. 1 Sets the output to blink mode. 0 MSB of the 5-bit duty cycle setting. See the PWM and Blink Timing section. 1 MSB of the 5-bit duty cycle setting. See the PWM and Blink Timing section. 0 Bit 3 of the 5-bit duty cycle setting. See the PWM and Blink Timing section. 1 Bit 3 of the 5-bit duty cycle setting. See the PWM and Blink Timing section. 0 Bit 2 of the 5-bit duty cycle setting. See the PWM and Blink Timing section. 1 Bit 2 of the 5-bit duty cycle setting. See the PWM and Blink Timing section. 0 Bit 1 of the 5-bit duty cycle setting. See the PWM and Blink Timing section. 1 Bit 1 of the 5-bit duty cycle setting. See the PWM and Blink Timing section. 0 LSB of the 5-bit duty cycle setting. See the PWM and Blink Timing section. 1 LSB of the 5-bit duty cycle setting. See the PWM and Blink Timing section. D5 PWM/Blink Enable D4 Duty Cycle Bit 4 D3 Duty Cycle Bit 3 D2 D1 D0 Duty Cycle Bit 2 Duty Cycle Bit 1 Duty Cycle Bit 0 FUNCTION ______________________________________________________________________________________ 11 MAX7306/MAX7307 SMBus/I2C Interfaced 4-Port, Level-Translating GPIOs and LED Drivers PORT_[5] 5-BIT PWM 0 PORT_[4:0] CLOCK 3-BIT PRESCALER 4-BIT BLINK CONFIG26 [4:2] PORT_[3:0] I/O 1 Figure 2. Output Port Structure VLA MAX7307 ONLY VDD VDD SELECT VLA MAX7307 ONLY SELECT INPUT PORT P1 OUTPUT PORTS P2 THROUGH P4 INPUT OUTPUT P1 P2, P3, P4 Figure 3. Port I/O Structure Port Supplies and Level Translation The MAX7307 features a port supply, VLA, that provides the logic supplies to all push-pull I/O ports. P2 through P4 can be configured as push-pull I/O ports (see Figure 3). VLA powers the logic-high port output voltage sourcing the logic-high port load current. VLA provides level translation capability for the outputs and operates over a 1.40V to 5.5V voltage independent of the power-supply voltage, VDD. Each port of the MAX7307 set as an input can be configured to switch midrail of either the VDD or the VLA port supplies. Whenever the port supply reference is changed from VDD to VLA, or vice versa, read the port register to clear any transition flag on the port. 12 Ports P2 through P4 are overvoltage protected to VLA. This is true even for a port used as an input with a VDD port logic-input threshold. Port P1 is overvoltage protected to 5.5V, independent of VDD and VLA (see Figure 3). To mix logic outputs with more than one voltage swing on a group of ports using the same port supply, set the port supply voltage (VLA) to be the highest output voltage. Use push-pull outputs and port P1 for the highest voltage ports, and use open-drain outputs with external pullup resistors for the lower voltage ports. For the MAX7307, when P2, P3, and P4 ports are acting as an input referenced to VDD, make sure the VLA voltage is greater than VDD - 0.3V. ______________________________________________________________________________________ SMBus/I2C Interfaced 4-Port, Level-Translating GPIOs and LED Drivers When the port input is read through the serial interface, the MAX7306/MAX7307 do not return the instantaneous backing value of the logic level from the port because debounce is active. Instead, the MAX7306/MAX7307 return the stored debounced input signal. When debouncing is enabled for a port input, transition detection applies to the stored debounced input signal value, rather than to the instantaneous value at the input. This process allows for useful transition detection of noisy signals, such as keyswitch inputs, without causing spurious interrupts. Port Input Transition Detection and Interrupt Any transition on ports configured as inputs automatically set the D1 bit of that port’s I/O registers high. Any input can be selected to assert an interrupt output indicating a transition has occurred at the input port(s). The MAX7306/ MAX7307 sample the port input (internally latched into a snapshot register) during a read access to its port P_ I/O register. The MAX7306/MAX7307 continuously compare the snapshot with the port’s input condition. If the device detects a change for any port input, an internal transition flag sets for that port. Read register 0x26 to clear the interrupt, then read all the port I/O registers (0x01 to 0x04) by initiating a burst read to clear the MAX7306/MAX7307’s internal transition flag. Note that when debouncing is enabled for a port input, transition detection applies to the stored debounced input signal value, rather than to the instantaneous value at the input. Transition bits D4 and D3 of port registers must be set to 0 to detect the next rising or falling edge on the input port (P_). The MAX7306/MAX7307 allow the user to select the input port(s) that cause an interrupt on the INT output. Set INT for each port by using the INT enable bit (bit D5) in each port P_ register. The appropriate port’s transition flag always sets when an input changes, regardless of the port’s INT enable bit settings. The INT enable bits allow processor interrupt only on critical events, while the inputs and the transition flags can be polled periodically to detect less critical events. When debounce is disabled, a signal transition between the 9th and 11th falling edges of the clock will not be registered, since the transition is detected and cleared at the same time. Ports configured as outputs do not feature transition detection, and therefore, cannot cause an interrupt. The INT output never reasserts during a read sequence because this process could cause a recursive reentry into the interrupt service routine. Instead, if a data change occurs during the read that would normally set the INT output, the interrupt assertion is delayed until the STOP condition. If the changed input data is read before the STOP condition, a new interrupt is not required and not asserted. The INT bit and INT output (if selected) have the same value at all times. Transition Flag The transition bit in device configuration register 0x26 is a NOR of all the port I/O registers’ individual transition bits. A port’s I/O register’s transition bit sets when that port is set as an input, and the input changes from the port’s I/O registers last read through the serial interface. A port’s individual transition bit clears by reading that port’s I/O register. Always write a 0 to bits D4 and D3 of the configuration register 0x26 to properly configure a transition detection. The transition flag of configuration register 0x26 is only cleared after reading all ports I/O registers on which a transition has ocurred. RST Input The active-low RST input operates as a hardware reset that voids any ongoing I 2 C transition involving the MAX7306/MAX7307 (this feature allows the MAX7306/MAX7307 supply current to be minimized in power-critical applications by effectively disconnecting the MAX7307 from the bus). RST also operates as a chip enable, allowing multiple devices to use the same I2C slave address if only one MAX7306/MAX7307 has its RST input high at any time. RST can be configured to restore all port registers to the power-up settings by setting bit D0 of device configuration register 0x26 (Table 1). RST can also be configured to reset the internal timing counters used for PWM and blink by setting bit D1 of device configuration register 0x26. When RST is low, the MAX7306/MAX7307 are forced into the I2C STOP condition. The reset action does not clear the interrupt output INT. The RST input is referenced to VDD and is overvoltage tolerant up to the supply voltage, VLA. INT Output Port P1 can be configured as a latching interrupt output, INT, that flags any transients on any combination of selected ports configured as inputs. Any transitions occurring at the selected inputs assert INT low to alert ______________________________________________________________________________________ 13 MAX7306/MAX7307 Input Debounce The MAX7306/MAX7307 sample the input ports every 31ms if input debouncing is enabled for an input port (D2 = 1 of the port I/O register). The MAX7306/MAX7307 compare each new sample with the previous sample. If the new sample and the previous sample have the same value, the corresponding internal register updates. MAX7306/MAX7307 SMBus/I2C Interfaced 4-Port, Level-Translating GPIOs and LED Drivers the host processor of data changes at the selected inputs. Reset INT by reading any port’s I/O registers (0x01 to 0x04). Standby Mode Upon power-up, the MAX7306/MAX7307 enter standby mode when the serial interface is idle. If any of the PWM intensity control, blink, or debounce features are used, the operating current rises because the internal PWM oscillator is running and toggling counters. When using OSCIN to override the internal oscillator, the operating current varies according to the frequency at OSCIN. When the serial interface is active, the operating current also increases because the MAX7306/MAX7307, like all I2C slaves, have to monitor every transmission. The bus timeout circuit and debounce circuit use the internal oscillator even if OSCIN is selected. Internal Oscillator and OSCIN/OSCOUT External Clock Options The MAX7306/MAX7307 contain an internal oscillator nominally at 32kHz. The MAX7306/MAX7307 always use the internal oscillator for bus timeout and for debounce timing (when enabled). The internal oscillator is also used by default to generate PWM and blink timing. The internal oscillator only runs when the clock output OSCOUT is needed to keep the operating current as low as possible. The MAX7306/MAX7307 can use an external clock source instead of the internal oscillator for the PWM and blink timing. The external clock can range from DC to 1MHz and it connects to the P2/OSCIN port. The P3/OSCOUT port provides a buffered and level-shifted output of the internal oscillator or external clock to drive other devices. Select the P2/OSCIN and P3/OSCOUT MAX7306/MAX7307 P3/OSCOUT MAX7306/MAX7307 P3/OSCOUT port options using the device configuration register 0x27 bits D2 and D3 (see Table 2). The P2/OSCIN port is overvoltage protected to supply voltage VLA for the MAX7307, so the external clock can exceed VDD if VLA is greater than VDD. The external clock cannot exceed VDD for the MAX7306. The port P2 register (see Tables 2 and 6) sets the P2/OSCIN logic threshold (30%/70%) to either the VDD supply or the VLA. Use OSCOUT or an external clock source to cascade up to four MAX7306s per master for applications requiring additional ports. To synchronize the blink action across multiple MAX7306s (see Figures 4 and 5), use OSCOUT from one MAX7306 to drive OSCIN of the other MAX7306s. This process ensures the same blink frequency of all the devices, but also make sure to synchronize the blink phase. The blink timing of multiple MAX7306s is synchronous at the instant of power-up because the blink and PWM counters clear by each device’s internal reset circuit, and by default the device’s internal oscillators are off upon power-up. Ensure that the blink phase of all the devices remains synchronized by programming the OSCIN and OSCOUT functionality before programming any feature that causes a MAX7306’s internal oscillator to operate (blink, PWM, bus timeout, or key debounce). Configure the RST input to reset the internal timing counters used for PWM and blink by setting bit D1 of device configuration register 0x26 (see Table 3). MAX7306/MAX7307 MAX7306/MAX7307 P2/OSCIN MAX7306/MAX7307 P2/OSCIN P2/OSCIN P3/OSCOUT MAX7306/MAX7307 P2/OSCIN Figure 4. Synchronizing Multiple MAX7306/MAX7307s (Internal Oscillator) 14 ______________________________________________________________________________________ SMBus/I2C Interfaced 4-Port, Level-Translating GPIOs and LED Drivers 0MHz TO 1MHz EXTERNAL OSCILLATOR 0MHz TO 1MHz MAX7306 P2/OSCIN P2/OSCIN MAX7306 P2/OSCIN P3/OSCOUT P2/OSCIN MAX7306 MAX7306 P3/OSCOUT MAX7306 P2/OSCIN MAX7306 P2/OSCIN Figure 5. Synchronizing Multiple MAX7306s (External Clock) PWM and Blink Timing The MAX7306/MAX7307 divide the 32kHz nominal internal oscillator OSC or external clock source OSCIN frequency by 32 to provide a nominal 1kHz PWM frequency. Use the reset function to synchronize multiple MAX7306s that are operating from the same OSCIN, or to synchronize a single MAX7306/MAX7307’s blink timing to an external event. Configure the RST input to reset the internal timing counters used by PWM and blink by setting bit D1 of the device configuration register 0x26 (see Table 3). The MAX7306/MAX7307 use the internal oscillator by default. Configure port P2 using device configuration register 0x27 bit D2 (see Table 4) as an external clock source input, OSCIN, if the application requires a particular or more accurate timing for the PWM or blink functions. OSCIN only applies to PWM and blink; the MAX7306/MAX7307 always use the internal oscillator for debouncing and bus timeout. OSCIN can range up to 1MHz. Use device configuration register 0x27 bit D3 (see Table 2) to configure port P3 as OSCOUT to output a MAX7306/MAX7307’s clock. The MAX7306/ MAX7307 buffer the clock output of either the internal oscillator OSC or the external clock source OSCIN, according to port D2’s setup. Synchronize multiple MAX7306s without using an external clock source input by configuring one MAX7306 to generate OSCOUT from its internal clock, and use this signal to drive the remaining MAX7306s’ OSCIN. A PWM period contains 32 cycles of the nominal 1kHz PWM clock (see Figure 6). Set ports individually to a PWM duty cycle between 0/32 and 31/32. For static logic-level low output, set the ports to 0/32 PWM, and for static logic-level high output, set the port register to 0111xxxx (see Table 8). The MAX7306/MAX7307 stagger the PWM timing of the 4-port outputs, in single or dual ports, by 1/8 of the PWM period. These phase shifts distribute the port-output switching points across the PWM period (see Figure 7). This staggering reduces the di/dt output-switching transient on the supply and also reduces the peak/mean current requirement. All ports feature LED blink control. A global blink period of 1/8 second, 1/4 second, 1/2 second, 1, 2, 4, or 8 seconds applies to all ports. See Table 9. Any port can blink during this period with a 1/16 to 15/16 duty cycle, adjustable in 1/16 increments. See Table 10. For PWM fan control, the MAX7306/MAX7307 can set the blink frequency to 32Hz. ______________________________________________________________________________________ 15 MAX7306/MAX7307 EXTERNAL OSCILLATOR MAX7306/MAX7307 SMBus/I2C Interfaced 4-Port, Level-Translating GPIOs and LED Drivers PORT REGISTER VALUE 0b0X000000 0b0X000001 0b0X000010 977μs NOMINAL PWM PERIOD (1024Hz PERIOD) 0b0X011101 OUTPUT LOW 29/32 DUTY PWM 0b0111XXXX LOW HIGH IMPEDANCE OUTPUT LOW 2/32 DUTY PWM OUTPUT LOW 3/32 DUTY PWM 0b0X011111 LOW HIGH IMPEDANCE OUTPUT LOW 1/32 DUTY PWM 0b0X000011 0b0X011110 HIGH IMPEDANCE OUTPUT STATIC LOW (STATIC LOGIC-LOW OUTPUT OR LED DRIVE ON) LOW HIGH IMPEDANCE LOW HIGH IMPEDANCE LOW HIGH IMPEDANCE OUTPUT LOW 30/32 DUTY PWM LOW HIGH IMPEDANCE OUTPUT LOW 31/32 DUTY PWM LOW HIGH IMPEDANCE OUTPUT STATIC HIGH (STATIC LOGIC-HIGH OUTPUT OR LED DRIVE OFF) LOW Figure 6. Static and PWM Port Output Waveforms 977μs NOMINAL PWM PERIOD 0 1 2 NEXT PWM PERIOD 3 OUTPUT P1 NEXT PWM PERIOD 4 OUTPUT P1 OUTPUT P2 OUTPUT P1 OUTPUT P2 OUTPUT P3 OUTPUT P4 OUTPUT P2 OUTPUT P3 OUTPUT P4 Figure 7. Staggered PWM Phasing Between Port Outputs 16 ______________________________________________________________________________________ SMBus/I2C Interfaced 4-Port, Level-Translating GPIOs and LED Drivers REGISTER DATA PWM SETTING D7 D6 D5 D4 D3 D2 D1 Port P_ is a static logic-level low output port 0 X 0 0 0 0 0 D0 0 Port P_ is a PWM output port; PWM duty cycle is 1/32 0 X 0 0 0 0 0 1 Port P_ is a PWM output port; PWM duty cycle is 3/32 0 X 0 0 0 0 1 1 Port P_ is a PWM output port; PWM duty cycle is 7/32 0 X 0 0 0 1 1 1 Port P_ is a PWM output port; PWM duty cycle is 15/32 0 X 0 0 1 1 1 1 Port P_ is a PWM output port; PWM duty cycle is 31/32 0 X 0 1 1 1 1 1 Port P_ is a static logic-level high output port 0 1 1 1 X X X X Table 9. Blink and PWM Frequencies BLINK OR PWM SETTING Blink period is 8 seconds (0.125Hz) Blink period is 4 seconds (0.25Hz) Blink period is 2 seconds (0.5Hz) Blink period is 1 second (1Hz) Blink period is a 1/2 second (2Hz) Blink period is a 1/4 second (4Hz) Blink period is an 1/8 second (8Hz) Blink period is a 1/32 second (32Hz) PWM DEVICE CONFIGURATION REGISTER 0x66 BIT D4 BLINK2 0 0 0 0 1 1 1 1 X BIT D3 BLINK1 0 0 1 1 0 0 1 1 X BIT D2 BLINK0 0 1 0 1 0 1 0 1 X BLINK OR PWM FREQUENCY (32kHz INTERNAL OSCILLATOR) (Hz) BLINK OR PWM FREQUENCY (0Hz TO 1MHz EXTERNAL OSCILLATOR) 0.125 0.25 0.5 1 2 4 8 32 1024 OSCIN / 262,144 OSCIN / 131,072 OSCIN / 65,536 OSCIN / 32,768 OSCIN / 16,384 OSCIN / 8192 OSCIN / 4096 OSCIN / 1024 OSCIN / 32 Table 10. Blink Settings on Output Ports BLINK SETTINGS REGISTER DATA D7 D6 D5 D4 D3 D2 D1 D0 Port P_ is a static logic-level low output port 0 X 1 0 0 0 0 0 Port P_ is a blinking output port; blink duty cycle is 1/16 0 X 1 0 0 0 0 1 Port P_ is a blinking output port; blink duty cycle is 3/16 0 X 1 0 0 0 1 1 Port P_ is a blinking output port; blink duty cycle is 7/16 0 X 1 0 0 1 1 1 Port P_ is a blinking output port; blink duty cycle is 15/16 0 X 1 0 1 1 1 1 Port P_ is a static logic-level high output port 0 1 1 1 X X X X X = Don’t care. ______________________________________________________________________________________ 17 MAX7306/MAX7307 Table 8. PWM Settings on Output Ports MAX7306/MAX7307 SMBus/I2C Interfaced 4-Port, Level-Translating GPIOs and LED Drivers 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, it issues a STOP (P) condition by transitioning SDA from low to high while SCL is high. The bus is then free for another transmission (see Figure 9). Serial Interface Serial Addressing The MAX7306/MAX7307 operate as a slave that sends and receives data through an I2C-compatible, 2-wire 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). A master (typically a microcontroller) initiates all data transfers to and from the MAX7306/MAX7307 and generates the SCL clock that synchronizes the data transfer (see Figure 8). The MAX7306/MAX7307 SDA line operates as both an input and an open-drain output. A 4.7kΩ (typ) pullup resistor is required on SDA. The MAX7306/MAX7307 SCL line operates only as an input. A 4.7kΩ (typ) pullup resistor 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. Bit Transfer One data bit is transferred during each clock pulse. The data on SDA must remain stable while SCL is high (see Figure 10). Acknowledge The acknowledge bit is a clocked 9th bit that the recipient uses to acknowledge receipt of each byte of data (see Figure 11). Thus, each effectively transferred byte requires 9 bits. The master generates the 9th clock pulse, and the recipient pulls down SDA during the acknowledge clock pulse, so the SDA line is stable low during the high period of the clock pulse. When the master is transmitting to the MAX7306/MAX7307, the devices generate the acknowledge bit because the MAX7306/MAX7307 are the Each transmission consists of a START condition (see Figure 9) sent by a master, followed by the MAX7306/ MAX7307 7-bit slave address plus R/W bit, a register address byte, one or more data bytes, and finally a STOP condition (see Figure 9). 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 START CONDITION RESET tWL(RST) Figure 8. 2-Wire Serial Interface Timing Details SDA SDA SCL S P START CONDITION STOP CONDITION Figure 9. Start and Stop Conditions 18 SCL DATA LINE STABLE; CHANGE OF DATA DATA VALID ALLOWED Figure 10. Bit Transfer ______________________________________________________________________________________ SMBus/I2C Interfaced 4-Port, Level-Translating GPIOs and LED Drivers Slave Address The MAX7306/MAX7307 have a 7-bit long slave address (Figure 12). The 8th bit following the 7-bit slave address is the R/W bit. Set the R/W bit low for a write command and high for a read command. The first 5 bits of the MAX7306 slave address (A6–A2) are always 1, 0, 0, 1, and 1. Slave address bits A1 and A0 are selected by the address input AD0. AD0 can be connected to GND, VDD, SDA, or SCL. The MAX7306 has four possible slave addresses (see Table 5), and therefore, a maximum of four MAX7306 devices can be controlled independently from the same interface. The MAX7307 features a permanent slave address of 0x98. START CONDITION CLOCK PULSE FOR ACKNOWLEDGE SCL 1 2 8 Message Format for Reading The MAX7306/MAX7307 are read using the MAX7306/ MAX7307’s internally stored command byte as an address pointer the same way the stored command byte is used as an address pointer for a write. The pointer autoincrements after each data byte is read using the 9 SDA BY TRANSMITTER SDA BY RECEIVER S Figure 11. Acknowledge SDA 1 0 0 1 1 1 R/W A0 MSB ACK LSB SCL Figure 12. Slave Address D15 D14 D13 D12 D11 D10 D9 D8 ACKNOWLEDGE FROM MAX7306 S SLAVE ADDRESS 0 R/W A REGISTER ADDRESS A P ACKNOWLEDGE FROM MAX7306 Figure 13. Register Address Received ______________________________________________________________________________________ 19 MAX7306/MAX7307 Message Format for Writing to the MAX7306/MAX7307 A write to the MAX7306/MAX7307 comprises the transmission of the MAX7306/MAX7307’s slave address with the R/W bit set to zero, followed by at least 1 byte of information. The first byte of information is the command byte. The command byte determines which register of the MAX7306/MAX7307 is to be written to by the next byte, if received (see Table 1). If a STOP condition is detected after the command byte is received, the MAX7306/MAX7307 take no further action beyond storing the command byte (see Figure 13). Any bytes received after the command byte are data bytes. The first data byte goes into the internal register of the MAX7306/MAX7307 selected by the command byte (see Figure 14). If multiple data bytes are transmitted before a STOP condition is detected, these bytes are generally stored in subsequent MAX7306/MAX7307 internal registers because the command byte address autoincrements (see Table 1). recipients. When the MAX7306/MAX7307 transmit to the master, the master generates the acknowledge bit because the master is the recipient. MAX7306/MAX7307 SMBus/I2C Interfaced 4-Port, Level-Translating GPIOs and LED Drivers WRITE TO OUTPUT PORTS REGISTERS (P4) SCL 1 2 1 0 3 4 5 6 7 8 9 A1 A0 0 A SLAVE ADDRESS SDA S 0 1 REGISTER ADDRESS 1 START CONDITION R/W 0 0 0 0 0 1 0 0 A ACKNOWLEDGE FROM SLAVE MSB DATA LSB AA P STOP ACKNOWLEDGE FROM SLAVE ACKNOWLEDGE DATA VALID P4–P1 tPPV Figure 14. Write to Output Port Registers READ FROM INPUT PORTS REGISTERS SCL SDA S 1 2 3 4 5 6 7 8 9 1 0 0 1 1 A1 A0 1 A R/W START CONDITION MSB LSB ACKNOWLEDGE FROM SLAVE DATA1 P4–P1 DATA1 A MSB DATA4 LSB DATA2 DATA3 P STOP NO ACKNOWLEDGE ACKNOWLEDGE FROM MASTER tPH NA DATA4 tPSU Figure 15. Read from Input Port Registers INTERRUPT VALID/RESET SCL SDA S 1 2 3 4 5 6 7 8 9 1 0 0 1 1 1 A0 1 A START CONDITION P4–P1 R/W DATA1 MSB DATA2 ACKNOWLEDGE FROM SLAVE LSB A MSB DATA3 ACKNOWLEDGE FROM MASTER DATA2 LSB NA P STOP NO ACKNOWLEDGE DATA3 INT tIV tIR tIV t IR Figure 16. Interrupt and Reset Timing same rules as for a write. Thus, a read is initiated by first configuring the MAX7306/MAX7307’s command byte by performing a write (Figure 13). The master can now read n consecutive bytes from the MAX7306/ MAX7307 with the first data byte being read from the register addressed by the initialized command byte (Figure 15). When performing read-after-write verification, remember to reset the command byte’s address because the stored command byte address has been autoincremented after the write (see Table 1). Operation with Multiple Masters If the MAX7306/MAX7307 are operated on a 2-wire interface with multiple masters, a master reading the MAX7306/MAX7307 should use a repeated start between the write that sets the MAX7306/MAX7307’s 20 address pointer, and the read(s) that takes the data from the location(s). This is because it is possible for master 2 to take over the bus after master 1 has set up the MAX7306/MAX7307’s address pointer, but before master 1 has read the data. If master 2 subsequently changes the MAX7306/MAX7307’s address pointer, then master 1’s delayed read can be from an unexpected location. Bus Timeout Clear device configuration register 0x27 bit D7 to enable the bus timeout function (see Table 2), or set it to disable the bus timeout function. Enabling the timeout feature resets the MAX7306/MAX7307 serial-bus interface when SCL stops either high or low during a read or write. If either SCL or SDA is low for more than ______________________________________________________________________________________ SMBus/I2C Interfaced 4-Port, Level-Translating GPIOs and LED Drivers Applications Information Hot Insertion Serial interfaces SDA, SCL (and AD0 for the MAX7306) remain high impedance with up to 5.5V asserted on them when the MAX7306/MAX7307 are powered down (VDD = 0V), independent of the voltages on the port supply VLA. When VDD = 0V, or if VDD falls below the MAX7306/MAX7307’s reset threshold, all I/O ports become high impedance. Ports P2 through P4 remain high impedance to signals between 0V and the port supply VLA for the MAX7307 and VDD for the MAX7306. Port P1 goes high impedance to signals up to 5.5V. If a signal outside this range is applied to a port, the port’s protection diodes clamp the input signal to VLA or 0V, as appropriate. If the MAX7307’s VLA is lower than the input signal, the port pulls up VLA, and the protection diode effectively powers any load on VLA from the input signal. This behavior is safe if the current through each protection diode is limited to 10mA. If it is important that I/O ports remain high impedance when all the supplies are powered down, including the port supply VLA, then ensure that there is no direct or parasitic path for the MAX7306/MAX7307 input signals to drive current into either the regulator providing VLA or other circuits powered from VLA. One simple way to achieve this is with a series small-signal Schottky diode, such as the BAT54, between the port supply and the VLA input. I/O Level Translation The open-drain output configuration of the ports allows them to level translate the outputs to lower (but not higher) voltages than the V LA supply. An external pullup resistor converts the high-impedance, logic-high condition to a positive voltage level. Connect the resistor to any voltage up to V LA. 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. 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 MAX7306/ MAX7307 when sinking ILED (V) ILED is the desired operating current of the LED (A). For example, to operate a 2.2V red LED at 20mA from a 5V supply, RLED = (5 - 2.2 - 0.2) / 0.020 = 100Ω. Driving Load Currents Higher than 25mA The MAX7306/MAX7307 can sink current from loads drawing more than 25mA by sharing the load across multiple ports configured as open-drain outputs. Use at least one output per 25mA of load current; for example, drive a 90mA white LED with four ports. The register structure of the MAX7306/MAX7307 allows only one port to be manipulated at a time. Do not connect ports directly in parallel because multiple ports cannot be switched high or low at the same time, which is necessary to share a load safely. Multiple ports can drive high-current LEDs because each port can use its own external current-limiting resistor to set that port’s current through the LED. Power-Supply Considerations The MAX7306/MAX7307 operate with a VDD power-supply voltage of 1.62V to 3.6V. Bypass VDD to GND with a 0.1µF capacitor as close as possible to the device. The port supply V LA is connected to a supply voltage between 1.40V and 5.5V and bypassed with a 0.1µF capacitor as close as possible to the device. The VDD supply and port supply are independent and can be connected to different voltages or the same supply as required. Power supplies VDD and VLA can be sequenced in either order or together. For the MAX7307, when a push-pull port is acting as an input referenced to VCC, make sure the VLA voltage is greater than VCC - 0.3V. Driving LED Loads When driving LEDs, use a resistor in series with the LED to limit the LED current to no more than 25mA. Choose the resistor value according to the following formula: RLED = (VSUPPLY - VLED - VOL) / ILED ______________________________________________________________________________________ 21 MAX7306/MAX7307 nominally 31ms after the start of a valid serial transfer, the interface resets itself and sets up SDA as an input. The MAX7306/MAX7307 then waits for another START condition. SMBus/I2C Interfaced 4-Port, Level-Translating GPIOs and LED Drivers SDA VDD VLA/AD0* P4 TOP VIEW SCL MAX7306/MAX7307 Pin Configurations 10 9 8 7 6 RST 1 MAX7306/ MAX7307 + P1/INT 2 GND 3 P2/OSCIN 4 P3/OSCOUT 5 10 SCL MAX7306/ MAX7307 EP 5 MAX7306AUB+ AAAO MAX7307ALB+ AAK MAX7307AUB+ AAAN ( ) PIN-PACKAGE VDD 7 VLA (AD0)* 6 P4 Chip Information PROCESS: BiCMOS 10 µMAX-EP* 10 µDFN (2mm x 2mm) 10 µMAX-EP* Note: All devices are specified over the -40°C to +125°C operating temperature range. +Denotes a lead(Pb)-free/RoHS-compliant package. Package Information For the latest package outline information and land patterns, go to www.maxim-ic.com/packages. Note that a "+", "#", or "-" in the package code indicates RoHS status only. Package drawings may show a different suffix character, but the drawing pertains to the package regardless of RoHS status. PACKAGE TYPE 22 8 *AD0 FOR MAX7306 VLA FOR MAX7307 µ TOP MARK SDA μMAX Ordering Information (continued) PART 9 EP = EXPOSED PADDLE P3/OSCOUT μDFN 4 P2/OSCIN 3 GND 2 P1/INT RST 1 + PACKAGE CODE OUTLINE NO. LAND PATTERN NO. 10 µMAX U10E+3 21-0109 90-0148 10 µDFN L1022+1 21-0164 90-0006 ______________________________________________________________________________________ SMBus/I2C Interfaced 4-Port, Level-Translating GPIOs and LED Drivers PAGES CHANGED REVISION NUMBER REVISION DATE 0 6/07 Initial release — 1 8/10 Updated Driving LED Load section 21 DESCRIPTION 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 ____________________ 23 © 2010 Maxim Integrated Products Maxim is a registered trademark of Maxim Integrated Products, Inc. MAX7306/MAX7307 Revision History