通俗易懂的I2C协议

article/2025/8/16 21:42:34

关注v-x-公-众-号:【嵌入式基地
后-台-回-复:【电赛】 即可获资料
回复【编程】即可获取
包括有:C、C++、C#、JAVA、Python、JavaScript、PHP、数据库、微信小程序、人工智能、嵌入式、Linux、Unix、QT、物联网、算法导论、大数据等资料

在这里插入图片描述

I2C总线是一种简单、双向二线制同步串行总线。
I2C通讯协议因其引脚少,硬件实现简单,可扩展性强,不需要USART、CAN等通讯协议的外部收发设备等优点,被广泛地使用在系统内多个集成电路(IC)间的通讯。

I2C由两根信号线完成信息交换,SCL为时钟信号线,SDA为数据输入/输出线。
I2C可支持多从机(Slaver),也可支持多主机模式(Master)。大部分I2C设备支持100kHz和400kHz模式,某些特殊应用也可以通过设计支持到3.4MHz。

I2C的简单应用主要包括I2C硬件连接I2C通信协议两方面的内容,本文以常见的通信方式做简单说明。

I2C硬件连接

如下图所示,在一个I2C通讯总线中,可连接多个I2C通讯设备,支持多个通讯主机及多个通讯从机。

  • SDA, SCL管脚及上拉电阻
  • 设备的SDA, SCL管脚采用OD门输出,不同设备间进行线与操作,即“与逻辑”。
  • SDA和SCL需要外接上拉电阻,根据总线上的I2C设备数量,系统的通信速度,设计选择不同的上拉电阻。I2C设备数量决定了总线上母线电容的大小,母线电容和上拉电阻限制了系统的通信速率。
  • 通常情况下,3.3V系统上拉电阻取3.3kΩ,5V系统上拉电阻取4.7kΩ。
  • 当I2C设备空闲时,会输出高阻态,而当所有设备都空闲,都输出高阻态时,由上拉电阻把总线拉成高电平。
多主机和多从机应用
  • 每个连接到总线的从机设备都有一个独立的地址,主机可以利用这个地址进行不同设备之间的访问。
  • 多个主机同时使用总线时,为了防止数据冲突,可以利用仲裁方式决定由哪个主机设备占用总线。

I2C通信协议

下图以一个主机(Master)给从机(Slaver)写一个字节的数据为例,说明I2C通信的基本协议。

  • 起始信号( S ):当SCL是高电平时,SDA从高电平向低电平切换。
  • 停止信号( P ):当SCL是高电平时,SDA由低电平向高电平切换。
  • 帧地址:每个从属设备唯一的7位或10位地址,用于主从设备之间的地址识别。I2C协议规定设备地址可以是7位或10位,实际中7位的地址应用比较广泛。
  • 读/写位:一位,如果主机是向从机发送数据则为低电平,请求数据则为高电平。
  • ACK/NACK:I2C的数据和地址传输都带响应。响应包括“应答(ACK)”和“非应答(NACK)”两种信号。ACK为低电平,NACK为高电平。
  • 数据有效: 数据传输时,SCL为高电平时,SDA的数据有效,即此时的SDA为高电平时表示数据“1”,为低电平时表示数据“0”;当SCL为低电平时,SDA的数据无效,一般在此时,对SDA进行电平切换。

    原文链接

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

相关文章

I2C 协议图文解析

转自:https://blog.csdn.net/EastonWoo/article/details/52712826 i2c协议注意几点就很好的使用它: 1)由一个主设备,一个或多个从设备组成,所有的信号发起都是由主设备发起,从设备根据这些信号做一些应答。…

I2C协议---I2C时序图解析

一、I2C协议简介 I2C 通讯协议(Inter-Integrated Circuit)是由 Phiilps 公司开发的,由于它引脚少,硬件实现简单,可扩展性强,不需要 USART、CAN 等通讯协议的外部收发设备,现在被广泛地 使用在系统内多个集成…

I2C协议——物理层和协议层

I2C协议简介 I2C 通讯协议(Inter-Integrated Circuit)是由Phiilps公司开发的,由于它引脚少,硬件实现简单,可扩展性强,不需要USART、CAN等通讯协议的外部收发设备,现在被广泛地使用在系统内多个集成电路(IC)…

I2C协议详解

I2C协议详解 一、I2C协议简介 I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。主器件用于启动总线传送数据,并产生时钟以开放传送的器件,此时任何被寻址的器件均被认为是从器件…

I2C协议概述

目录 IntroductionFeaturesStandard-mode, Fast-mode and Fast-mode Plus I2C-bus protocols1. SDA and SCL signals2. SDA and SCL logic levels3. Data validity4. START and STOP conditions5. Byte format6. Acknowledge (ACK) and Not Acknowledge (NACK)7. Clock synchro…

