i2c总线协议的标准是什么?有哪些应用?
总线具有极低的电流消耗.抗高噪声干扰,增加总线驱动器可以使总线电容扩大10倍,传输距离达到15m;兼容不同电压等级的器件,工作温度范围宽。
I²C(Inter-Integrated Circuit)总线是一种低速、串行、半双工的通信总线协议,广泛应用于板级(芯片与芯片之间)短距离通信。以下是其主要标准和应用的详细介绍:
一、I²C 总线协议的标准
I²C 总线标准的主要规范由 NXP Semiconductors(原 Philips Semiconductor)制定和维护。其核心文档是 《The I²C-bus specification》。
-
关键特性和规范:
- 物理接口:
- 两根线: 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被拉低后会等待其变高后再继续发送时钟。这对于速度较慢的从设备处理数据很重要。
- 物理接口:
-
版本历史:
- 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线)、支持多设备、成本低、协议相对简单 等优点,在嵌入式系统和消费电子中无处不在,尤其适合中低速、短距离、芯片间通信的场景:
-
传感器数据读取:
- 环境传感器: 温湿度传感器(如DHT系列实际上单总线模拟I²C,真正I²C的有TMP117, Si7021)、气压传感器(如BMP280, MS5611)、光照传感器、气体传感器(如 CCS811)、接近/光强传感器。
- 运动传感器: 加速度计、陀螺仪、磁力计(如MPU6050, MPU9250, BMX055)、电子罗盘。
-
存储器访问:
- 串行EEPROM: 用于存储少量配置或校准数据(如AT24C系列)。
- 实时时钟(RTC): 读取/设置时间和日期(如DS1307, PCF8563)。
-
扩展接口:
- I/O 端口扩展器: 通过I²C总线扩展多个GPIO引脚(如MCP230xx)。
- ADC/DAC: 读取模拟输入值或设置模拟输出电压/电流(如ADS1115, MCP4725)。
- 电平转换器: 有时用专门的I²C电平转换芯片。
-
音频/视频:
- 低复杂度音频编解码器的控制接口。
- 电视/显示器/面板: I²C广泛用于DDC/EDID(显示数据通道),显示器通过I²C告诉主机其支持的分辨率和参数(通常硬件地址固定为0x50)。某些触摸屏控制器也通过I²C报告坐标。
- 监控摄像头中用于控制电机(云台)、传感器参数等。
-
电源管理:
- 电源管理IC: 系统内多个电源轨的上电顺序、电压监控、故障检测等可通过I²C控制。
- 电池管理IC: 读取电池电量、健康状态等信息。
-
微控制器(MCU)通信:
- 两个或多个MCU之间(如主MCU和协处理器)交换控制信息或少量数据。
- 主MCU和外围专用的从属处理芯片(如触摸屏控制器、指纹识别模块、安全元件)通信。
-
其他:
- LED驱动控制器: 设置PWM参数、亮度、颜色(如多通道RGB LED驱动)。
- 系统监控: 监控风扇转速、系统电压、温度(主板传感器)。
- 键盘控制: 某些键盘矩阵扫描芯片(或集成在EC/KBC中)通过I²C与主机通信。
- 智能家居设备: 各种传感器、执行器、控制面板之间的通信。
总结: I²C总线是连接主处理器(如MCU, SoC, CPU)和各种外围芯片(传感器、存储器、接口扩展、电源、显示器、驱动等)的理想选择,其简单性、灵活性和广泛支持使其成为了电子产品板级互联的基石性串行总线协议之一。在几乎任何现代消费电子设备(手机、平板、电脑、电视、相机)和工业嵌入式系统中都能找到I²C的应用。
简述I2C总线协议
I2C 总线在物理连接上非常简单,分别由SDA(串行数据线)和SCL(串行时钟线)及上拉电阻组成。通信原理是通过对SCL和SDA线高低电平时序的控制,来 产生
2023-02-13 10:14:21
I2C总线物理拓扑结构_I2C总线协议解析
I2C 总线在物理连接上非常简单,分别由SDA(串行数据线)和SCL(串行时钟线)及上拉电阻组成。通信原理是通过对SCL和SDA线高低电平时序的控制,来 产生
2020-09-24 14:12:09
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 芯片的工作原理是什么?
- ssd是什么意思
- 什么是蓝牙?它的主要作用是什么?
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- EDA是什么?有什么作用?
- 中科院研发成功2nm光刻机
- 苹果手机哪几个支持无线充电的?
- dtmb信号覆盖城市查询
- 怎样挑选路由器?
- 华为芯片为什么受制于美国?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- type-c四根线接法图解
- 什么是场效应管?它的作用是什么?
- 如何进行编码器的正确接线?接线方法介绍
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- 苹果nfc功能怎么复制门禁卡
- 单片机和嵌入式的区别是什么
- amoled屏幕和oled区别
- BLDC电机技术分析
- 复位电路的原理及作用
- dsp是什么意思?有什么作用?
- iphone13promax电池容量是多少毫安
- 苹果无线充电器怎么使用?
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 自举电路图
- 通讯隔离作用
- 苹果笔记本macbookpro18款与19款区别
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 传感器常见类型有哪些?
- 十大公认音质好的无线蓝牙耳机