[I2C]I2C通信协议详解(一) --- 什么是I2C

I2C总线是一种两线串行接口,由Philips公司开发,用于设备间的简单通信。它支持多种速率模式,如标准、快速、高速和超快模式。I2C协议包括起始、停止、应答和非应答信号,以及主/从设备架构。从设备只有在被主设备寻址时才会响应。数据传输涉及地址字节、数据位和应答/非应答机制。I2C还支持10位地址模式以增加设备数量。此外,协议允许组合读写操作和与多个设备交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[I2C]I2C通信协议详解(一) --- 什么是I2C

       摘要:内部集成电路()I2C(Inter-Integrated Circuit)总线是一种两线串行接口,最初由菲利普斯公司开发,用于消费产品。 它是一种双向总线,可在任何 IC 工艺(NMOS、CMOS、双极)中轻松实现,并允许简单的 IC 间通信。 通过使用串行数据线 (SDA)、串行时钟线 (SCL) 和公共地线来承载所有通信,可以最大限度地减少连接。 I2C 已获得广泛认可,甚至已作为 I2C 子集的系统管理总线 (SMBus) 的原型。它是由Philips(飞利浦)公司,现NXP(恩智浦)半导体开发的一种简单的双向两线制总线协议标准。I2C的基本参数:

       I2C协议可以工作在以下5种速率模式下,不同的器件可能支持不同的速率(bps:bit/s,即SCL的频率)。其中超快模式是单向数据传输,通常用于LED、LCD等不需要应答的器件,和正常的I2C操作时序类似,但是只进行写数据,不需要考虑ACK应答信号。

  • 标准模式(Standard):100kbps
  • 快速模式(Fast):400kbps
  • 快速模式+(Fast-Plus):1Mbps
  • 高速模式(High-speed):3.4Mbps
  • 超快模式(Ultra-Fast):5Mbps(单向传输)

       I2C协议最基础的4种信号,分别是:起始、停止、应答和非应答信号。SCL处于高电平时,SDA由高到低变化,这种信号是起始信号。SCL处于高电平,SDA由低到高变化,这种信号是停止信号。数据的采样发生在SCL高电平期间,除了起始和停止信号,在数据传输期间,SCL为高电平时,SDA必须保持稳定,不允许改变,在SCL低电平时才可以进行变化。

       I2C最大的一个特点就是有完善的应答机制,从机接收到主机的数据时,会回复一个应答信号来通知主机表示“我收到了”。应答信号出现在1个字节传输完成之后,即第9个SCL时钟周期内此时主机需要释放SDA总线,把总线控制权交给从机,由于上拉电阻的作用,此时总线为高电平,如果从机正确的收到了主机发来的数据,会把SDA拉低,表示应答响应。

一、设计

       I2C 通信协议遵循主/从层次结构,其中主设备定义为为总线提供时钟、寻址从设备以及向从设备中的寄存器写入或读取数据的设备。 从设备是仅在主设备通过其唯一地址询问时才做出响应的设备。 因此,必须避免从站之间的地址重复。 从站从不启动数据传输。

       I2C 总线仅使用两条双向线,串行数据线 (SDA) 和串行时钟线 (SCL)。 I2C 兼容设备通过集电极开路或漏极开路引脚连接到总线,这些引脚将线路拉低。 当I2C没有数据传输时,总线处于HIGH状态空闲; 线被被动拉高。

       通过拉

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

元直数字电路验证

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值