I2C详解(一)

article/2025/11/7 2:27:02

I2C Bus(Inter-Integrated Circuit Bus) 最早是由Philips半导体(现被NXP收购)开发的两线时串行总线,常用于微控制器与外设之间的连接。要想了解详细I2C协议,目前最新的I2C标准协议是2014年第6版本,如下:
I2C-Bus Standards Specification


硬件连接

I2C仅需两根线就可以支持一主多从或者多主连接,I2C使用两个双向开漏线,配合上拉电阻进行连接,关于上拉电阻阻值大小有最大值和最小值的限制,具体计算请参考 I2C-上拉电阻计算

  • SDA:串行数据线
  • SCL:串行时钟线

在这里插入图片描述

在这里插入图片描述

  • 硬件拉低(Open-Drain Pulling Low)

下图代表了总线电平拉低过程,当总线要传输低电平’0’时,Logic会控制FET使其导通VBUS总线连接到地,将总线拉低,注意在快速模式下最大的灌电流不超过3mA,这限制了上拉电阻的最小值。

在这里插入图片描述

  • 硬件拉高(Open-Drain Releasing Bus)

下图代表了总线电平高电平过程,当总线要传输高电平’1’时,Logic会控制FET使其关断VBUS总线上拉到电源,将总线拉高。

在这里插入图片描述


软件通讯协议

I2C是串行传输总线,按照下面格式进行一位一位传输。协议如下:
在这里插入图片描述


总线速度

双向传输总线:

  • 标准模式(Standard-mode):速率高达100kbit/s
  • 快速模式(Fast-mode):速率高达400kbit/s
  • 快速模式+(Fast-mode Plus):速率高达1Mbit/s。
  • 高速模式(High-speed mode):速率高达3.4Mbit/s

单向传输总线:

  • 超快速模式(Ultra Fast-mode):速率高达5Mbit/s

起始和停止条件及重复起始条件(START and STOP conditions and Repeated start condition):
起始和终止条件都是由主机(master)发起产生。总线在起始条件之后处于忙碌状态,在停止条件之后又处于空闲状态。

  • 起始条件:SCL线是高电平时,SDA线从高电平向低电平切换。
  • 停止条件:SCL线是高电平时,SDA线从低电平向高电平切换。
  • 重复起始条件:和起始条件相似,重复起始条件发生在停止条件之前。主机想继续给从机发送消息时,一个字节传输完成后可以发送重复起始条件,而不是产生停止条件。
    在这里插入图片描述

字节格式
SDA数据线上的每个字节必须是8位,每次传输的字节数量没有限制。每个字节后必须跟一个响应位(ACK)。首先传输的数据是最高位(MSB),SDA上的数据必须在SCL高电平周期时保持稳定,数据的高低电平翻转变化发生在SCL低电平时期。
在这里插入图片描述
以传输Byte:1010 1010 (0xAAh)为例,SDA SCL传输时序如下所示:
在这里插入图片描述


响应ACK(Acknowledge)和非响应NACK(Not Acknowledge)
每个字节传输必须带响应位,相关的响应时钟也由主机产生,在响应的时钟脉冲期间(第9个时钟周期),发送端释放SDA线,接收端把SDA拉低。以上图传输101010101为例,SCL第9位时钟高电平信号期间,SDA拉低其代表了有ACK响应位。
当在SCL第9位时钟高电平信号期间,SDA仍然保持高电平,这种情况定义为NACK非响应位。这种情况下,主机可以直接产生STOP条件终止以后的传输或者继续重新START开始一个新的传输。以下情况会导致出现NACK位:

  • 接收机没有发送机响应的地址,接收端没有任何ACK发送给发射机
  • 由于接收机正在忙碌处理实时程序导致接无法接收或者发送
  • 传输过程中,接收机识别不了发送机的数据或命令
  • 接收机无法接收
  • 主机接收完成读取数据后,要发送NACK结束告知从机
    以下图例代表NACK时序:
    在这里插入图片描述

