一文详解IIC总线
出处:网络整理 发布于:2025-08-07 17:10:39
I2C(Inter-Integrated Circuit,集成电路总线)是一种同步、串行、半双工通信总线,由Philips(现NXP)在1982年推出,广泛应用于传感器、EEPROM、RTC(实时时钟)、LCD控制器等低速外设的通信。
1. I2C总线基本特性
特性 | 说明 |
---|---|
通信方式 | 同步串行(半双工) |
信号线 | SDA(数据线)、SCL(时钟线) |
传输速率 | 标准模式(100kbps)、快速模式(400kbps)、高速模式(3.4Mbps) |
寻址方式 | 7位或10位设备地址(支持多主多从) |
总线拓扑 | 多设备共享总线(开漏输出,需上拉电阻) |
电平标准 | 3.3V或5V(兼容不同电压设备) |
2. I2C硬件连接
I2C总线仅需两根线(SDA、SCL),所有设备并联在总线上,通过上拉电阻(通常4.7kΩ)确保空闲时高电平。
SCL(Serial Clock):主设备提供时钟信号。
SDA(Serial Data):双向数据线,主从设备均可驱动(开漏输出)。
关键点:
所有设备SDA、SCL并联,通过地址区分。
开漏输出:设备只能拉低电平,释放后由上拉电阻拉高。
上拉电阻:典型值3.3V系统用2.2kΩ~4.7kΩ,5V系统用4.7kΩ~10kΩ。
3. I2C协议详解
(1)数据帧结构
I2C通信以字节(8bit)为单位,每个字节后跟一个ACK/NACK应答位。
起始条件(START):SCL高电平时,SDA由高→低。
设备地址(7位/10位) + 读写位(R/W):
7位地址:高7位为地址,第8位为读写标志(0=写,1=读)。
10位地址:特殊格式扩展(详见协议手册)。
应答(ACK):接收方在第9个时钟周期拉低SDA表示应答。
数据传输:每8bit数据后跟一个ACK/NACK。
停止条件(STOP):SCL高电平时,SDA由低→高。
(2)关键信号时序
信号 | 描述 |
---|---|
START | SCL=高,SDA下降沿 |
STOP | SCL=高,SDA上升沿 |
ACK | 接收方在第9个SCL周期拉低SDA |
NACK | 接收方在第9个SCL周期保持SDA高电平(表示传输结束或错误) |
重复START | 主设备在不释放总线的情况下发起新传输(用于复合操作,如写后读) |
4. I2C通信模式
(1)主设备写数据(Master Write)
[START] + [设备地址(0)] + [ACK] + [数据1] + [ACK] + ... + [数据N] + [ACK/NACK] + [STOP]
示例:向地址0x50的EEPROM写入数据0xAA
。
主设备发送:
0xA0
(0x50<<1 | 0)。EEPROM回复ACK。
主设备发送数据
0xAA
。EEPROM回复ACK。
主设备发送STOP。
(2)主设备读数据(Master Read)
[START] + [设备地址(1)] + [ACK] + [数据1] + [ACK] + ... + [数据N] + [NACK] + [STOP]
示例:从地址0x50的EEPROM读取1字节。
主设备发送:
0xA1
(0x50<<1 | 1)。EEPROM回复ACK并返回数据。
主设备发送NACK(表示读取结束)。
主设备发送STOP。
(3)复合操作(Write + Read)
[START] + [设备地址(0)] + [ACK] + [寄存器地址] + [ACK] + [重复START] + [设备地址(1)] + [ACK] + [数据] + [NACK] + [STOP]
典型应用:读取传感器寄存器(如先写寄存器地址,再读数据)。
5. I2C常见问题与调试
(1)通信失败原因
地址错误:设备地址未左移1位(如0x50→0xA0)。
上拉电阻不合适:导致信号上升沿过慢(可尝试减小电阻值)。
总线冲突:多主设备未正确仲裁。
SCL/SDA短路:检查硬件连接。
上一篇:保护接地和保护接零有什么区别
版权与免责声明
凡本网注明“出处:老太阳集团tcy8722网站电子市场网”的所有作品,版权均属于老太阳集团tcy8722网站电子市场网,转载请必须注明老太阳集团tcy8722网站电子市场网,,违反者本网将追究相关法律责任。
本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。
如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
- 简述计算机总线的分类2025/9/4 17:12:23
- 深度剖析三进线两母联供电系统设计方案2025/9/3 10:37:39
- 汇流排是什么汇流排好还是线接好2025/8/28 17:13:00
- 安森美 USB - C 电池充电器解决方案2025/8/28 15:45:10
- I2C 总线加上拉电阻的必要性2025/8/25 16:42:09