I2C协议(详细)

I2C通讯协议(Inter-Integrated Circuit)引脚少,硬件实现简单,可扩展性强,不需要USART、CAN等通讯协议的外部收发设备,现在被广泛地使用在系统内多个集成电路(IC)间的通讯。实现I2C需要两根信号线完成信息交换&#xff…

【总线】I2C 通信协议

目录 I2C 总线协议概述 参数总结 I2C 的工作原理 寻址 读/写位 数据帧 I2C数据传输的步骤 具有多个从机的单个主机 具有多个从机的多个主机 I2C的优缺点 优点 缺点 文章参考 I2C 总线协议概述 I2C 总线广泛应用在 OLED 显示器、气压传感器或陀螺仪/加速度计模块的…

【数字IC】深入浅出理解I2C协议

深入浅出理解I2C协议 一、什么是I2C协议二、I2C,SPI,UART协议的区别三、I2C的信号线四、I2C的连接方式4.1 单主设备,单从设备4.2 单主设备,多从设备4.3 多主设备,多从设备 五、I2C的数据传输格式5.1 空闲位5.2 起始位5.3 地址位与读写控制5.4…

I2C协议靠这16张图彻底搞懂(超详细)

文章目录 背景硬件层数据传输协议实际上如何工作?单个主设备连接多个从机多个主设备连接多个从机如何编程?总结 背景 IC(Inter-Integrated Circuit),中文应该叫集成电路总线,它是一种串行通信总线&#xf…

奇安信SSL VPN详细配置步骤

1、网络接口配置(GE2接口配置,GE1调试接口) 2、静态路由配置(网络配置-网络路由-IPv4路由) 3、NC的IP地址池添加(SSL-VPN-应用设置-IP地址池-虚拟地址池添加) 4、用户和组的添加 5、NC设置 6、…

防火墙之IPSec VPN实验

防火墙IPSec VPN实验 原理概述: 指采用IPSec协议来实现远程接入的一种VPN技术,IPSec全称为Internet Protocol Security,是由Internet Engineering Task Force (IETF) 定义的安全标准框架,在公网上为两个私有网络提供安全通信通道,通过加密通道…

如何使用Xshell7连接学校虚拟机(保姆级)

如何使用Xshell7连接学校虚拟机(保姆级) 文章目录 如何使用Xshell7连接学校虚拟机(保姆级)一、前言二、连接学校VPN三、使用学校平台建立虚拟环境四、配置OpenVPN客户端五、使用Xshell连接虚拟机1、新建会话2、设置新建会话属性2、…

密码应用体系建设(政务方向)

一、背景 密码是保障网络与信息安全的核心技术和基础支撑,是解决网络与信息安全问题最有效、最可靠、最经济的手段。《密码法》的颁布实施,从法律层面为开展商用密码应用提供了根本遵循,《国家政务信息化项目建设管理办法》的颁布实施&#…

OSI七层网络协议

在前一篇博客运维往事 一次负载均衡坏点检测事故中我提到了在生产环境中在第四层和第七层做healthCheck,这个第四层和第七层到底是什么意思呢?除了第四层第七层之外,其他的几层到底是什么?这几层到底做了啥?   OSI把…

网络七层协议,五层协议概述

一、七层协议: 1、应用层: 针对特定应用的协议(如:电子邮件协议E-mail、远程登录协议SSH,文本传输协议FTP、网络请求协议HTTP) 2、表示层: 信息的语法语义以及它们的关联,如加密…

简洁易懂——网络七层协议

国际标准化组织ISO于1984年提出了OSI(Open Ssystem Interconnection Reference Model,开放系统互联参考模型)。OSI很快成为计算机网络通信的基础模型。 OSI依层次结构来划分:第一层,物理层;第二层,数据链路…

计算机网络七层协议osi

OSI(open system interconnect开放系统互联)七层模型:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。 OSI七层模型功能对应的网络协议TCP/IP四层概念模型应用层…

1分钟看懂网络七层协议/OSI七层模型

网络七层协议用一张图表示,大概是这样的: 物理层: 解决两个硬件之间怎么通信的问题,常见的物理媒介有光纤、电缆、中继器等。它主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。 …

OSI网络七层协议

OSI(Open System Interconnect),即开放式系统互联参考模型,一般都叫OSI参考模型,是ISO(国际标准化组织)在1985年提出的一个试图将各种计算机或者通信系统在世界范围内互联为网络的标准框架模型。在这一框架下详细的规定…

(知识点)TCP/IP协议(网络七层协议)

OSI参考模型 实际上,分组通信协议很复杂,OSI参考模型将其分为了易于理解的七个分层,如下图: OSI参考模型中每个分层的作用 下图表述了简单的每个分层的作用: 1. 应用层 为应用程序提供服务并规定应用程序中通信相…