7-bit 地址格式和读写位
一个7-bit的地址是从最高位(MSB) 开始发送的,这个地址后面会紧跟1-bit(R/W)的操作符,1表示读操作,0表示写操作。 接下来的一个bit是NACK/ACK,当这个帧中前面8 bit发送完后,接收端的设备获得SDA控制权,此时接收设备应该在第9个时钟脉冲之前回复一个ACK(将SDA拉低)以表示接收正常,如果接收设备没有将SDA拉低,则说明接收设备可能没有收到数据(如寻址的设备不存在或设备忙)或无法解析收到的消息,如果是这样,则由master来决定如何处理(stop或repeated start condition)。

在这里插入图片描述


http://chatgpt.dhexx.cn/article/fOshGqlC.shtml

相关文章

I2C详细介绍

1、I2C总线具有两根双向信号线,一根是数据线SDA,另一根是时钟线SCL 2、IIC总线上可以挂很多设备:多个主设备,多个从设备(外围 设备)。上图中主设备是两个单片机,剩下的都是从设备。 3、多主机…

OLED显示屏I2C接口

简介 本文将介绍两种不同尺寸的OLED显示屏:0.96寸和0.91寸。他们都是4引脚I2C接口的,如下图所示: 注:经过项目测试发现,本文介绍的驱动方式和代码也完全适用于 1.54寸SSD1309主控的1.54寸OLED和1.29寸CH1115主控的OLE…

关于I2C接口的介绍

I 2C:Inter-Integrated Circuit 内部集成电路,应该翻译为集成电路总线,IC的正确读法为“I方C”。 这种通信协议由Philip最早提出,一种由数据线SDA和时钟线SCL两根信号线组成的串行通信总线,具体规范可以在NXP网站找到v2.1。不像UART没有CLOCK线,不能实现同步,I2C和SPI都…

【原创】【I2C】I2C介绍

一、这是个什么玩意 I2C首先它也是一个通信接口,同理通信接口就是用于模块之间的通信的,同SPI接口学习思路一样,首先明白它是一个接口,然后再扣它是一个怎么样的接口。 I2C(Inter-Integrated Circuit)总线是由Philips公…

I2C接口

一、I2C总线协议内容 1. I2C总线引脚定义 SDA (I2C数据引脚) CLK (I2C数据引脚) 2. I2C总线物理连接 I2C总线物理连接如下图所示,SDA和CLK连接线上连有两个上拉电阻,当总线空闲时,两根线均为高电平。连到总线上的任一器件输出的低电平&am…

“如何成为阿里云P8架构师?“ ”当然是考取阿里云新版ACE认证啊”

**简介:**阿里云新版云计算架构师ACE认证全面重构上线!为建立云计算生态领域含金量第一的专家级人才标准和认证体系,影响泛云生态高层次技术人才,阿里云历时一年,组织近百位专家,对云计算架构师ACE认证进行…

阿里云认证(ACA/ACP/ACE)的分类以及官网价格

阿里云认证分类: 阿里云认证分为三个等级,分别为初级(ACA)、中级(ACP)、高级(ACE) 下面还有很多的子分类 在子分类中,云计算是认证中最受欢迎的,无论是ACA云计算,还是ACP云计算,都…

阿里云ACA、ACP、ACE认证考试区别,报名入口及模拟试题分享

