登录/注册

i2c总线协议的标准是什么?有哪些应用?

总线具有极低的电流消耗.抗高噪声干扰,增加总线驱动器可以使总线电容扩大10倍,传输距离达到15m;兼容不同电压等级的器件,工作温度范围宽。

更多

I²C(Inter-Integrated Circuit)总线是一种低速、串行、半双工的通信总线协议,广泛应用于板级(芯片与芯片之间)短距离通信。以下是其主要标准和应用的详细介绍:

一、I²C 总线协议的标准

I²C 总线标准的主要规范由 NXP Semiconductors(原 Philips Semiconductor)制定和维护。其核心文档是 《The I²C-bus specification》

  1. 关键特性和规范:

    • 物理接口:
      • 两根线: SDA(Serial DAta,数据线)和 SCL(Serial CLock,时钟线)。所有设备(主/从)都挂接在这两条线上,通过开漏输出(Open-Drain)或集电极开路(Open-Collector)连接,因此需要外部上拉电阻
      • 电平: 通常使用逻辑高电平(通过上拉电阻实现)和逻辑低电平(由器件拉低)。电压等级可以是 5V、3.3V、1.8V 等,取决于系统设计。
    • 多主多从架构:
      • 总线上可以有多个主设备(Master,发起通信并控制时钟)和多个从设备(Slave,响应主设备的寻址)。
      • 主设备之间通过仲裁机制避免总线冲突。
    • 寻址方式:
      • 7位地址模式: 最常用,最多支持 128 个不同地址(理论上,但一些地址保留)。每个从设备都有一个唯一的7位硬件地址(通常可通过外部引脚配置少量变化位)。主设备通信开始时会发送这个地址。
      • 10位地址模式: 支持更多从设备(最多 1024 个地址),兼容7位模式。
    • 通信速率:
      • 标准模式(Standard Mode): 高达 100 kbps
      • 快速模式(Fast Mode): 高达 400 kbps
      • 快速模式+(Fast Mode Plus): 高达 1 Mbps
      • 高速模式(High-Speed Mode, Hs-mode): 高达 3.4 Mbps(需要特定的主/从设备支持)。
    • 帧格式(典型7位地址):
      • 起始条件(Start Condition): SCL为高电平时,SDA由高变低。表示传输开始。
      • 地址帧 + R/W位: 主设备发送7位从设备地址 + 1位读写控制位(0表示写操作,1表示读操作)。共8位。
      • 应答位(ACK / NACK): 第9个时钟脉冲期间,由接收设备(通常是目标从设备)拉低SDA(ACK)表示确认收到地址/数据,或保持高(NACK)表示未确认或无法接收更多数据(由主设备释放SDA)。
      • 数据帧: 每帧8位数据。
      • 应答位(ACK / NACK): 每个数据帧后跟一个应答位。
      • 停止条件(Stop Condition): SCL为高电平时,SDA由低变高。表示传输结束。
    • 广播地址(General Call Address): 0000 0000 (0x00),可用于同时向多个从设备发送信息。
    • 时钟同步与仲裁: 多主模式下,主设备能同步时钟信号并进行总线仲裁(通过监测SDA线上实际电平与自己发送的是否一致)来解决冲突。
    • 时钟延展(Clock Stretching): 从设备在需要处理数据时,可以在SCL为低电平期间将其拉低并保持,迫使主设备等待。主设备检测到SCL被拉低后会等待其变高后再继续发送时钟。这对于速度较慢的从设备处理数据很重要。
  2. 版本历史:

    • V1.0 (1992)
    • V2.0 (1998) - 增加了快速模式和10位寻址。
    • V2.1 (2000) - 细化了时钟延展、总线空闲检测等。
    • V3.0 (2007) - 增加了高速模式(Hs-mode, 3.4 Mbps)。
    • V4.0 (2012) - 增加了超快速模式(Ultra Fast-mode, Ufmode, 高达5 Mbps,仅单向),并且是该模式的主要更新。
    • V6.0 (2014) - 最新公开版本(截止到2023年知识更新),包含了之前版本的特性并可能做了一些澄清和优化。

    实际应用中,最常见的是兼容 100 kbps (标准) 和 400 kbps (快速) 速率,支持 7位地址 模式。新的应用也逐渐采用 1 Mbps (Fast Mode Plus) 和 3.4 Mbps (Hs-mode)。

二、I²C 总线的应用

