MCP23009
MCP23009
Block Diagram
MCP23S09
CS
SCK
SI
SPI
SO
MCP23009
SCL Serializer/
I2C™ Deserializer GP0
SDA
GP1
RESET GP2
8
GPIO GP3
INT GP4
Control
GP5
Multi-Bit
ADDR GP6
Decode
GP7
8
Configuration/
Control
Registers
GP7
GP6
GP5
GP4
VDD 1 18 VSS VDD 1 20 VSS
NC 2 17 NC NC 2 19 NC
16 15 14 13
SCL NC SCL 3 18 NC
3 16 VSS 1 12 GP3
SDA 4 17 GP7
SDA 4 15 GP7 NC 2 EP 11 GP2 ADDR 5 GP6
16
ADDR 5 14 GP6 17
VDD 3 10 GP1 RESET 6 15 GP5
RESET 6 13 GP5
SCL 4 9 GP0 INT 7 14 GP4
INT 7 12 GP4 GP0
5 6 7 8 8 13 GP3
GP0 8 11 GP3 GP1 9 GP2
ADDR
RESET
INT
SDA
12
GP1 9 10 GP2 NC 10 11 NC
MCP23S09 MCP23S09
PDIP/SOIC 3 x 3 QFN*
GP7
GP6
GP5
GP4
VDD 1 18 VSS
NC 2 17 NC 16 15 14 13
CS 3 16 GP7 VSS 1 12 GP3
SCK 4 15 GP6 SCK 2 11 GP2
EP
SI 5 14 GP5 17
VDD 3 10 GP1
SO 6 13 GP4
CS 4 9 GP0
RESET 7 12 GP3
5 6 7 8
INT 8 11 GP2
SI
SO
RESET
INT
GP0 9 10 GP1
* Includes Exposed Thermal Pad (EP); see Tables 1-1 and 1-2.
Legend:
S - Start
OP - Device opcode
SR - Restart
ADDR - Device address
P - Stop
DOUT - Data out from MCP23009
W - Write
DIN - Data in to MCP23009
R - Read
VDD VDD
ADDR MCP23009 Only
A0
R1 A1
A2
V2
R2
VSS
VSS
Assume:
n = A2, A1, A0 in opcode
ratio = R2/(R1+R2)
V2 = voltage on ADDR pin
V2(min) = V2 – (VDD/8) x %tolerance
V2(max) = V2 + (VDD/8) x %tolerance
VDD
ADDR
adc_en
VSS
tADEN
VDD
tADDRLAT
adc_en
i2c_addr[2:0]
tADDIS
i2c_clk
CS
Control Byte
0 1 0 0 0 0 0 R/W
Slave Address
R/W bit
R/W = 0 = write
R/W = 1 = read
S 0 1 0 0 A2 A1 A0 0 ACK A7 A6 A5 A4 A3 A2 A1 A0 ACK
R/W = 0
Device Opcode Register Address
CS
0 1 0 0 0 0 0 R/W A7 A6 A5 A4 A3 A2 A1 A0
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
-n = Value at POR ‘1’ = Bit is set ‘0’ = Bit is cleared x = Bit is unknown
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
-n = Value at POR ‘1’ = Bit is set ‘0’ = Bit is cleared x = Bit is unknown
bit 7-0 IP<7:0>: Controls the polarity inversion of the input pins <7:0>
1 = GPIO register bit will reflect the opposite logic state of the input pin
0 = GPIO register bit will reflect the same logic state of the input pin
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
-n = Value at POR ‘1’ = Bit is set ‘0’ = Bit is cleared x = Bit is unknown
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
-n = Value at POR ‘1’ = Bit is set ‘0’ = Bit is cleared x = Bit is unknown
bit 7-0 DEF<7:0>: Sets the compare value for pins configured for Interrupt-on-Change from defaults <7:0>.
Refer to the INTCON register.
If the associated pin level is the opposite from the register bit, an Interrupt occurs.
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
-n = Value at POR ‘1’ = Bit is set ‘0’ = Bit is cleared x = Bit is unknown
bit 7-0 IOC<7:0>: Controls how the associated pin value is compared for Interrupt-on-Change <7:0>.
1 = Pin value is compared against the associated bit in the DEFVAL register
0 = Pin value is compared against the previous pin value
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
-n = Value at POR ‘1’ = Bit is set ‘0’ = Bit is cleared x = Bit is unknown
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
-n = Value at POR ‘1’ = Bit is set ‘0’ = Bit is cleared x = Bit is unknown
bit 7-0 PU<7:0>: Controls the internal pull-up resistors on each pin (when configured as an input or output)
<7:0>.
1 = Pull-Up enabled
0 = Pull-Up disabled
FIGURE 1-10: TYPICAL PERFORMANCE CURVE FOR THE INTERNAL PULL-UP RESISTORS
GPIO Pin Internal Pull-Up Current vs. VDD
400
350
T = -40°C
300
250
IPU (µA)
T = +25°C
200
150
T = +125°C
100
T = +85°C
50
0
1.5 2 2.5 3 3.5 4 4.5 5 5.5
VDD (V)
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
-n = Value at POR ‘1’ = Bit is set ‘0’ = Bit is cleared x = Bit is unknown
bit 7-0 INT<7:0>: Reflects the interrupt condition on the port. Will reflect the change only if interrupts are
enabled (GPINTEN) <7:0>.
1 = Pin caused Interrupt
0 = Interrupt not pending
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
-n = Value at POR ‘1’ = Bit is set ‘0’ = Bit is cleared x = Bit is unknown
bit 7-0 ICP<7:0>: Reflects the logic level on the port pins at the time of Interrupt due to pin change <7:0>.
1 = Logic-High
0 = Logic-Low
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
-n = Value at POR ‘1’ = Bit is set ‘0’ = Bit is cleared x = Bit is unknown
bit 7-0 GP<7:0>: Reflects the logic level on the pins <7:0>.
1 = Logic-High
0 = Logic-Low
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
-n = Value at POR ‘1’ = Bit is set ‘0’ = Bit is cleared x = Bit is unknown
bit 7-0 OL<7:0>: Reflects the logic level on the output latch <7:0>.
1 = Logic-High
0 = Logic-Low
X X X X X 1 X X
GP2
Port value
is captured Read GPIO
into INTCAP or INTCAP
(INT clears only if Interrupt
condition does not exist.)
† Notice: Stresses above those listed under “Absolute Maximum Ratings” may cause permanent damage
to the device. This is a stress rating only and functional operation of the device at those or any other
conditions above those indicated in the operation listings of this specification is not implied. Exposure to
maximum rating conditions for extended periods may affect device reliability.
VDD
Pin
1 k
SCL and 50 pF
SDA pin
MCP23009
135 pF
VDD
RESET
30 32
31
Internal
RESET
34
Output pin
SCL
SDA
In D1 D0
GPn
Output
Pin
51
INT
Pin
INT pin active INT pin
inactive
53
GPn
Input
Pin
52
Register
Loaded
40
VDD
41
adc_en
i2c_addr[2:0]
42
SCL
SCL
91 93
90 92
SDA
Start Stop
Condition Condition
Note 1: Refer to Figure 2-1 for load conditions.
3
CS
11
1 6 10
Mode 1,1 7 2
SCK Mode 0,0
4 5
SI
MSB in LSB in
SO high impedance
CS
2
8 9
SCK Mode 1,1
Mode 0,0
12
14
13
SO MSB out LSB out
don’t care
SI
FIGURE 2-9: TYPICAL PERFORMANCE CURVE FOR SPI TV SPECIFICATION (PARAM #12)
TV vs. VDD
40
35
30 T = +125°C
25
TV (ns)
T = +85°C
20 T = -40°C
15
10
T = +25°C
5
0
1.5 2 2.5 3 3.5 4 4.5 5 5.5
VDD (V)
2S9
EYWW E432
256
MCP23S09
E/P e
^^3
1432256
MCP23S09
e3
E/SO ^^
1432
256
MCP23009
E/SS e
^^3
1432256
Note: In the event the full Microchip part number cannot be marked on one line, it will
be carried over to the next line, thus limiting the number of available
characters for customer-specific information.
Note: For the most current package drawings, please see the Microchip Packaging Specification located at
http://www.microchip.com/packaging
Note: For the most current package drawings, please see the Microchip Packaging Specification located at
http://www.microchip.com/packaging
Note: For the most current package drawings, please see the Microchip Packaging Specification located at
http://www.microchip.com/packaging
/HDG3ODVWLF'XDO,Q/LQH 3 ±PLO%RG\>3',3@
1RWH )RUWKHPRVWFXUUHQWSDFNDJHGUDZLQJVSOHDVHVHHWKH0LFURFKLS3DFNDJLQJ6SHFLILFDWLRQORFDWHGDW
KWWSZZZPLFURFKLSFRPSDFNDJLQJ
NOTE 1
E1
1 2 3
D
A A2
L c
A1
b1
b e eB
8QLWV ,1&+(6
'LPHQVLRQ/LPLWV 0,1 120 0$;
1XPEHURI3LQV 1
3LWFK H %6&
7RSWR6HDWLQJ3ODQH $ ± ±
0ROGHG3DFNDJH7KLFNQHVV $
%DVHWR6HDWLQJ3ODQH $ ± ±
6KRXOGHUWR6KRXOGHU:LGWK (
0ROGHG3DFNDJH:LGWK (
2YHUDOO/HQJWK '
7LSWR6HDWLQJ3ODQH /
/HDG7KLFNQHVV F
8SSHU/HDG:LGWK E
/RZHU/HDG:LGWK E
2YHUDOO5RZ6SDFLQJ H% ± ±
1RWHV
3LQYLVXDOLQGH[IHDWXUHPD\YDU\EXWPXVWEHORFDWHGZLWKLQWKHKDWFKHGDUHD
6LJQLILFDQW&KDUDFWHULVWLF
'LPHQVLRQV'DQG(GRQRWLQFOXGHPROGIODVKRUSURWUXVLRQV0ROGIODVKRUSURWUXVLRQVVKDOOQRWH[FHHGSHUVLGH
'LPHQVLRQLQJDQGWROHUDQFLQJSHU$60(<0
%6& %DVLF'LPHQVLRQ7KHRUHWLFDOO\H[DFWYDOXHVKRZQZLWKRXWWROHUDQFHV
Note: For the most current package drawings, please see the Microchip Packaging Specification located at
http://www.microchip.com/packaging
Note: For the most current package drawings, please see the Microchip Packaging Specification located at
http://www.microchip.com/packaging
Note: For the most current package drawings, please see the Microchip Packaging Specification located at
http://www.microchip.com/packaging
/HDG3ODVWLF6KULQN6PDOO2XWOLQH 66 ±PP%RG\>6623@
1RWH )RUWKHPRVWFXUUHQWSDFNDJHGUDZLQJVSOHDVHVHHWKH0LFURFKLS3DFNDJLQJ6SHFLILFDWLRQORFDWHGDW
KWWSZZZPLFURFKLSFRPSDFNDJLQJ
D
N
E1
NOTE 1
1 2
e
b
c
A A2
φ
A1
L1 L
8QLWV 0,//,0(7(56
'LPHQVLRQ/LPLWV 0,1 120 0$;
1XPEHURI3LQV 1
3LWFK H %6&
2YHUDOO+HLJKW $ ± ±
0ROGHG3DFNDJH7KLFNQHVV $
6WDQGRII $ ± ±
2YHUDOO:LGWK (
0ROGHG3DFNDJH:LGWK (
2YHUDOO/HQJWK '
)RRW/HQJWK /
)RRWSULQW / 5()
/HDG7KLFNQHVV F ±
)RRW$QJOH
/HDG:LGWK E ±
1RWHV
3LQYLVXDOLQGH[IHDWXUHPD\YDU\EXWPXVWEHORFDWHGZLWKLQWKHKDWFKHGDUHD
'LPHQVLRQV'DQG(GRQRWLQFOXGHPROGIODVKRUSURWUXVLRQV0ROGIODVKRUSURWUXVLRQVVKDOOQRWH[FHHGPPSHUVLGH
'LPHQVLRQLQJDQGWROHUDQFLQJSHU$60(<0
%6& %DVLF'LPHQVLRQ7KHRUHWLFDOO\H[DFWYDOXHVKRZQZLWKRXWWROHUDQFHV
5() 5HIHUHQFH'LPHQVLRQXVXDOO\ZLWKRXWWROHUDQFHIRULQIRUPDWLRQSXUSRVHVRQO\
0LFURFKLS 7HFKQRORJ\ 'UDZLQJ &%
Note: For the most current package drawings, please see the Microchip Packaging Specification located at
http://www.microchip.com/packaging
• 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. All of these methods, to our
knowledge, require using the Microchip products in a manner outside the operating specifications contained in Microchip’s Data
Sheets. Most likely, the person doing so is engaged in theft of intellectual property.
• Microchip is willing to work with the customer who is concerned about the integrity of their code.
• Neither Microchip nor any other semiconductor manufacturer can guarantee the security of their code. Code protection does not
mean that we are guaranteeing the product as “unbreakable.”
Code protection is constantly evolving. We at Microchip are committed to continuously improving the code protection features of our
products. Attempts to break Microchip’s code protection feature may be a violation of the Digital Millennium Copyright Act. If such acts
allow unauthorized access to your software or other copyrighted work, you may have a right to sue for relief under that Act.
QUALITY MANAGEMENT SYSTEM Microchip received ISO/TS-16949:2009 certification for its worldwide
headquarters, design and wafer fabrication facilities in Chandler and
CERTIFIED BY DNV Tempe, Arizona; Gresham, Oregon and design centers in California
and India. The Company’s quality system processes and procedures
== ISO/TS 16949 ==
are for its PIC® MCUs and dsPIC® DSCs, KEELOQ® code hopping
devices, Serial EEPROMs, microperipherals, nonvolatile memory and
analog products. In addition, Microchip’s quality system for the design
and manufacture of development systems is ISO 9001:2000 certified.