您的位置:首页 > 其它

I2C笔记

2016-04-21 01:16 316 查看
I2C接口原理图:





可以看到只有两条线被引出,

一条为SCL:时钟线

一条为SDA:数据线

I2C总线设备互联:



I2C总线的信号类型:



开始信号:

比如:2440让时钟线保持高电平,然后让数据线由高电平转换为低电平,这就表示一个开始信号。

停止信号:

比如:2440让时钟线保持高电平,然后让数据线由低电平转换为高电平,这就表示一个停止信号。

响应信号:

在I2C总线上面的设备接受到8位数据后,在第9个周期,拉低数据线

也就是释放数据线

应答信号:



也就是说连接在I2C总线上面的设备,只会在时钟线处于高电平的时候才会去接受数据,且每次只能接受一位的数据,并且需要保持平稳的数据,如果数据线要切换数据,必须在时钟线为低电平的时候

I2C总线的数据传输格式:



数据线每次传送必须为8个位,也就是一个字节,传输的总字节数是不限制的,但是没传送一个字节,需要发送一个响应位,且数据是从高字节开始传送的

在开启一个传输时,是如何在总线上找到对应的设备的呢?

首先,主机发送一个S信号,其中包括:



S:start开始信号

7位从机数据:可以最多表示2的7次方(128)个设备

R(1):指对方的数据,读取数据到目标



W(0):表示发送数据,写数据到目标



A:也就是当遇到对于的7位的从机设备,则发送一个ACK信号,在第9位将数据线拉低

上面的协议只是一个例子,具体协议,要根据对于的I2C文档查看协议
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: