I2C基础

article/2025/8/16 21:39:00

I2C基础

  • 1 基本介绍
  • 2 特点
  • 3 硬件连接
  • 4 通信
    • 4.1 控制器
    • 4.2 协议
  • 5 SPI VS I2C

1 基本介绍

I²C (Inter-Integrated Circuit)。内部集成电路。拥有两根线,一根数据线SDA和一根时钟线SCL。
这两条线都是漏极开路或者集电极开路结构,使用时需要外加上拉电阻,可以挂载多个设备。每个接到I2C总线上的器件都有唯一的地址。其中,主动发起操作的一方为主机,另外一方为从机。I2C规定通信时的时钟,起始信号,停止信号只能由主机产生。
示意图如下
在这里插入图片描述
连接到相同总线上的IC数量只受总线最大电容400pF的限制,最多可挂112个设备,串行的8位双向数据传输位速率在标准模式下可达100Kbit/s,快速模式下可达400Kbit/s,高速模式下可达3.4Mbit/s。I2C是半双工模式。

2 特点

  • 只使用两条信号线,传输距离短
  • 支持多主机多从机
  • 有应答机制
  • 极低的电流消耗.抗高噪声干扰。
  • 速率比SPI慢。
  • IIC 是多主设备的总线

3 硬件连接

EEPROM一般与I2C连接,下面是常用的一种连接方式。
在这里插入图片描述
SCL、SDA的上拉电阻由这两个引脚的灌电流决定,保证其高低电平都满足要求。
犹豫I2C通信速率比较慢,所以在与CPU连接时,可用GPIO模拟,比较灵活。

4 通信

4.1 控制器

STM32的I2C控制器框图如下:
在这里插入图片描述

4.2 协议

I2C协议包括以下状态:

  • 空闲状态:SDA\SCL均为高电平,总线空闲
  • 开始信号:SCL为高电平,SDA的电平由高跳到低表示开始信号。
  • 终止信号:SCL为高电平,SDA的电平由低跳到高表示终止信号。
  • 应答信号:接收器反馈应答信号,应答信号为低电平,则为有效应答位,表示成功接收。
  • 数据有效性
  • 数据传输

IIC协议规定:

  • 每一支IIC设备都有一个唯一的七位设备地址;
  • 数据帧大小为8位的字节;
  • 数据(帧)中的某些数据位用于控制通信的开始、停止、方向(读写)和应答机制。
  • IIC协议标准规定发起通信的设备称为主设备,主设备发起一次通信后,其它设备均为从设备。
  • 总线上有1个主设备和多个从设备,当一个从设备响应后,其他从设备不能进行通信。
    在这里插入图片描述
    当没有数据传输的时候,两根总线都为高电平;数据传输开始时,需要发送一个起始信号;数据传输结束后,需要发送一个终止信号;每8bit数据传输结束,都需要一个ACK。起止信号都由Master发出,而ACK则可能由Master或者SLAVE来发出。

在这里插入图片描述
在这里插入图片描述
ACK和NACK
数据传输时先传MSB(most significant bit)最高有效位。接收者在每个字节后的第9个时钟周期将SDA保持低电平进行确认数据接收成功;而在第9个时钟周期将SDA保持高电平表示数据传输出错,或者主机不再想接收数据。

主机给从机写数据的过程如下:
在这里插入图片描述
主机从从机读数据过程如下:
在这里插入图片描述

5 SPI VS I2C

  • SPI使用线多,硬件资源占的多
  • SPI全双工,所以传的快,通常能达到甚至超过10 Mbps,而I2C最快3.4 Mbps。
  • SPI适合数据流应用,而IIC更适合“字节设备”的多设备应用。

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

相关文章

I2C总线协议

1. 简介 I2C (Inter-Integrated Circuit),是一种串行通信总线,用于连接微控制器及其外围设备,实现主控制器和从器件间的主从双向通信,是一种同步半双工通信(两端时钟频率一致,双向通信,但不能同…

I2C协议最细致的讲解

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

沧小海详解面试的必答题——I2C协议

目录 第一部分:I2C协议的概述 第二部分:I2C协议的阐述 第三部分:AT24C04简述 第四部分:基于verilog的程序设计(暂无) 对于大多从事FPGA行业的应届生来说,在面试过程中很可能会被问到关于I2C…

51单片机模拟I2C协议

什么是I2C 首先需要知道什么是I2C协议。I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息(摘自百度百科)。I2C主要有两条线,一条SDA数据线,一条SCL时钟线。由…

I2C协议原理讲解

一、物理层: 1、I2C通讯设备之间的常用连接方式: 2、特点: (1) 它是一个支持设备的总线。“总线”指多个设备共用的信号线。在一个I2C通讯总线中, 可连接多个I2C通讯设备,支持多个通讯主机及多个通讯从机。 (2) 一个…

一文搞懂I2C协议-硬件基础

I2C是什么 I2C总线是由飞利浦在80年代初设计的,以允许位于同一电路板上的组件之间能够轻松通信。其大大简化了电路的设计,早期的电视机中很多地方用到了I2C这种通信方式。飞利浦半导体于2006年迁移到了NXP。I2C名称翻译为“ Inter IC”。有时&#xff0…

I2C协议+实现源码

文章目录 摘要I2C通信协议简介补充空闲状态start和stop信号应答信号数据有效性规定数据传输延时 I2C协议的实现源码硬件说明头文件sys.h 主函数初始化I2C产生开始和停止信号等待应答信号产生或不产生应答I2C写操作I2C读操作 对24C02操作24C02的时序图头文件初始化IIC接口写数据…

学习笔记8-I2C协议

目录 一、关于I2C二、硬件结构三、I2C协议3.1、I2C的三种状态3.2、数据有效性3.3、应答信号3.4、总线时序3.5、读写时序3.5.1、读3.5.2、写 3.6、死锁3.7、仲裁 四、软件I2C&硬件I2C五、AT24C02六、代码编写6.1、I2C初始化6.2、开始信号6.3、ACK/NACK信号6.4、发送1byte数据…

I2C 协议 代码详解

I2C 协议 最后代码已上传!!!!   代码文章链接    github 代码链接在该文章最后 I2C 简要介绍 I2C 总线(I2C bus,Inter-IC bus)是一个双向的两线连续总线,提供集成电路&#xf…

通俗易懂的I2C协议

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

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、…