I2C协议介绍

来源:互联网 发布:php sendmail path 编辑:程序博客网 时间:2024/05/30 19:33
I2C协议介绍
    I2C总线,PHILIPS公司定义的协议,由两条总线组成,数据线和时钟线,作为串行总线的一种,因接口所需要的线较少,所以被广泛利用。

一、速率
最高速率:400Kbps。(如果使用硬件I2C接口,可以通过配置主设备控制器,选择速率模式)
普通速率:100Kbps。

二、设备地址

I2C设备之间要建立通信,主设备需要通过寻址,若从设备地址匹配主设备发出的地址,将会建立连接。从设备地址一般为7位,占据一个字节的高7位(A7:A1),最低位A0为读写位,1表示读,0表示写。

图1 地址信息


三、通信协议
1)起始信号S:
时钟信号SCL为高电平时,SDA信号由高电平变为低电平,起始信号由主设备发起。(图2所示)
2)停止信号P:
时钟信号SCL为高电平时,SDA信号由低电平变为高电平,停止信号由主设备发起。(图三所示)
3)应答信号ACK:
数据接收方发送,时钟信号SCL为高电平时,SDA信号保持低电平。
4)发送时序:如图4所示
a.Master发送起始信号;
b.发送地址信息;
c.发送数据。
5)数据发送顺序
从最高位到最低位发送(MSB--->LSB)。



图2 起始信号


图3 停止信号


图4 数据发送