阿里云认证考试包含ACA、ACP、ACE三种认证类型,是阿里云针对不同产品类别、用户成长阶段、生态岗位,精心打造不同的认证考试。获得阿里云认证考试证书能够基于阿里云产品解决实际问题。获得更多阿里云生态下的就业机会。 助理工程师(ACA&…

成为阿里云架构师的进阶之路——阿里云首批ACE认证通过者逸疏专访

自2018年3月阿里云发布云计算架构师ACE(Alibaba Cloud Certified Expert,阿里云认证高级工程师)级别认证后,上线不到3个月,吸引了近百位业界优秀从业者参与考试。获得阿里云ACE认证,对于业界资深架构师来说,是自身实力的最好证明。 阿里云大学致力于培养云生态链路上的…

阿里云P8架构师|历时4个月1次通关ACE认证

李东是我在阿里云厂商这边了解到第一个自学通过ACE认证P8架构师,现将他学习考证记录分享给大家 写在前面: 我是来自阿里云数字政府行业线的解决方案架构师李东。 2022年3月28日阿里云发布了新版ACE(Alibaba Cloud Certified Expert - Cloud…

阿里云新版云计算架构师ACE认证专家解读会重磅来袭

简介:专家命题人非常解读 9600元全额代金券限量发放!活动钉群:31889256。 3月28日,阿里云新版云计算架构师ACE认证正式升级发布,面向云架构师、解决方案架构师、资深运维/交付等人群,提供技术能力认证。自升…

通过新版阿里ACE认证,实验操作题你来解一下

大家都知道了哈,阿里云新版ACE认证,现在是云认证界的塔尖位置,因为要成功拿到新版ACE认证,需要破关斩将,三个守门的将,分别是笔试,实验操作,以及面试 1,笔试 相对实验操…

为什么我不建议在阿里云官网报考ACP/ACE认证?

考acp的时候刚开始以为直接在阿里云官网寻找课程备考报名就可以了,官方提供的课程应该没有问题,但是实际学习的时候发现,官方提供的内容虽然涵盖了大部分知识点,但是由于缺少对应的学习服务,学习效果上总是差强人意。 除了学习效果意外,再就是两个更重要的原因,贵且麻烦…

阿里云ACA、ACP、ACE认证考试常见问题

阿里云专业技术认证包含: 阿里云Apsara Clouder技能认证 阿里云助理工程师认证ACA级别(Alibaba Cloud Certified Associate) 阿里云专业工程师认证ACP级别(Alibaba Cloud Certified Professional) 阿里云基于岗位的…

阿里云的ACP认证与ACE认证含金量高吗?

该文章详细的介绍了阿里云认证。 云计算ACP认证介绍: 阿里云云计算专业认证(ACP 级-Alibaba Cloud Certification Professional)是面向使用阿里云云计算产品的架构、开发、运维类人员的专 业技术认证,主要涉及阿里云的计算、存储、网络、安全类的核心…

阿里云认证未来网络学院ACE公开课——30分钟掌握ACE考试通关攻略

简介:新版ACE通关攻略,这4点经验,帮你斩获高分!入群即赠价值3000元ACP全套线上课资料包!公开课钉群:44832770。 新版ACE通关攻略,这4点经验,帮你斩获高分 阿里云云计算架构师 ACE 认…

技能证里的天花板-阿里云云计算架构师ACE认证将全面升级!

近年来,随着国内数字化实践的不断深化,中国企业上云意识和积极性明显提高,上云比例和应用场景深度有所提升。根据亿欧智库2022年2月发布的《2021中国公有云服务商能力指数研究报告》指出:随着数字经济和新技术的发展,预…

阿里云ACE认证介绍

01-阿里云ACE认证概述 阿里云云计算架构师ACE认证是针对云架构师,解决方案架构师,云运维专家等技术人员的阿里云高级别技术认证。 通过该技术认证可以有效证明该认证人员具备丰富的需求分析能力,云架构设计能力,云架构部署实施能…

运营商大数据中建模到底是什么意义?

建模字面意思不难理解,就是通过不同企业的特殊需求来建立不同的数据采集模型!前面我们说过运营商大数据具备T1的时效性和超前的准确性,之所以它具备这两点特性完全是因为运营商大数据的建模方式! 第一种建模方式:网址和…

三网运营商大数据如何实现精准获客,稳定客户资源获取平台

在过去,对众多企业来说,销售获客的方法大多是来自于一些地推或者电话营销,然而在如今的时代,人们在线上获客已经成为常态,让获客的方式也有了更多的可能性,企业想在激烈的竞争中突出重围,就需要…