I²C 因其 布线简单(仅2线)、支持多设备、成本低、协议相对简单 等优点,在嵌入式系统和消费电子中无处不在,尤其适合中低速、短距离、芯片间通信的场景:

  1. 传感器数据读取:

    • 环境传感器: 温湿度传感器(如DHT系列实际上单总线模拟I²C,真正I²C的有TMP117, Si7021)、气压传感器(如BMP280, MS5611)、光照传感器、气体传感器(如 CCS811)、接近/光强传感器。
    • 运动传感器: 加速度计、陀螺仪、磁力计(如MPU6050, MPU9250, BMX055)、电子罗盘。
  2. 存储器访问:

    • 串行EEPROM: 用于存储少量配置或校准数据(如AT24C系列)。
    • 实时时钟(RTC): 读取/设置时间和日期(如DS1307, PCF8563)。
  3. 扩展接口:

    • I/O 端口扩展器: 通过I²C总线扩展多个GPIO引脚(如MCP230xx)。
    • ADC/DAC: 读取模拟输入值或设置模拟输出电压/电流(如ADS1115, MCP4725)。
    • 电平转换器: 有时用专门的I²C电平转换芯片。
  4. 音频/视频:

    • 低复杂度音频编解码器的控制接口。
    • 电视/显示器/面板: I²C广泛用于DDC/EDID(显示数据通道),显示器通过I²C告诉主机其支持的分辨率和参数(通常硬件地址固定为0x50)。某些触摸屏控制器也通过I²C报告坐标。
    • 监控摄像头中用于控制电机(云台)、传感器参数等。
  5. 电源管理:

    • 电源管理IC: 系统内多个电源轨的上电顺序、电压监控、故障检测等可通过I²C控制。
    • 电池管理IC: 读取电池电量、健康状态等信息。
  6. 微控制器(MCU)通信:

    • 两个或多个MCU之间(如主MCU和协处理器)交换控制信息或少量数据。
    • 主MCU和外围专用的从属处理芯片(如触摸屏控制器、指纹识别模块、安全元件)通信。
  7. 其他:

    • LED驱动控制器: 设置PWM参数、亮度、颜色(如多通道RGB LED驱动)。
    • 系统监控: 监控风扇转速、系统电压、温度(主板传感器)。
    • 键盘控制: 某些键盘矩阵扫描芯片(或集成在EC/KBC中)通过I²C与主机通信。
    • 智能家居设备: 各种传感器、执行器、控制面板之间的通信。

总结: I²C总线是连接主处理器(如MCU, SoC, CPU)和各种外围芯片(传感器、存储器、接口扩展、电源、显示器、驱动等)的理想选择,其简单性、灵活性和广泛支持使其成为了电子产品板级互联的基石性串行总线协议之一。在几乎任何现代消费电子设备(手机、平板、电脑、电视、相机)和工业嵌入式系统中都能找到I²C的应用。

深入剖析I2C协议

I2C是由Philips开发的简单的双向两线总线,在深入浅出理解SPI协议中,我们区分了单工,半双工,全双工

2025-08-21 15:10:49

I2C总线通信原理 如何设计I2C总线电路

I2C总线通信原理 I2C(Inter-Integrated Circuit)总线

2025-01-31 15:01:00

I2C总线协议的工作原理和寻址格式

I2C(Inter-Integrated Circuit)总线协议,即集成电路总线

2024-05-27 15:47:41

你不能不知的I2C总线

信息。某些书籍或者文档中也写作IIC,读作“I方C”。I2C是嵌入式中最常见的,也是最重要的

资料下载 张静 2021-12-05 12:36:12

I2C总线协议英文资料

I2C总线协议英文资料

资料下载 犇犇不是犇犇 2021-11-24 10:00:06

51单片机——I2C总线

本文主要介绍I2C总线协议时序图,并介绍I2C

资料下载 张静 2021-11-23 16:22:33

I2C通信协议应该如何学习

要知道 I2C 是一种串行总线协议。目前几种常用的串行总线

资料下载 Lynne 2020-04-28 08:00:00

I2C串行总线的组成及工作原理的详细资料说明

常用的串行扩展总线有:I2C总线,SPI

资料下载 陈文博 2019-07-31 17:35:00

I2C串行总线协议是什么?I2C总线哪些优点?

I2C串行总线协议是什么?I2C

2023-09-12 11:18:17

I2C总线协议的工作流程

  I2C 总线是一个标准的双向接口,使用一个称为主器件的控制器与从器件进行通信。物理

2023-06-02 10:17:25

简述I2C总线协议

I2C 总线在物理连接上非常简单,分别由SDA(串行数据线)和SCL(串行时钟线)及上拉电阻组成。通信原理是通过对SCL和SDA线高低电平时序的控制,来 产生

2023-02-13 10:14:21

I2C总线简介

I2C 简介I2C 是双线双向的串行总线,它为设备之间数据交换提供了一种简单高效的方法。

2022-02-22 06:55:33

I2C总线协议操作介绍

总线协议所需要的信号进行数据的传递。在总线空闲状态时,这两根线一般被上面所接的上拉电阻拉高,保持着高电平。

2022-02-09 14:08:17

i2c总线用来做什么_i2c总线数据传输过程

I2C总线控制器为微控制器或微处理器提供控制I2C总线的接口,它控制所有

2020-11-24 14:16:18

I2C总线物理拓扑结构_I2C总线协议解析

I2C 总线在物理连接上非常简单,分别由SDA(串行数据线)和SCL(串行时钟线)及上拉电阻组成。通信原理是通过对SCL和SDA线高低电平时序的控制,来 产生

2020-09-24 14:12:09

7天热门专题 换一换
相关标签