I2C 总线基础全解(上):总线概念、发展历史与菊花链拓扑结构深度解析

1.I2C 总线简介

IIC(Inter-Integrated Circuit)是 IICBus 简称,中文名称是集成电路总线,由飞利浦公司在 1980 年为了让主板、嵌入式系统或手机用以连接低速周边设备而制造而生。它是一种串行通信总线,仅需要两根电路线就可以完成多个数字器件之间的通信,具有占用引脚少、硬件实现简单、可扩展性强等特点,被广泛应用于单个电路板上单片机需要和多个外部传感器进行通信的工作场景当中。

以下传感器模块均采用 IIC 协议和单片机进行通信

IIC 总线总共只有两条信号线,一条是双向的串行数据线 SDA,另一条是双向串行时钟线 SCL。SDA 和 SCL 都是双向的,IIC 总线上的各器件的数据线都接到 SDA 线上,IIC 总线上的各器件的时钟线都接到 SCL 线上。

I2C 总线协议中,挂载在总线上的通信节点(传感器或单片机)通常使用 7 个地址位进行标识(地址位类似于身份证),每个通信节点在通信时可以作为发起通信的主机或被主机寻址被动响应的从机。一个主机可以与多个从机进行通信,同时多个主机也可以与多个从机进行通信。
image.png
多个设备可以使用“daisy-chain 菊花链”方式连接到相同的 SDA 和 SCL 线路。由于总线上的每个设备都有不同的地址,因此主设备可以选择与哪个特定设备进行通信。
image.png
image.png

2.I2C 总线的发展历史

最初,I2C 总线规范由飞利浦半导体公司在 1982 年发明,广泛用于在短距离板内通信中将低速外围集成电路连接到处理器和微控制器。最初的规范仅允许 100kHz 通信,并且仅提供 7 位地址,将总线上的设备数量限制为 112 个(同时还有几个保留地址,永远不会用于有效的 I2C 地址)。

Philips 公司发明 I2C-bus 后,一方面,利用该项技术,研发出许多带有 I2C-bus 功能的芯片。这些带有 I2C-bus 功能的芯片,一部分用于自己使用,一部分出售给其他芯片应用厂商;另一方面,将 I2C-bus 专利技术授权提供给其他芯片制造厂商,获得专利技术授权的其他芯片制造厂商把该项技术应用集成到自家的芯片中,使自家的芯片也具有 I2C-bus 功能。自 20 世纪 90 年代中期以来,西门子、NEC、德州仪器、意法半导体、摩托罗拉等多家竞争对手已向市场推出了兼容的 I2C 产品。

Philips 公司无论是对外出售 I2C-bus 芯片,还是对外出售 I2C-bus 专利技术,都要同时对外提供一套完整的技术文档和应用细则,使得具有 I2C-bus 功能的器件有一个统一的标准,这就是 I2C 总线规范。2016 年, Philips(飞利浦)公司旗下的半导体事业部独立成为一个新公司,取名 NXP(恩智浦)公司,NXP(恩智浦)公司现在是 I2C 总线规范的利益相关者。

可以在如下链接中查看现在的 IIC 总线规范:

https://www.nxp.com/docs/en/user-guide/UM10204.pdf

自 2006 年 10 月 10 日起,I2C 原始专利已过期,因此 I2C 总线可以自由使用,不需要支付专利费,但制造商获取 NXP 分配的 I2C 从设备地址仍然需要付费。2017 年由 MIPI 联盟推出的 I3C 规范,NXP 参与并做出了贡献。MIPI I3C 提供了与 I2C 的向后兼容性、更高的速度和更低的功耗,并且提供了免版税版本。

I2C 总线的版本变更可查看下表:

几个重要变化为:

  1. ​首发版本:​1982 年 Philips 原创首发。
  2. V1.0-1992: 删除了从机地址软件编程的内容;删除了低速模式(Low-speed mode )的详细说明;增加了快速模式(Fast-mode),位速率达 400Kbit/s,并向下兼容标准模式(Standard-mode)的 0~100Kbit/s 位速率。
  3. ​V2.0-1998:​I2C 总线已经成为世界标准,已授权给 50 多家公司,并在 1000 多种不同的 IC 中应用实现。增加了高速模式(High-speed),位速率达 3.4Mbit/s,并向下兼容快速模式和标准模式;增加了对低电压 2V 或更低器件的支持,并兼容高电压器件;删除了快速模式输出级的 0.6V/6mA 的要求;增加了新的器件用总线电压相关电平替代固定电平的内容;增加了双向电平转换器的应用。
  4. ​V2.1-2000:​增加了在高速模式下的重复起始条件后,可以延长时钟信号 SCLH;放宽了高速模式下的一些时序参数要求。
  5. ​V3.0-20070619:​增加了快速模式增强版(Fast-mode Plus),它将驱动强度提高了 10 倍,并将位速率从快速模式的 400Kbit/s,提高到 1 Mbit/s,以满足更长的总线和或更快的速度的应用需求。
  6. ​V4.0-20120213:​增加单向 I2C 总线和超快模式(Ultra Fast-mode),位速率达 5Mbit/s。
  7. ​V6.0-2014:​修改了上拉电阻的计算方法。
  8. ​V7.0-2021:​更新了 I2C 芯片制造商名称 ID 清单表;将术语“主/从”更新为“控制器/目标”;增加了 MIPI I3C 规范内容,I3C 位速率达 10Mbit/s,为 I2C 和 SPI 提供灵活的升级方案。

posted @ 2026-08-31 17:17  FreakStudio  阅读(5)  评论(0)    收藏  举报