计算机网络中的I2C协议是什么?


I2C代表集成电路间控制 (Inter-Integrated Circuit)。这是一种串行通信协议,可以连接低速设备。它是一种主从通信,可以从单个主设备连接和控制多个从设备。其中,每个从设备都有一个特定的地址。

I2C的开发是为了克服通过其他通信协议(包括通用异步收发器(UART)和串行外围接口(SPI))传输数据的复杂性。

UART是一种异步传输协议。使用它的设备应提前商定数据速率。机器的时钟也应该具有几乎相同数据速率的时钟。由于需要额外的起始位和停止位,UART中的数据速率降低了。

优点

I2C具有以下优点:

  • 它支持灵活的数据传输速率。

  • 它支持比SPI更长的通信距离。

  • 总线上的每个设备都是单独控制的。

  • 它增加了固件或底层硬件的复杂性。

  • 此协议会产生开销,也会降低吞吐量。

  • 此协议只需要两根线。

  • 它可以通过仲裁和碰撞检测来适应多个主设备交互。

  • 设备既可以作为主设备,也可以作为从设备工作。

缺点

I2C具有以下缺点:

  • 当电路中的主/从设备数量很多时,硬件的复杂性会增加。

  • 它支持半双工通信模式。

  • 它由协议栈处理。

  • 许多设备保存多个地址,这可能会导致冲突。

  • I2C是一种半双工协议,增加了复杂性。

更新于:2021年5月4日

11K+ 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告