MCP23008/MCP23S08
8位I / O扩展器,串行接口
特点
8位远程双向I / O口
- I / O引脚默认为输入
高速I
2
C接口( MCP23008 )
- 100千赫
- 400千赫
- 1.7兆赫
高速SPI接口( MCP23S08 )
- 10 MHz的
硬件地址引脚
- 三为MCP23008 ,以允许多达8个
在总线上的设备
- 两个为MCP23S08允许最多四个
使用相同的设备的片选
可配置的中断输出引脚
- 可配置为高电平有效,低电平有效或
漏极开路
可配置的中断源
- 中断电平变化的默认配置
或引脚变化
极性反转寄存器来配置极性
输入端口的数据
外部复位输入
低待机电流: 1 μA (最大值)
工作电压:
- 1.8V至5.5V @ -40 ° C至+ 85°C (工业级温度)
- 2.7V至5.5V @ -40 ° C至+ 85°C (工业级温度)
- 4.5V至5.5V @ -40 ° C至+ 125°C (E -温度)
套餐
18引脚PDIP ( 300万)
18引脚SOIC ( 300万)
20引脚SSOP
20引脚QFN封装
框图
MCP23S08
SCK
SI
SO
MCP23008
SCL
SDA
MCP23S08
A1:A0
A2:A0
RESET
INT
打断
逻辑
8
V
DD
V
SS
POR
配置/
控制
注册
3
串行
接口
解码
控制
串行器/
解串器
GP0
GP1
GP2
GP3
GP4
GP5
GP6
GP7
8
GPIO
2007 Microchip的技术公司
DS21919D第1页
MCP23008/MCP23S08
1.0
设备概述
该MCP23X08器件提供8位,一般
目的,并行I / O扩展的I
2
C总线和SPI
应用程序。这两个装置中的数量不同
硬件地址引脚和串行接口:
MCP23008 - I
2
C接口;三个地址引脚
MCP23S08 - SPI接口;两个地址引脚
该MCP23X08由多个8位配置
注册为输入,输出和极性选择。该
系统主控制器可以使I / O作为输入或
通过写I / O配置位输出。数据
对于每个输入或输出被保持在相应的
输入或输出寄存器。输入端口的极性
寄存器可以与极性反转反转
注册。所有寄存器可以由系统主机读取。
中断输出可以被配置为激活
在两种条件下(互斥) :
1.
当任何输入状态与其
对应的输入端口寄存器状态,这是
用于指示到系统主那一个
输入状态发生了变化。
当输入状态和预配置
寄存器值( DEFVAL寄存器) 。
2.
中断捕捉寄存器捕捉端口值
该中断的时间,从而节省了条件
引起中断。
在上电复位( POR)设置寄存器进入
缺省值,并初始化器件状态机。
硬件地址引脚用于确定
设备地址。
1.1
引脚说明
引脚说明
PDIP /
SOIC
1
2
3
QFN
19
20
1
SSOP
1
2
3
针
TYPE
I
I / O
I / O
串行时钟输入。
串行数据I / O( MCP23008 ) /串行数据输入( MCP23S08 ) 。
硬件地址输入( MCP23008 ) /
串行数据输出( MCP23S08 ) 。
A2必须从外部偏置。
硬件地址输入。必须从外部偏置。
硬件地址输入。必须从外部偏置。
外部复位输入。必须从外部偏置。
无连接( MCP23008 ) /外部片选输入( MCP23S08 ) 。
中断输出。可以为高电平,低电平有效或可配置
漏极开路。
地面上。
双向I / O引脚。可以使能中断功能的变化及/或
内部弱上拉电阻。
双向I / O引脚。可以使能中断功能的变化及/或
内部弱上拉电阻。
双向I / O引脚。可以使能中断功能的变化及/或
内部弱上拉电阻。
双向I / O引脚。可以使能中断功能的变化及/或
内部弱上拉电阻。
双向I / O引脚。可以使能中断功能的变化及/或
内部弱上拉电阻。
双向I / O引脚。可以使能中断功能的变化及/或
内部弱上拉电阻。
双向I / O引脚。可以使能中断功能的变化及/或
内部弱上拉电阻。
双向I / O引脚。可以使能中断功能的变化及/或
内部弱上拉电阻。
力。
—
功能
表1-1:
针
名字
SCL / SCK
SDA / SI
A2/SO
A1
A0
RESET
NC / CS
INT
V
SS
GP0
GP1
GP2
GP3
GP4
GP5
GP6
GP7
V
DD
N / C
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
—
2
3
4
5
7
17
9
10
11
12
13
14
15
16
18
6, 8
4
5
6
7
8
9
12
13
14
15
16
17
18
19
20
10, 11
I
I
I
I
O
P
I / O
I / O
I / O
I / O
I / O
I / O
I / O
I / O
P
—
2007 Microchip的技术公司
DS21919D第5页
MCP23008/MCP23S08
8位I / O扩展器,串行接口
特点
8位远程双向I / O口
- I / O引脚默认为输入
高速I
2
C接口( MCP23008 )
- 100千赫
- 400千赫
- 1.7兆赫
高速SPI 接口( MCP23S08 )
- 10 MHz的
硬件地址引脚
- 三为MCP23008 ,以允许多达8个
在总线上的设备
- 两个为MCP23S08允许最多四个
使用相同的设备的片选
可配置的中断输出引脚
- 可配置为高电平有效,低电平有效或
漏极开路
可配置的中断源
- 中断电平变化的默认配置
或引脚变化
极性反转寄存器来配置极性
输入端口的数据
外部复位输入
低待机电流: 1 μA (最大值)
工作电压:
- 1.8V至5.5V @ -40 ° C至+ 85°C (工业级温度)
- 2.7V至5.5V @ -40 ° C至+ 85°C (工业级温度)
- 4.5V至5.5V @ -40 ° C至+ 125°C (E -温度)
封装类型
MCP23008
SCL
SDA
A2
A1
A0
RESET
NC
INT
V
SS
PDIP / SOIC
1
2
3
4
5
6
7
8
9
18
17
16
15
14
13
12
11
10
V
DD
GP7
GP6
GP5
GP4
GP3
GP2
GP1
GP0
SSOP
SCL
SDA
A2
A1
A0
RESET
NC
INT
V
SS
N / C
1
2
3
4
5
6
7
8
9
10
20
19
18
17
16
15
14
13
12
11
V
DD
GP7
GP6
GP5
GP4
GP3
GP2
GP1
GP0
N / C
MCP23S08
SCK
SI
SO
A1
A0
RESET
CS
INT
V
SS
PDIP / SOIC
1
2
3
4
5
6
7
8
9
18
17
16
15
14
13
12
11
10
V
DD
GP7
GP6
GP5
GP4
GP3
GP2
GP1
GP0
套餐
18引脚PDIP ( 300万)
18引脚SOIC ( 300万)
20引脚SSOP
SSOP
SCK
SI
SO
A1
A0
RESET
CS
INT
V
SS
N / C
1
2
3
4
5
6
7
8
9
10
20
19
18
17
16
15
14
13
12
11
V
DD
GP7
GP6
GP5
GP4
GP3
GP2
GP1
GP0
N / C
2005年Microchip的科技公司
MCP23S08
MCP23S08
MCP23008
MCP23008
DS21919B第1页
MCP23008/MCP23S08
1.0
设备概述
中断输出可以被配置为激活
在两种条件下(互斥) :
1.
当任何输入状态与其
对应的输入端口寄存器状态。这是
用于指示到系统主那一个
输入状态发生了变化。
当输入状态和预配置
寄存器值( DEFVAL寄存器) 。
该MCP23X08器件提供8位,一般
目的,并行I / O扩展的I
2
C总线和SPI
应用程序。这两个装置中的数量不同
硬件地址引脚和串行接口:
MCP23008 - I
2
C接口;三个地址引脚
MCP23S08 - SPI接口;两个地址引脚
该MCP23X08由多个8位配置
注册为输入,输出和极性选择。该
系统主控制器可以使I / O作为输入或
通过写I / O配置位输出。数据
对于每个输入或输出被保持在相应的
输入或输出寄存器。输入端口的极性
寄存器可以与极性反转反转
注册。所有寄存器可以由系统主机读取。
2.
中断捕捉寄存器捕捉端口值
该中断的时间,从而节省了条件
引起中断。
在上电复位( POR)设置寄存器进入
缺省值,并初始化器件状态机。
硬件地址引脚用于确定
设备地址。
1.1
引脚说明
引脚说明
功能
串行时钟输入。
串行数据I / O( MCP23008 ) /串行数据输入( MCP23S08 ) 。
硬件地址输入( MCP23008 ) /串行数据输出( MCP23S08 ) 。
A2必须从外部偏置。
硬件地址输入。必须从外部偏置。
硬件地址输入。必须从外部偏置。
外部复位输入
无连接( MCP23008 ) /外部片选输入( MCP23S08 ) 。
中断输出。可配置为高电平有效,低电平有效或开漏输出。
地面上。
双向I / O引脚。可以使能中断功能的变化和/或内部弱
上拉电阻。
双向I / O引脚。可以使能中断功能的变化和/或内部弱
上拉电阻。
双向I / O引脚。可以使能中断功能的变化和/或内部弱
上拉电阻。
双向I / O引脚。可以使能中断功能的变化和/或内部弱
上拉电阻。
双向I / O引脚。可以使能中断功能的变化和/或内部弱
上拉电阻。
双向I / O引脚。可以使能中断功能的变化和/或内部弱
上拉电阻。
双向I / O引脚。可以使能中断功能的变化和/或内部弱
上拉电阻。
双向I / O引脚。可以使能中断功能的变化和/或内部弱
上拉电阻。
力。
表1-1:
针
名字
SCL / SCK
SDA / SI
A2/SO
A1
A0
RESET
NC / CS
INT
V
SS
GP0
GP1
GP2
GP3
GP4
GP5
GP6
GP7
V
DD
N / C
PDIP / S
针
SSOP
伊斯兰会议组织
TYPE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
1
2
3
4
5
6
7
8
9
12
13
14
15
16
17
18
19
20
10, 11
I
I / O
I / O
I
I
I
I
O
P
I / O
I / O
I / O
I / O
I / O
I / O
I / O
I / O
P
2005年Microchip的科技公司
DS21919B第3页
MCP23008/MCP23S08
1.2
上电复位( POR )
1.3.2
1.3.2.1
I
2
C接口
I
2
写操作
片上电复位电路将器件保持在复位状态,直到
V
DD
已经达到了足够高的电压停用
POR电路(即释放复位装置) 。
最大V
DD
上升时间在指定
第2.0节
“电气特性” 。
当器件退出POR条件(发布
复位) ,器件的工作参数(即电压,
温度和串行总线频率等)必须满足
确保正确的操作。
在我
2
C写的操作包括控制字节和
寄存器地址序列,如图中的底部
图1-1 。此序列后面是8位的
从主站和应答(ACK )数据
在MCP23008 。操作结束以STOP
或由主机产生启动条件。
数据的每个字节后写入MCP23008
传输。如果停止或重新启动条件
在数据传输过程中产生的,该数据将不
写入MCP23008 。
字节写操作,并支持两种顺序写入
由MCP23008 。该MCP23008增加它的
数据在每个ACK后,地址计数器
传输。
1.3
串行接口
该功能块处理我的功能
2
C
( MCP23008 )或SPI ( MCP23S08 )接口协议。
该MCP23X08包含11个寄存器中,可以
通过串行接口块(表1-2 )中解决:
表1-2:
地址
00h
01h
02h
03h
04h
05h
06h
07h
08h
09h
0Ah
注册地址
访问:
IODIR
IPOL
GPINTEN
DEFVAL
INTCON
IOCON
GPPU
INTF
INTCAP (只读)
GPIO
OLAT
1.3.2.2
I
2
C读取操作
在我
2
C读取操作包括控制字节
序列,如图1-1所示的底部。这
序列后跟另一个控制字节( includ-
荷兰国际集团的启动条件和ACK )的R / W位
等于逻辑1( R / W =
1).
MCP23008随后会
发送包含在寻址寄存器中的数据。
该序列结束与主发电机一
停止或重新启动状态。
1.3.2.3
I
2
顺序写入/读取
1.3.1
顺序操作位
对于顺序操作(写或读) ,而不是
发射后,停止或重新启动条件
数据传输,主时钟的下一个字节指向
由地址指针(见
第1.3.1节“顺序
操作位“
关于顺序的详细信息
操作控制) 。
与主序列的结束发送一个STOP或
启动条件。
该MCP23008地址指针将翻转到
到达最后一个寄存器地址后,地址0。
参见图1-1 。
顺序操作( SEQOP )位( IOCON
寄存器)控制地址指针的操作。
地址指针可以被启用(默认值)
允许该地址指针自动递增
每个数据传输之后,或者它可以被禁用。
当
操作
in
顺序
模式
( IOCON.SEQOP =
0),
地址指针会
每个字节后自动递增到下一地址
计时。
当经营
字节模式
( IOCON.SEQOP =
1),
该MCP23X08不会增加它的地址
在数据传输过程中每个字节后计数器。这
给予持续读取同一地址的功能
通过提供额外时钟(无需额外的控制
个字节)。这对查询GPIO寄存器有用
数据的变化。
1.3.3
1.3.3.1
SPI 接口
SPI写操作
通过拉低CS开始的SPI写操作。该
写命令( R / W位清零从地址)
然后移入器件。在操作码之后是
一个地址和至少一个数据字节。
1.3.3.2
SPI读操作
通过拉低CS开始的SPI读操作。该
SPI读命令( R / W位设置从机地址)
然后移入器件。在操作码之后是
一个地址,与至少一个数据字节时钟
从设备中。
DS21919B第4页
2005年Microchip的科技公司
MCP23008/MCP23S08
图1-1:
S
- 启动
SR
- 重新开始
P
- 停止
w
- 写
SR
OP
R
D
OUT
....
D
IN
D
OUT
P
S
OP
W ADDR
D
IN
....
D
IN
P
MCP23008我
2
C器件协议
R
- 阅读
OP
ADDR
D
OUT
D
IN
- 设备操作码
- 设备地址
- 数据从
MCP23008
- 数据成
MCP23008
SR
P
OP
W
....
D
IN
P
S
OP
R
D
OUT
....
D
OUT
P
SR
OP
R
D
OUT
....
D
OUT
P
SR
OP
P
W
ADDR
D
IN
....
D
IN
P
字节顺序写入
字节
顺序
S
S
OP
OP
W
ADDR
D
IN
D
IN
....
P
D
IN
P
W ADDR
字节顺序读
字节
S
顺序
S
OP
OP
R
R
SR
SR
OP
OP
R
R
D
OUT
D
OUT
P
....
D
OUT
P
1.3.3.3
SPI顺序写入/读取
1.4
硬件地址译码器
对于顺序操作,而不是取消的,
装置通过提高CS ,主时钟的下一个字节
所指向的地址的指针。
该序列被拉高CS结束。
该MCP23S08地址指针将翻转到
到达最后一个寄存器地址后,地址0。
硬件地址引脚用于确定
设备地址。为了解决一个装置中,相应
荷兰国际集团的控制字节地址位必须与引脚匹配
状态。
MCP23008具有地址引脚A2 , A1和A0 。
MCP23S08具有地址引脚A1和A0 。
该引脚必须从外部偏置。
2005年Microchip的科技公司
DS21919B第5页