MCP23016 16-Bit I2C™ I/O Expander Features Package Types • 16-bit remote bidirectional I/O port - 16 I/O pins default to 16 inputs • Fast I2C™ bus clock frequency (0 - 400 kbits/s) • Three hardware address pins allow use of up to eight devices • High-current drive capability per I/O: ±25 mA • Open-drain interrupt output on input change • Interrupt port capture register • Internal Power-On Reset (POR) • Polarity inversion register to configure the polarity of the input port data • Compatible with most micr
MCP23016 NOTES: DS20090C-page 2 © 2007 Microchip Technology Inc.
MCP23016 1.0 DEVICE OVERVIEW The MCP23016 device provides 16-bit, general purpose, parallel I/O expansion for I2C bus applications. This device includes high-current drive capability, low supply current and individual I/O configuration. I/O expanders provide a simple solution when additional I/Os are needed for ACPI, power switches, sensors, push buttons, LEDs and so on. The MCP23016 consists of multiple 8-bit configuration registers for input, output and polarity selection.
MCP23016 1.2 Power-on Reset (POR) The on-chip POR circuit holds the chip in RESET until VDD has reached a high enough level to deactivate the POR circuit (i.e., release RESET). A maximum rise time for VDD is specified in the electrical specifications. When the device starts normal operation (exits the RESET condition), device operating parameters (voltage, frequency, temperature) must be met to ensure proper operation. 1.3 A 1 MHz (typ.) internal clock is needed for the device to function properly.
MCP23016 1.7 Register Block The register block contains the Configuration and Port registers, as shown in Table 1-5. TABLE 1-5: Name REGISTER SUMMARY Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Value on POR Port Registers GP0 GP0.7 GP0.6 GP0.5 GP0.4 GP0.3 GP0.2 GP0.1 GP0.0 0000 0000 GP1 GP1.7 GP1.6 GP1.5 GP1.4 GP1.3 GP1.2 GP1.1 GP0.0 0000 0000 OLAT0 OL0.7 OL0.6 OL0.5 OL0.4 OL0.3 OL0.2 OL0.1 OL0.0 0000 0000 OLAT1 OL1.7 OL1.6 OL1.5 OL1.4 OL1.3 OL1.2 OL1.
MCP23016 1.7.1 DATA PORT REGISTERS Two registers provide access to the two GPIO ports: • GP0 (provides access to data port GP0) • GP1 (provides access to data port GP1) A read from this register provides status on pins of these ports. A write to these registers will modify the output latch registers (OLAT0, OLAT1) and data output. REGISTER 1-1: GP0 - GENERAL PURPOSE I/O PORT REGISTER 0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 GP0.7 GP0.6 GP0.5 GP0.4 GP0.3 GP0.2 GP0.1 GP0.
MCP23016 1.7.2 OUTPUT LATCH REGISTERS Two registers provide access to the two port output latches: • OLAT0 (provides access to the output latch for port GP0) • OLAT1 (provides access to the output latch for port GP1) A read from these registers results in a read of the latch that controls the output and not the actual port. A write to these registers updates the output latch that controls the output.
MCP23016 1.7.3 INPUT POLARITY REGISTERS These registers allow the user to configure the polarity of the input port data (GP0 and GP1). If a bit in this register is set, the corresponding input port (GPn) data bit polarity will be inverted. • IPOL0 (controls the polarity of GP0) • IPOL1 (controls the polarity of GP1) REGISTER 1-5: IPOL0 - INPUT POLARITY PORT REGISTER 0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 IGP0.7 IGP0.6 IGP0.5 IGP0.4 IGP0.3 IGP0.2 IGP0.1 IGP0.
MCP23016 1.7.4 I/O DIRECTION REGISTERS Two registers control the direction of data I/O: • IODIR0 (controls GP0) • IODIR1 (controls GP1) When a bit in these registers is set, the corresponding pin becomes an input. Otherwise, it becomes an output. At Power-on Reset, the device ports are configured as inputs. REGISTER 1-7: IODIR0 - I/O DIRECTION REGISTER 0 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 IOD0.7 IOD0.6 IOD0.5 IOD0.4 IOD0.3 IOD0.2 IOD0.1 IOD0.0 bit 7 bit 7-0 bit 0 IOD0.
MCP23016 1.7.5 INTERRUPT CAPTURE REGISTERS Two registers contain the value of the port that generated the interrupt: • INTCAP0 contains the value of GP0 at time of GP0 change interrupt • INTCAP1 contains the value of GP1 at time of GP1 change interrupt These registers are ‘read-only’ registers (A write to these registers is ignored). REGISTER 1-9: INTCAP0 - INTERRUPT CAPTURED VALUE FOR PORT REGISTER 0 R-x R-x R-x R-x R-x R-x R-x R-x ICP0.7 ICP0.6 ICP0.5 ICP0.4 ICP0.3 ICP0.2 ICP0.1 ICP0.
MCP23016 1.7.6 I/O EXPANDER CONTROL REGISTER • IOCON0 controls the functionality of the MCP23016. The IARES (Interrupt Activity Resolution) bit controls the sampling frequency of the GP port pins. The higher the sampling frequency, the higher the device current requirements. If this bit is ‘0’ (default), the maximum time to detect the activity on the port is 32 ms (max.), which results in lower standby current. If this bit is ‘1’, the maximum time to detect activity on the port is 200 µsec. (max.
MCP23016 1.8 The Serializer/Deserializer block converts transfers data between the I2C bus and GPIO. 1.9 1.9.1 Serializer/Deserializer and Interrupt Logic The MCP23016 asserts the open-drain interrupt output (INT) low when one of the port pins changes state. Only those pins that are configured as an input can cause an interrupt. Pins defined as an output have no effect on INT.
MCP23016 FIGURE 1-3: WRITE TO CONFIGURATION REGISTERS (CASE 1) 2 9 8 7 6 5 4 3 2 1 9 8 7 6 5 4 SCL held low until data is processed 3 2 1 9 8 7 6 5 4 3 2 1 D7 D6 D5 D4 D3 D2 D1 D0 ACK 5 6 7 8 ACK A2 A1 A0 0 2 S 1 0 1 0 R/W=0 Address 9 D7 D6 D5 D4 D3 D2 D1 D0 ACK Data 2 ACK The bus must remain free until after the ninth clock pulse for a minimum of 12 µs (see Table 2-5 and Figure 2-4).
DS20090C-page 14 Data on GP1 2 1 4 3 0 4 0 Address 3 0 6 5 6 7 8 8 R/W=0 7 A2 A1 A0 5 A2 A1 A0 1 2 4 5 Command Byte 3 6 7 9 1 2 3 4 5 6 7 1 2 ACK 9 7 8 9 1 2 Data 2 3 4 5 6 7 3 Data 1 4 5 6 7 8 9 1 2 3 4 5 6 7 9 t GPV0 8 D7 D6 D5 D4 D3 D2 D1 D0 ACK 2 4 5 6 Data 2 SCL held low until data is processed 3 7 1 2 3 4 5 7 8 9 9 ACK 8 t GPV1 DATA VALID 6 D7 D6 D5 D4 D3 D2 D1 D0 2 8 P 1 6 1 5 VALID DATA P 9 D7 D
MCP23016 FIGURE 1-6: READ FROM CONFIGURATION REGISTER 9 8 7 6 5 4 3 2 1 SCL held low until data is processed 9 8 7 6 5 4 3 2 1 ACK 7 6 5 4 3 2 1 A1 A2 0 1 0 0 2 1 SCL S S A0 8 9 Data from LSB or MSB of register SCL held low until data is processed D7 D6 D5 D4 D3 D2 D1 D0 9 8 7 6 5 4 3 2 1 9 8 7 6 5 4 A0 1 0 SDA 0 0 A2 A1 R/W=0 Address © 2007 Microchip Technology Inc. 3 The bus must remain free until after the ninth clock pulse for a minimum of 12 µs (see Table 2-5 and Figure 2-4).
1 SCL S DS20090C-page 16 3 0 4 0 Data in GP0 2 1 5 Note: tIsd 7 8 9 ACK Data from LSB or MSB of register 2 tIcd0 tRDd0 1 3 4 5 6 7 8 D7 D6 D5 D4 D3 D2 D1 D0 It is assumed that command byte is already set to ‘00’.
© 2007 Microchip Technology Inc. 2 3 0 4 0 5 A2 6 1 2 3 4 5 2 3 4 5 6 7 8 9 Data from GP0 9 6 8 1 2 3 4 5 1 2 3 4 5 6 7 8 9 6 P 7 8 D7 D6 D5 D4 D3 D2 D1 D0 Data from GP1 9 ACK Data from GP1 D7 D6 D5 D4 D3 D2 D1 D0 ACK 7 D7 D6 D5 D4 D3 D2 D1 D0 1 8 ACK ACK 7 A0 Data from GP0 D7 D6 D5 D4 D3 D2 D1 D0 A1 It is assumed that command byte is already set to 00.
MCP23016 NOTES: DS20090C-page 18 © 2007 Microchip Technology Inc.
MCP23016 2.0 ELECTRICAL CHARACTERISTICS Absolute Maximum Ratings † Ambient temperature under bias................................................................................................................ -55 to +125°C Storage temperature .............................................................................................................................. -65°C to +150°C Voltage on any pin with respect to VSS ....................................................................................
MCP23016 2.1 DC Characteristics TABLE 2-1: DC CHARACTERISTICS Standard Operating Conditions (unless otherwise stated) Operating temperature: -40°C ≤ TA ≤ +85°C for industrial DC CHARACTERISTICS Param No. Sym Min Typ† Max Units Supply Voltage VDD 2.0 — 5.5 V D002 Standby Current IDD — 0.4 mA IARES = 1 D003 Standby Current IPD — 25 µA IARES = 0 Vss — 0.15 VDD V For entire VDD range Vss — 0.8V Vss — 0.
MCP23016 FIGURE 2-1: RESPONSE TIME VDD 1 TABLE 2-2: Parameter No. RESPONSE TIME Symbol 1 Characteristic Response Time FIGURE 2-2: Min Typ† Max Units 100 — — ns Conditions Minimum time where a VDD transition from 5.0V to 0.0V to 5.0V will cause a RESET. All times less than 100 ns will be filtered. TEST POINT CLOCK TIMING 2 TTP TABLE 2-3: Parameter No. 2 TEST POINT CLOCK TIMING Symbol Characteristic Min Typ† Max Units Conditions FTP TP pin Frequency — 1.
MCP23016 I2C BUS START/STOP BITS TIMING FIGURE 2-3: SCL 91 93 90 92 SDA STOP Condition START Condition I2C BUS START/STOP BITS REQUIREMENTS TABLE 2-5: Param No.
MCP23016 FIGURE 2-4: I2C BUS DATA TIMING 103 102 100 101 SCL 90 106 111 91 107 92 SDA In 110 109 109 SDA Out © 2007 Microchip Technology Inc.
MCP23016 I2C BUS DATA REQUIREMENTS TABLE 2-5: Param No. Symbol 100 THIGH Clock High Time 101 TLOW Clock Low Time 102 TR 103 TF TSU:STA 90 91 THD:STA 106 107 THD:DAT TSU:DAT TSU:STO 92 109 110 TAA TBUF CB 111 Note 1: 2: 3: TWAIT Characteristic Min Max Units 100 kHz mode 4.0 — µs 400 kHz mode 0.6 — µs 100 kHz mode 4.7 — µs Conditions (Note 1) (Note 1) 400 kHz mode 1.3 — µs SDA and SCL Rise 100 kHz mode Time 400 kHz mode — 1000 ns (Note 1) 20 + 0.
MCP23016 TABLE 2-7: Param No. GP0 AND GP1 TIMING REQUIREMENTS Symbol Min Typ.
DS20090C-page 26 SCL S SDA 3 0 4 0 Data in GP0 2 1 5 Note: tIsd 7 A0 8 9 ACK 2 tIcd0 tRDd0 1 3 4 5 6 7 8 9 D7 D6 D5 D4 D3 D2 D1 D0 ACK Data from LSB or MSB of register It is assumed that command byte is already set to ‘00’.
MCP23016 3.0 PACKAGE INFORMATION 3.1 Package Marking Information 28-Lead PDIP (Skinny DIP) Example: MCP23016-I/SP e3 XXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXX YYWWNNN 28-Lead SOIC Example: XXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXX YYWWNNN 28-Lead SSOP MCP23016-I/SO e3 0710017 Example: XXXXXXXXXXXX XXXXXXXXXXXX YYWWNNN 28-Lead QFN MCP23016 -I/SS e3 0720017 Example: XXXXXXXX XXXXXXXX YYWWNNN MCP23016 -I/ML e3 0710017 Legend: XX...
MCP23016 28-Lead Skinny Plastic Dual In-Line (SP) – 300 mil Body [SPDIP] Note: For the most current package drawings, please see the Microchip Packaging Specification located at http://www.microchip.com/packaging N NOTE 1 E1 1 2 3 D E A2 A L c b1 A1 b e eB Units Dimension Limits Number of Pins INCHES MIN N Pitch e Top to Seating Plane A NOM MAX 28 .100 BSC – – .200 Molded Package Thickness A2 .120 .135 .150 Base to Seating Plane A1 .015 – – Shoulder to Shoulder Width E .
MCP23016 28-Lead Plastic Small Outline (SO) – Wide, 7.50 mm Body [SOIC] Note: For the most current package drawings, please see the Microchip Packaging Specification located at http://www.microchip.com/packaging D N E E1 NOTE 1 1 2 3 b e h α A2 A h c φ L A1 Units Dimension Limits Number of Pins β L1 MILLMETERS MIN N NOM MAX 28 Pitch e Overall Height A – 1.27 BSC – Molded Package Thickness A2 2.05 – – Standoff § A1 0.10 – 0.30 Overall Width E Molded Package Width E1 7.
MCP23016 28-Lead Plastic Shrink Small Outline (SS) – 5.30 mm Body [SSOP] Note: For the most current package drawings, please see the Microchip Packaging Specification located at http://www.microchip.com/packaging D N E E1 1 2 NOTE 1 b e c A2 A φ A1 L L1 Units Dimension Limits Number of Pins MILLIMETERS MIN N Pitch e Overall Height A NOM MAX 28 0.65 BSC – – 2.00 1.85 Molded Package Thickness A2 1.65 1.75 Standoff A1 0.05 – – Overall Width E 7.40 7.80 8.
MCP23016 28-Lead Plastic Quad Flat, No Lead Package (ML) – 6x6 mm Body [QFN] with 0.55 mm Contact Length Note: For the most current package drawings, please see the Microchip Packaging Specification located at http://www.microchip.com/packaging D D2 EXPOSED PAD e E b E2 2 2 1 1 N K N NOTE 1 L BOTTOM VIEW TOP VIEW A A3 A1 Units Dimension Limits Number of Pins MILLIMETERS MIN N NOM MAX 28 Pitch e Overall Height A 0.80 0.65 BSC 0.90 1.00 Standoff A1 0.00 0.02 0.
MCP23016 NOTES: DS20090C-page 32 © 2007 Microchip Technology Inc.
MCP23016 APPENDIX A: REVISION HISTORY Revision A (December 2002) Original data sheet for MCP23016 device. Revision B (September 2003) 1. 2. Addition of Output Low Voltage section to Table 2-1 in Electrical Characteristics. Addition of Output High Voltage section to Table 2-1 in Electrical Characteristics. Revision C (January 2007) This revision includes updates to the packaging diagrams. © 2007 Microchip Technology Inc.
MCP23016 NOTES: DS20090C-page 34 © 2007 Microchip Technology Inc.
MCP23016 PRODUCT IDENTIFICATION SYSTEM To order or obtain information (e.g., on pricing or delivery) refer to the factory or the listed sales office. PART NO. X /XX Device Temperature Range Package Device: DSTEMP: 16-Bit I2C I/O Expander Temperature Range: I = -40°C to +85°C Package: SP SO SS ML = = = = Examples: a) DSTEMP-I/P: a) DSTEMP-I/SO: a) DSTEMP-I/SS: a) DSTEMP-I/ML: Industrial Temperature, PDIP package. Industrial Temperature, SOIC package. Industrial Temperature, SOIC package.
MCP23016 NOTES: DS20090C-page 36 © 2007 Microchip Technology Inc.
Note the following details of the code protection feature on Microchip devices: • Microchip products meet the specification contained in their particular Microchip Data Sheet. • Microchip believes that its family of products is one of the most secure families of its kind on the market today, when used in the intended manner and under normal conditions. • There are dishonest and possibly illegal methods used to breach the code protection feature.
WORLDWIDE SALES AND SERVICE AMERICAS ASIA/PACIFIC ASIA/PACIFIC EUROPE Corporate Office 2355 West Chandler Blvd. Chandler, AZ 85224-6199 Tel: 480-792-7200 Fax: 480-792-7277 Technical Support: http://support.microchip.com Web Address: www.microchip.