I2C协议笔记

       I2C总线协议是一种芯片间信息交换的低速串行协议,广泛用于各种对速度要求不高,同时希望引脚较少的AD/DA、存储芯片等。

IIC总线协议的特点如下:

(1)只有时钟(SCL)和数据(SDA)两根线。

(2)工作在100kb/s、400kb/s、1Mb/s和3.4Mb/s速度不高。由于IIC自带时钟,所以工作频率不用特别准确。

(3)总线上可以接多个主机器件和多个从机器件,每个从机器件有唯一的地址。

(4)半双工传输。(UART和SPI全双工,有两根数据线,发送和接收线)

(5)总线可挂的最大主机/从机数量,只受总线上总负载电容(400pF)的限制。

(6)SCL/SDA需要接上拉电阻。

IIC器件的地址分为7位和10位。


I2C协议笔记_第1张图片
图1   IIC发送start和stop命令  

       当SCL为高电平时,SDA的上升/下降沿表明传输的是命令;当时钟信号SCL为低电平时,SDA的上升/下降沿表明传输的是数据。

I2C协议笔记_第2张图片
IIC发送数据

       所有的数据都是在时钟SCL为低电平时变化,在SCL为高电平时采样数据。每次发送8+1个bit。前8bit是发送端(主机或者从机)发送的数据,高位先发,第9bit时接收端反馈的响应信号,第9bit为低电平(ACK)表明接收端收到了前面发送的8bit数据,第9bit为高电平(NACK)表明没有正确接收前8bit。

I2C协议笔记_第3张图片
I2C协议笔记_第4张图片

你可能感兴趣的:(I2C协议笔记)