全面解析 I2C 总线协议:特征、传输与操作
出处:网络整理 发布于:2026-05-14 14:33:56
I2C 总线物理拓扑结构
I2C 总线在物理连接方面相对简单,主要由 SDA(串行数据线)、SCL(串行时钟线)以及上拉电阻构成。其通信原理是通过对 SCL 和 SDA 线高低电平时序的精准控制,来产生 I2C 总线协议所需的信号,从而实现数据的传递。在总线处于空闲状态时,这两根线通常会被所接的上拉电阻拉高,保持高电平。从电子电路的角度来看,上拉电阻的作用至关重要,它可以确保总线在空闲时处于稳定的高电平状态,避免信号的干扰和误判。

I2C 总线上的每个设备都具备主设备或从设备的双重角色,并且每个设备都有一个的地址,该地址可以从 I2C 器件的数据手册中获取。在实际应用中,通常将带有 I2C 总线接口的 CPU 模块作为主设备,而挂接在总线上的其他设备则作为从设备。主从设备之间通过这个地址来确定通信对象。
I2C 总线上可挂接的设备数量受到总线电容 400pF 的限制。如果挂接的是相同型号的器件,还会受到器件地址位的限制。在数据传输速率方面,I2C 总线在标准模式下可达 100kbit/s,快速模式下可达 400kbit/s,高速模式下甚至可达 3.4Mbit/s。其传输速率一般通过 I2C 总线接口可编程时钟来调整,同时也与所接的上拉电阻的阻值密切相关。上拉电阻阻值的大小会影响总线信号的上升和下降时间,进而影响数据传输的速率和稳定性。I2C 总线上的主设备与从设备之间以字节(8 位)为单位进行双向的数据传输。
I2C 总线协议
I2C 协议规定,总线上数据的传输必须以一个起始信号作为开始条件,以一个结束信号作为传输的停止条件,且起始和结束信号总是由主设备产生。当总线处于空闲状态时,SCL 和 SDA 都保持高电平。当 SCL 为高电平而 SDA 由高到低跳变时,表示产生一个起始条件;当 SCL 为高而 SDA 由低到高跳变时,表示产生一个停止条件。在起始条件产生后,总线处于忙状态,由本次数据传输的主从设备独占,其他 I2C 器件无法访问总线;而在停止条件产生后,本次数据传输的主从设备将释放总线,总线再次处于空闲状态。



对 I2C 总线的操作实际上就是主从设备之间的读写操作,大致可分为以下三种情况:
主设备往从设备中写数据:主设备首先发送起始信号,然后发送从设备的地址和写操作标志,接着依次发送要写入的数据,发送停止信号。

主设备往从设备中写数据,然后重启起始条件,紧接着从从设备中读取数据;或者主设备从从设备中读数据,然后重启起始条件,紧接着主设备往从设备中写数据:这种操作在单个主设备系统中,重复开启起始条件机制要比用 STOP 终止传输后又再次开启总线更有效率。

版权与免责声明
凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。
本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。
如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
- 全面解析电缆 BV、BLV、VV、VLV、KVV 的含义与应用2026/6/5 14:56:44
- 深度剖析 CAN 总线终端电阻:作用、阻值与功率之谜2026/6/4 14:37:54
- CAN 总线常见信号干扰问题2026/6/2 14:36:22
- I2C总线协议详解2026/5/21 16:09:31
- RS485 端口的 EMC 防雷保护方案2026/5/20 14:23:51









