在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1810|回复: 0

[接口] 数字接口——I2C 总线

[复制链接]
发表于 2012-6-19 14:05:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x

内置集成电路 (I2C) 总线是一种单端、多主控双线总线,适合在半双工模式下进行高效的内部集成电路通信。该总线使用漏极开路技术,因此通过电阻器连接到 VDD 时就需要两根信号线,分别为串行数据 (SDA) 线和串行时钟线 (SCL),如图 1 所示。


                               
登录/注册后可看大图

图 1 I2C 总线

将线路拉低至接地认为是逻辑 0,而使线路浮置则为逻辑 1。通常将这用作通道接入方式。当 SCL 为低电平时,必将发生逻辑状态变化;当 SSL 为高电平时,若发生变化则认为是 START 和 STOP 条件。尽管系统允许提供更高或更低的电压,但典型的电源电压为 3.3V 和 5V。

I2C 通信采用 7 位地址空间(具有 16 个预留地址),因此在同一总线上,理论上最多可以和 112 个节点通信。但实际上,节点数会受到总线上规定的总体总电容 (400 pF) 限制,从而将通信距离限制为几米。规定的信号传输速率为 100 kbit/s(标准模式)、400 kbit/s(快速模式)、1 Mbit/s(快速模式Plus,FM+)和 3.4 Mbit/s(高速模式)。

总线上的节点有主从之分。主节点负责发布时钟和从节点地址,并且还开始和结束数据处理。从节点负责接收时钟和地址,并响应来自主节点的请求。图 2 显示了主从节点之间典型的数据传送示例。


                               
登录/注册后可看大图

图 2 完整的数据传输时序图

主节点通过创建一个 START 条件发布一个数据处理,紧接着发布希望与其进行通信的从节点的 7 位地址。随后发送一个信号读写位,表示主节点是否愿意写入到从节点 (0) 或者自从节点读取 (1)。接下来,主节点将释放 SDA 线,以允许从节点对数据接收作出应答。

在第 9 个 SCL 时钟脉冲的整个高电平期间,从节点通过将 SDA 拉至低电平以回应一个应答位 (ACK),之后主节点一直处于传输或接收模式(根据发送的读写位而定),而从节点则一直处于对应的互补模式(分别为接收或传输)。

发送地址和 8 位数据字节时首先发送最高位 (MSB)。当 SCL 为高电平时,通过 SDA 由高电平向低电平跳变来指示 START 位。而当 SCL 为高电平时,则通过 SDA 由低电平向高电平跳变来产生 STOP 条件。

当主节点写入到从节点时,它会在从节点发送 ACK 位时重复发送一个字节。在这种情况下,主节点将处于主传输模式,而从节点则处于从接收模式。当主节点自从节点读取时,它会重复接收自从节点的字节,同时对每个字节的接收作出应答 (ACK),但最后一个字节除外,请参见图 3。这种情况下,主节点将处于主接收模式,而从节点则处于从传输模式。




详情点击
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-2-2 04:54 , Processed in 0.022598 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表