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位。


图1   IIC发送start和stop命令  

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

IIC发送数据

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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容