I2C总线概述和优点

用于低成本应用程序的通信协议

由飞利浦在20世纪80年代开发的I2C(也可以拼写为I2C)已经成为电子学中最常用的串行通信协议之一。I2C有助于电子元件或集成元件之间的通信电路,各部件是否在同一上印刷电路板或者用电缆连接。

I2C协议的第二阶段
Mwnuk / CC BY 2.0 / Wikimedia Commons

I2C协议是什么?

I2C是一种串行通信协议,只需要两条信号线。它是为印刷电路板(PCB)上芯片之间的通信而设计的。I2C最初设计为100Kbps沟通。然而,近年来已经开发出更快的数据传输模式,速度可达3.4 Mbit。

I2C的关键特性是能够在单个器件上有多个组件通信总线只有两根导线,这使得I2C适用于简单的应用。I2C协议已被确立为官方标准,允许I2C实现之间的向后兼容性。

I2C信号

I2C协议使用两条双向信号线与通信总线上的设备通信。使用的两个信号是:

  • 串行数据线(SDL)
  • 串行数据时钟(SDC)

I2C只能使用两个信号与多个外围设备通信的原因在于总线上的通信是如何处理的。每个I2C通信从7-开始(或10位)地址,它调用外围设备的地址。

这使得I2C总线上的多个设备可以根据系统的需要扮演主设备的角色。为了防止通信冲突,I2C协议包括仲裁和冲突检测功能,允许沿着总线进行平滑通信。

I2C的好处

I2C作为一种通信协议,具有以下优点:

  • 灵活的数据传输速率。
  • 远距离通信比SPI
  • 总线上的每个设备都可以独立寻址。
  • 设备之间有简单的主从关系。
  • 它只需要两条信号线。
  • 它能够通过提供仲裁和通信冲突检测来处理多个主通信。

I2C的局限性

尽管有这些优势,I2C也有一些可能需要设计的限制。最重要的I2C限制包括:

  • 由于只有7位(或10位)可用于设备寻址,同一总线上的设备可以共享相同的地址。有些设备可以配置地址的最后几位,但这限制了同一总线上的设备。
  • 只有少数有限的通信速度可用,许多设备不支持以更高的速度传输。总线上的每个速度都需要部分支持,以防止较慢的设备捕捉可能导致操作故障的部分传输。
  • I2C总线的共享特性可能导致当总线上的单个设备停止工作时整个总线都挂起。将电源循环到总线上可以恢复正常运行。
  • 由于设备自己设定通信速度,运行速度较慢的设备可能会延迟运行速度较快的设备的运行。
  • 由于通信线路的开漏拓扑结构,I2C比其他串行通信总线消耗更多的功率。
  • I2C总线的限制通常将总线上的设备数量限制在12个左右。

I2C程序

对于需要低成本和简单实现而不是高速度的应用程序,I2C是一个很好的选择。例如,I2C通信协议的常见用途包括:

  • 读取特定内存ic。
  • 访问dac和adc。
  • 传输和控制用户定向的操作。
  • 读取硬件传感器。
  • 与多个微控制器通信。
这个页面有用吗?