INTEGRATED CIRCUITS PCA9555 16-bit I2C and SMBus I/O port with interrupt Product data Supersedes data of 2001 May 07 2002 May 13 Philips Semiconductors Product data 16-bit I2C and SMBus I/O port with interrupt PCA9555 The PCA9555 open-drain interrupt output is activated when any input state differs from its corresponding input port register state and is used to indicate to the system master that an input state has changed. The power-on reset sets the registers to their default values and initializes the device state machine. Three hardware pins (A0, A1, A2) vary the fixed I2C address and allow up to eight devices to share the same I2C/SMBus. The fixed I2C address of the PCA9555 is the same as the PCA9554 allowing up to eight of these devices in any combination to share the same I2C/SMBus. FEATURES PIN CONFIGURATION * Operating power supply voltage range of 2.3 V-5.5 V * 5 V tolerant I/Os * Polarity inversion register * Active low interrupt output * Low stand-by current * Noise filter on SCL/SDA inputs * No glitch on power-up * Internal power-on reset * 16 I/O pins which default to 16 inputs * 0 to 400 kHz clock frequency * ESD protection exceeds 2000 V HBM per JESD22-A114, 200 V MM per JESD22-A115, and 1000 V CDM per JESD22-C101 * Latch-up testing is done to JESDEC Standard JESD78 which INT 1 24 VDD A1 2 23 SDA A2 3 22 SCL I/O0.0 4 21 A0 I/O0.1 5 20 I/O1.7 I/O0.2 6 19 I/O1.6 I/O0.3 7 18 I/O1.5 I/O0.4 8 17 I/O1.4 I/O0.5 9 16 I/O1.3 I/O0.6 10 15 I/O1.2 I/O0.7 11 14 I/O1.1 VSS 12 13 I/O1.0 exceeds 100 mA SU01438 Figure 1. Pin configuration DESCRIPTION The PCA9555 is a 24-pin CMOS device that provide 16 bits of General Purpose parallel Input/Output (GPIO) expansion for I2C/SMBus applications and was developed to enhance the Philips family of I@C I/O expanders. The improvements include higher drive capability, 5V I/O tolerance, lower supply current, individual I/O configuration, and smaller packaging. I/O expanders provide a simple solution when additional I/O is needed for ACPI power switches, sensors, pushbuttons, LEDs, fans, etc. PIN DESCRIPTION The PCA9555 consist of two 8-bit Configuration (Input or Output selection); Input, Output and Polarity inversion (Active high or Active low operation) registers. The system master can enable the I/Os as either inputs or outputs by writing to the I/O configuration bits. The data for each Input or Output is kept in the corresponding Input or Output register. The polarity of the read register can be inverted with the Polarity Inversion Register. All registers can be read by the system master. Although pin to pin and I2C address compatible with the PCF8575, software changes are required due to the enhancements and are discussed in Application Note AN469. PIN NUMBER SYMBOL 1 INT Interrupt output (open drain) 2 A1 Address input 1 3 A2 Address input 2 4-11 I/O0.0-I/O0.7 I/O0.0 to I/O0.7 12 VSS Supply ground 13-20 I/O1.0-I/O1.7 I/O1.0 to I/O1.7 20 I/O1.7 21 A0 Address input 0 22 SCL Serial clock line 23 SDA Serial data line 24 VDD Supply voltage FUNCTION I/O1.7 ORDERING INFORMATION PACKAGES TEMPERATURE RANGE ORDER CODE DRAWING NUMBER 24-Pin Plastic SO 24-Pin Plastic SSOP -40 to +85 C PCA9555D SOT137-1 -40 to +85 C PCA9555DB SOT340-1 24-Pin Plastic TSSOP -40 to +85 C PCA9555PW I2C is a trademark of Philips Semiconductors Corporation. SMBus as specified by the Smart Battery System Implementers Forum is a derivative of the Philips I2C patent. 2002 May 13 2 SOT355-1 853-2252 28188 Philips Semiconductors Product data 16-bit I2C and SMBus I/O port with interrupt PCA9555 BLOCK DIAGRAM I/O1.0 I/O1.1 I/O1.2 A0 A1 8-BIT A2 INPUT/ OUTPUT PORTS I/O1.3 I/O1.4 I/O1.5 WRITE pulse I/O1.6 READ pulse I/O1.7 I2C/SMBUS CONTROL I/O0.0 I/O0.1 SCL SDA I/O0.2 INPUT FILTER 8-BIT INPUT/ OUTPUT PORTS WRITE pulse I/O0.3 I/O0.4 I/O0.5 READ pulse I/O0.6 I/O0.7 VDD VINT VSS POWER-ON RESET LP FILTER INT NOTE: ALL I/Os ARE SET TO INPUTS AT RESET SU01439 Figure 2. Block diagram 2002 May 13 3 Philips Semiconductors Product data 16-bit I2C and SMBus I/O port with interrupt PCA9555 SIMPLIFIED SCHEMATIC OF I/Os DATA FROM SHIFT REGISTER OUTPUT PORT REGISTER DATA CONFIGURATION REGISTER DATA FROM SHIFT REGISTER VDD Q D Q1 FF WRITE CONFIGURATION PULSE CK 100 k Q D Q FF I/O PIN WRITE PULSE CK Q Q2 OUTPUT PORT REGISTER INPUT PORT REGISTER D Q VSS INPUT PORT REGISTER DATA FF READ PULSE Q CK DATA FROM SHIFT REGISTER TO INT D Q POLARITY REGISTER DATA FF WRITE POLARITY PULSE CK Q POLARITY INVERSION REGISTER SU01473 NOTE: At Power-on Reset, all registers return to default values. Figure 3. Simplified schematic of I/Os I/O port When an I/O is configured as an input, FETs Q1 and Q2 are off, creating a high impedance input with a weak pull-up to VDD. The input voltage may be raised above VDD to a maximum of 5.5 V. If the I/O is configured as an output, then either Q1 or Q2 is on, depending on the state of the Output Port register. Care should be exercised if an external voltage is applied to an I/O configured as an output because of the low impedance path that exists between the pin and either VDD or VSS. 2002 May 13 4 Philips Semiconductors Product data 16-bit I2C and SMBus I/O port with interrupt REGISTERS POWER-ON RESET When power is applied to VDD, an internal power-on reset holds the PCA9555 in a reset state until VDD has reached VPOR. At that point, the reset condition is released and the PCA9555 registers and SMBus state machine will initialize to their default states. Command Byte Command PCA9555 Register 0 Input port 0 1 Input port 1 2 Output port 0 3 Output port 1 4 Polarity inversion port 0 5 Polarity inversion port 1 6 Configuration port 0 7 Configuration port 1 DEVICE ADDRESS slave address 0 1 0 0 fixed A2 A1 A0 R/W programmable su01441 The command byte is the first byte to follow the address byte during a write transmission. It is used as a pointer to determine which of the following registers will be written or read. Figure 4. PCA9555 address BUS TRANSACTIONS Registers 0 and 1 -- Input Port Registers Writing to the port registers This register is an input-only port. It reflects the incoming logic levels of the pins, regardless of whether the pin is defined as an input or an output by Register 3. Writes to this register have no effect. Data is transmitted to the PCA9555 by sending the device address and setting the least significant bit to a logic 0 (see Figure 4 for device address). The command byte is sent after the address and determines which register will receive the data following the command byte. Registers 2 and 3 -- Output Port Registers bit O0.7 O0.6 O0.5 O0.4 O0.3 O0.2 O0.1 The eight registers within the PCA9555 are configured to operate as four register pairs. The four pairs are Input Ports, Output Ports, Polarity Inversion Ports, and Configuration Ports. After sending data to one register, the next data byte will be sent to the other register in the pair (see Figures and ). For example, if the first byte is sent to Output Port (register 3), then the next byte will be stored in Output Port 0 (register 2). There is no limitation on the number of data bytes sent in one write transmission. In this way, each 8-bit register may be updated independently of the other registers. O0.0 default 1 1 1 1 1 1 1 1 bit O1.7 O1.6 O1.5 O1.4 O1.3 O1.2 O1.1 O1.0 default 1 1 1 1 1 1 1 1 This register is an output-only port. It reflects the outgoing logic levels of the pins defined as outputs by Register 6 and 7. Bit values in this register have no effect on pins defined as inputs. In turn, reads from this register reflect the value that is in the flip-flop controlling the output selection, NOT the actual pin value. Reading the port registers In order to read data from the PCA9555, the bus master must first send the PCA9555 address with the least significant bit set to a logic 0 (see Figure 4 for device address). The command byte is sent after the address and determines which register will be accessed. After a restart, the device address is sent again but this time, the least significant bit is set to a logic 1. Data from the register defined by the command byte will then be sent by the PCA9555 (see Figures 7 and 8). Data is clocked into the register on the falling edge of the acknowledge clock pulse. After the first byte is read, additional bytes may be read but the data will now reflect the information in the other register in the pair. For example, if you read Input Port 1, then the next byte read would be Input Port 0. There is no limitation on the number of data bytes received in one read transmission but the final byte received, the bus master must not acknowledge the data. Registers 4 and 5 -- Polarity Inversion Registers bit N0.7 N0.6 N0.5 N0.4 N0.3 N0.2 N0.1 N0.0 default 0 0 0 0 0 0 0 0 bit N1.7 N1.6 N1.5 N1.4 N1.3 N1.2 N1.1 N1.0 default 0 0 0 0 0 0 0 0 This register allows the user to invert the polarity of the Input Port register data. If a bit in this register is set (written with `1'), the Input Port data polarity is inverted. If a bit in this register is cleared (written with a `0'), the Input Port data polarity is retained. Registers 6 and 7 -- Configuration Registers bit C0.7 C0.6 C0.5 C0.4 C0.3 C0.2 C0.1 C0.0 default 1 1 1 1 1 1 1 1 bit C1.7 C1.6 C1.5 C1.4 C1.3 C1.2 C1.1 C1.0 default 1 1 1 1 1 1 1 1 Interrupt Output The open-drain interrupt output is activated when one of the port pins change state and the pin is configured as an input. The interrupt is deactivated when the input returns to its previous state or the input port register is read (see Figure 8). A pin configured as an output cannot cause an interrupt. Since each 8-bit port is read independently, the interrupt caused by Port 0 will not be cleared by a read of Port 1 or the other way around. This register configures the directions of the I/O pins. If a bit in this register is set (written with `1'), the corresponding port pin is enabled as an input with high impedance output driver. If a bit in this register is cleared (written with `0'), the corresponding port pin is enabled as an output. Note that there is a high value resistor tied to VDD at each pin. At reset the device's ports are inputs with a pull-up to VDD. 2002 May 13 Note that changing an I/O from an output to an input may cause a false interrupt to occur if the state of the pin does not match the contents of the Input Port register. 5 2002 May 13 6 SDA SCL DATA OUT FROM PORT 1 DATA OUT FROM PORT 0 WRITE TO PORT SDA SCL 0 1 2 0 1 2 start condition S 1 start condition S 1 4 5 6 4 0 0 0 7 5 6 A2 A1 A0 7 A2 A1 A0 slave address 3 0 slave address 3 R/W 0 8 R/W 0 8 0 0 0 1 0 2 0 0 0 1 0 0.7 acknowledge from slave A DATA 0 4 5 6 0 0 0 1 command byte 3 1 7 0 8 1 2 acknowledge from slave A MSB 9 3 5 DATA 0 data to register 4 6 data to port 0 Figure 6. WRITE to configuration registers acknowledge from slave A 9 0 command byte Figure 5. WRITE to output port registers acknowledge from slave A 9 7 LSB 8 tpv 0.0 1 2 acknowledge from slave A MSB 9 acknowledge from slave A 1.7 3 5 DATA 1 1.0 P A P SU01442 A SU01443 LSB tpv DATA VALID data to register 4 DATA 1 data to port 1 Philips Semiconductors Product data 16-bit I2C and SMBus I/O port with interrupt PCA9555 S 0 1 0 0 A2 A1 A0 0 COMMAND BYTE A A slave address 0 S 0 1 0 data from lower or upper byte of register acknowledge from slave A2 A1 A0 R/W 1 acknowledge from master DATA A MSB LSB A first byte R/W at this moment master-transmitter becomes master-receiver and slave-receiver becomes slave-transmitter data from upper or lower byte of register MSB no acknowledge from master LSB NA DATA P last byte SU01463 NOTE: Transfer can be stopped at any time by a STOP condition. Figure 7. READ from register SCL 1 2 3 4 5 6 7 8 9 7 I0.x SDA S 0 1 0 0 A2 A1 A0 1 R/W A 7 6 5 4 ACKNOWLEDGE FROM SLAVE 3 I1.x 2 1 0 A 7 6 5 ACKNOWLEDGE FROM MASTER 4 3 I0.x 2 1 0 A 7 6 5 ACKNOWLEDGE FROM MASTER 4 3 I1.x 2 1 0 A 7 6 5 4 3 2 1 0 1 P Philips Semiconductors slave address acknowledge from slave 16-bit I2C and SMBus I/O port with interrupt 2002 May 13 acknowledge from slave ACKNOWLEDGE FROM MASTER NON ACKNOWLEDGE FROM MASTER READ FROM PORT 0 DATA INTO PORT 0 READ FROM PORT 1 DATA INTO PORT 1 INT tIR SU01464 Product data NOTES: Transfer of data can be stopped at any moment by a STOP condition. When this occurs, data present at the latest acknowledge phase is valid (output mode). It is assumed that the command byte has previously been set to 00 (read input port port register). Figure 8. READ input port register -- scenario 1 PCA9555 tIV 2 3 4 5 6 7 8 9 I0.x SDA S 0 1 0 0 A2 A1 A0 1 R/W A DATA 00 ACKNOWLEDGE FROM SLAVE I1.x A DATA 10 ACKNOWLEDGE FROM MASTER I0.x A DATA 03 ACKNOWLEDGE FROM MASTER I1.x A P ACKNOWLEDGE FROM MASTER tps tph 1 DATA 12 NON ACKNOWLEDGE FROM MASTER READ FROM PORT 0 DATA 00 DATA INTO PORT 0 DATA 01 DATA 02 tph DATA 03 tps READ FROM PORT 1 DATA 10 DATA INTO PORT 1 DATA 11 DATA 12 INT tIV tIR SU01651 8 NOTES: Transfer of data can be stopped at any moment by a STOP condition. When this occurs, data present at the latest acknowledge phase is valid (output mode). It is assumed that the command byte has previously been set to 00 (read input port port register). Figure 9. READ input port register -- scenario 2 Philips Semiconductors 1 16-bit I2C and SMBus I/O port with interrupt 2002 May 13 SCL Product data PCA9555 Philips Semiconductors Product data 16-bit I2C and SMBus I/O port with interrupt PCA9555 ABSOLUTE MAXIMUM RATINGS In accordance with the Absolute Maximum Rating System (IEC 134) PARAMETER SYMBOL VDD Supply voltage VI/O DC input current on an I/O II/O CONDITIONS MIN MAX UNIT V -0.5 6.0 VSS - 0.5 6 V DC output current on an I/O -- 50 mA DC input current -- 20 mA IDD Supply current -- 160 mA II ISS Supply current -- 200 mA Ptot Total power dissipation -- 200 mW Tstg Storage temperature range -65 +150 C Tamb Operating ambient temperature -40 +85 C 2002 May 13 9 Philips Semiconductors Product data 16-bit I2C and SMBus I/O port with interrupt PCA9555 HANDLING Inputs and outputs are protected against electrostatic discharge in normal handling. However, to be totally safe, it is desirable to take precautions appropriate to handling MOS devices. Advice can be found in Data Handbook IC24 under "Handling MOS devices". DC CHARACTERISTICS VDD = 2.3 to 5.5 V; VSS = 0 V; Tamb = -40 to +85 C; unless otherwise specified. SYMBOL PARAMETER CONDITIONS MIN TYP MAX UNIT Supplies VDD Supply voltage 2.3 -- 5.5 V -- 135 200 A IDD Supply current Operating mode; VDD = 5.5 V; no load; fSCL = 100 kHz Istbl Standby current Standby mode; VDD = 5.5 V; no load; VI = VSS; fSCL = 0 kHz; I/O = inputs -- 1.1 1.5 mA Istbh Standby current Standby mode; VDD = 5.5 V; no load; VI = VDD; fSCL = 0 kHz; I/O = inputs -- 0.25 1 A Power-on reset voltage No load; VI = VDD or VSS -- 1.5 1.65 V V VPOR input SCL; input/output SDA VIL LOW level input voltage -0.5 -- 0.3 VDD VIH HIGH level input voltage 0.7 VDD -- 5.5 V IOL LOW level output current VOL = 0.4V 3 -- -- mA IL Leakage current VI = VDD = VSS -1 -- +1 A CI Input capacitance VI = VSS -- 6 10 pF VIL LOW level input voltage -0.5 -- 0.8 V VIH HIGH level input voltage 2.0 -- 5.5 V 8 8-20 -- mA VOL = 0.7 V; VDD = 2.3-5.5 V; Note 1 10 10-24 -- mA IOH = -8 mA; VDD = 2.3 V; Note 2 1.8 -- -- V IOH = -10 mA; VDD = 2.3 V; Note 2 1.7 -- -- V IOH = -8 mA; VDD = 3.0 V; Note 2 2.6 -- -- V IOH = -10 mA; VDD = 3.0 V; Note 2 2.5 -- -- V IOH = -8 mA; VDD = 4.75 V; Note 2 4.1 -- -- V IOH = -10 mA; VDD = 4.75 V; Note 2 4.0 -- -- V I/Os IOL O VOH O LOW level output current HIGH level output voltage VOL = 0.5 V; VDD = 2.3-5.5 V; Note 1 IIH Input leakage current VDD = 3.6 V; VI = VDD -- -- 1 A IIL Input leakage current VDD = 5.5 V; VI = VSS -- -- -100 A CI Input capacitance -- 3.7 5 pF CO Output capacitance -- 3.7 5 pF 3 -- -- mA V Interrupt INT IOL LOW level output current VOL = 0.4 V Select Inputs A0, A1, A2 VIL LOW level input voltage -0.5 -- 0.8 VIH HIGH level input voltage 2.0 -- 5.5 V ILI Input leakage current -1 -- 1 A NOTES: 1. The total current sunk by all I/Os must be limited to 200 mA. 2. The total current sourced by all I/Os must be limited to 160 mA. 2002 May 13 10 Philips Semiconductors Product data 16-bit I2C and SMBus I/O port with interrupt PCA9555 SDA tLOW tF tSU;DAT tR tF tHD;STA tR tSP tBUF SCL S tHD;STA tSU;STA tHD;DAT tHIGH tSU;STD SR P S SU01469 Figure 10. Definition of timing AC SPECIFICATIONS SYMBOL STANDARD MODE I2C BUS PARAMETER MIN MAX FAST MODE I2C BUS UNITS MIN MAX fSCL Operating frequency 0 100 0 400 kHz tBUF Bus free time between STOP and START conditions 4.7 -- 1.3 -- s tHD;STA Hold time after (repeated) START condition 4.0 -- 0.6 -- s tSU;STA Repeated START condition setup time 4.7 -- 0.6 -- s tSU;STO Setup time for STOP condition 4.0 -- 0.6 -- s 0.3 3.45 0.1 0.9 s 0 -- 0 -- ns ns condition2 tVD;ACK Valid time of ACK tHD;DAT Data in hold time tVD;DAT Data out valid time3 300 -- 50 -- tSU;DAT Data setup time 250 -- 100 -- ns tLOW Clock LOW period 4.7 -- 1.3 -- s tHIGH Clock HIGH period 4.0 -- 0.6 -- s 1 tF Clock/Data fall time -- 300 20 + 0.1Cb 300 ns tR Clock/Data rise time -- 1000 20 + 0.1Cb 1 300 ns tSP Pulse width of spikes that must be suppressed by the input filters -- 50 -- 50 ns ns Port Timing tPV Output data valid -- 200 -- 200 tPS Input data setup time 150 -- 150 -- ns tPH Input data hold time 1 -- 1 -- s Interrupt Timing tIV Interrupt valid -- 4 -- 4 s tIR Interrupt reset -- 4 -- 4 s NOTES: 1. Cb = total capacitance of one bus line in pF. 2. tVD;ACK = time for Acknowledgement signal from SCL low to SDA (out) low. 3. tVD;DAT = minimum time for SDA data out to be valid following SCL low. 2002 May 13 11 Philips Semiconductors Product data 16-bit I2C and SMBus I/O port with interrupt SO24: plastic small outline package; 24 leads; body width 7.5 mm 2002 May 13 12 PCA9555 SOT137-1 Philips Semiconductors Product data 16-bit I2C and SMBus I/O port with interrupt SSOP24: plastic shrink small outline package; 24 leads; body width 5.3 mm 2002 May 13 13 PCA9555 SOT340-1 Philips Semiconductors Product data 16-bit I2C and SMBus I/O port with interrupt TSSOP24: plastic thin shrink small outline package; 24 leads; body width 4.4 mm 2002 May 13 14 PCA9555 SOT355-1 Philips Semiconductors Product data 16-bit I2C and SMBus I/O port with interrupt PCA9555 Purchase of Philips I2C components conveys a license under the Philips' I2C patent to use the components in the I2C system provided the system conforms to the I2C specifications defined by Philips. This specification can be ordered using the code 9398 393 40011. Data sheet status Data sheet status [1] Product status [2] Definitions Objective data Development This data sheet contains data from the objective specification for product development. Philips Semiconductors reserves the right to change the specification in any manner without notice. Preliminary data Qualification This data sheet contains data from the preliminary specification. Supplementary data will be published at a later date. Philips Semiconductors reserves the right to change the specification without notice, in order to improve the design and supply the best possible product. Product data Production This data sheet contains data from the product specification. Philips Semiconductors reserves the right to make changes at any time in order to improve the design, manufacturing and supply. Changes will be communicated according to the Customer Product/Process Change Notification (CPCN) procedure SNW-SQ-650A. [1] Please consult the most recently issued data sheet before initiating or completing a design. [2] The product status of the device(s) described in this data sheet may have changed since this data sheet was published. The latest information is available on the Internet at URL http://www.semiconductors.philips.com. Definitions Short-form specification -- The data in a short-form specification is extracted from a full data sheet with the same type number and title. For detailed information see the relevant data sheet or data handbook. Limiting values definition -- Limiting values given are in accordance with the Absolute Maximum Rating System (IEC 60134). Stress above one or more of the limiting values may cause permanent damage to the device. These are stress ratings only and operation of the device at these or at any other conditions above those given in the Characteristics sections of the specification is not implied. Exposure to limiting values for extended periods may affect device reliability. Application information -- Applications that are described herein for any of these products are for illustrative purposes only. Philips Semiconductors make no representation or warranty that such applications will be suitable for the specified use without further testing or modification. Disclaimers Life support -- These products are not designed for use in life support appliances, devices or systems where malfunction of these products can reasonably be expected to result in personal injury. Philips Semiconductors customers using or selling these products for use in such applications do so at their own risk and agree to fully indemnify Philips Semiconductors for any damages resulting from such application. Right to make changes -- Philips Semiconductors reserves the right to make changes, without notice, in the products, including circuits, standard cells, and/or software, described or contained herein in order to improve design and/or performance. Philips Semiconductors assumes no responsibility or liability for the use of any of these products, conveys no license or title under any patent, copyright, or mask work right to these products, and makes no representations or warranties that these products are free from patent, copyright, or mask work right infringement, unless otherwise specified. Koninklijke Philips Electronics N.V. 2002 All rights reserved. Printed in U.S.A. Contact information For additional information please visit http://www.semiconductors.philips.com. Fax: +31 40 27 24825 Date of release: 05-02 For sales offices addresses send e-mail to: sales.addresses@www.semiconductors.philips.com. Document order number: 2002 May 13 15 9397 750 09818