IIC/I2C协议简介(图文)

一、IIC/I2C协议介绍

IIC(Inter-Integrated Circuit)是 IIC Bus 简称,中文叫集成电路总线。它是一种串行通信总线,使用多主从架构,由飞利浦公司在1980年代为了让主板、嵌入式系统或手机用以连接低速周边设备而发展。自2006年10月1日起,使用I²C协议已经不需要支付专利费,但制造商仍然需要付费以获取I²C从属设备地址。

I2C的正确读法为"I-squared-C" , 而"I-two-C"则是另一种错误但被广泛使用的读法, 在中国则多以"I方C"称之。

IIC是半双工通信方式。多个芯片可以连接到同一总线结构下,同时每个芯片都可以作为实时数据传输的控制源,但在任何时间点上只能有一个主控。IIC使用两根信号线进行通信:一根时钟线SCL,一根数据线SDA。

二、IIC 总线时序

1)空闲状态,时钟线(SCL)和数据线(SDA)默认高电平,表示总线是空闲状态。

2)起始信号,由主设备发起,SCL保持高电平,SDA由高电平跳变到低电平。

3)I停止信号,由主设备终止,SCL保持高电平,SDA由低电平跳变到高电平。

4)数据传送,在SCL的每个时钟脉冲期间传输一个数据位,时钟信号SCL为高电平期间,数据线SDA上的数据必须保持稳定,只有在时钟线SCL上的信号为低电平期间,数据线SDA上的高电平或低电平状态才允许变化。

5)应答信号(ACK:有效应答,NACK:无效应答),接收端收到有效数据后向对方响应的信号,发送端每发送一个字节(8位)数据,在第9个时钟周期释放数据线去接收对方的应答。当SDA是低电平为有效应答(ACK),表示对方接收成功;当SDA是高电平为无效应答(NACK),表示对方没有接收成功。

三、数据传输的完整流程

1、主设备给从设备发送/写入数据:

1) 主设备发送起始(START)信号

2)主设备发送设备地址到从设备

3)等待从设备响应(ACK)

4)主设备发送数据到从设备,一般发送的每个字节数据后会跟着等待接收来自从设备的响应(ACK)

5)数据发送完毕,主设备发送停止(STOP)信号终止传输

2、主设备从从设备接收/读取数据

1)设备发送起始(START)信号

2)主设备发送设备地址到从设备

3)等待从设备响应(ACK)

4)主设备接收来自从设备的数据,一般接收的每个字节数据后会跟着向从设备发送一个响应(ACK)

5)一般接收到最后一个数据后会发送一个无效响应(NACK),然后主设备发送停止(STOP)信号终止传输

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值