查阅了相关的资料,再稍微总结了下。权当是复习了。
一 定义:
I2C(Inter-Integrated circuit bus),是由飞利浦philip公司开发的串行总线,用于连接微控制器及其外围设备,是微电子通信控制领域广泛采用的一种总线标准。由一根数据线(SDA)和一根时钟线(SCL)组成。
SCL:串行时钟线
SDA:串行数据线
二 时序
1 起始,停止信号:当SCK为高电平时,SDA由高到底的变化,作为起始信号,
当SCK为高电平时,SDA由底到高的变化,作为停止信号,
2 数据可改变:当SCK为低电平时,SDA才可改变(因为在SCK为高电平时采集),否则为起始或者停止信号。
3 应答:主机写从机时,每发送完后一个字节后释放SDA(作为输入,上拉为高),如果正确,从机要在下一个时钟将SDA拉低作为应答,从机发完一个字节后(写),主机也要拉低作为应答(注:如果是读数据,读完从机最后一个字节后,不发应答给从机,直接发停止信号)。
4什么数据:LSB为0,表示主机写,为1表示主机读。
过程:
1 主机发出开始信号。
2 主机接着送出1字节的从机地址信息,其中最低位为读写控制码(0为写、1为读),高7位为从机器件地址代码。
3 从机发出认可信号。
4 主机开始发送信息,每发完一字节后,从机发出认可信号给主机。
5 主机发出停止信号
三 特点
1 只有两条线
2 I2C数据从MSB开始传输。
3 允许多主机多从机,数据传输可以通过冲突检测和仲裁放置数据被破坏。
4 发送到SDA 线上的每个字节必须为8 位,每次传输可以发送的字节数量不受限制
5 速度范围 标准模式100kbit/s
快速模式400kbit/s
高速模式3.4Mbit/s
6 每个 I²C 器件都拥有一个独一无二的 7-bit I²C 地址(4个固定(MSB),3个可改),3个可改,故可以有8个相同型式的器件。