关于电路
技术文章

I2C巴士简介

2015年12月16日经过罗伯特·基姆(Robert Keim)

本文涵盖了综合电路(又名I2C)串行通信协议的基本特征和显着优势。

本文涵盖了综合电路(又名I2C)串行通信协议的基本特征和显着优势。

组件之间的通信:通信协议

不足为奇的是,电子系统的一个共同特征是需要在两个或三个或十个单独的组件中共享信息。

工程师已经开发了许多标准协议,可以帮助不同的芯片成功通信 - 这一事实显然是当您在微控制器或数字信号处理器的功能列表中面对“通信”下的首字母缩写词:UART,USART,SPI,SPI,,,我2C,可以。。。。每个协议都有其优点和缺点,重要的是要了解每个协议,以便在选择组件或接口时可以做出明智的决定。

这篇文章是关于我的2C,通常用于位于同一PCB上的单个集成电路之间的通信。也适合此一般类别的另外两个常见协议是UART(通用异步接收器/发射器)和SPI(串行外围界面)。您需要知道我的基本特征2c在您彻底了解这三个接口之间的比较之前,我们将在本文结尾处讨论该主题。

什么是I2C巴士?

2C代表综合电路总线。毫无疑问,我2C协议遭受严重的术语问题。最直接的至少常见 - 屈从于IIC。也许这种缩写被忽略了,因为两个资本I看起来像两个1s,或两个小写L的L'S或Roman Numeral II,或平行电阻的符号。。。。无论如何,缩写i2C(称为“我平方c”)却赢得了流行,尽管对待正常字母的逻辑可疑,就像它是可变的。第三个选择是我2c(“ i两个c”),避免了上标格式的不便,并且比“我平方C”更容易发音。

当您注意到SMB或SMBU显然被用作另一种参考I2C巴士。实际上,这些缩写是指系统管理总线,这与I不同2C巴士。原始i2C协议是由Phillips半导体开发的,几年后,英特尔将SMBUS协议定义为I2C的扩展。两辆公共汽车在很大程度上可以互换。如果您对它们之间的较小差异感兴趣,请参阅第57页系统管理巴士规格

就像试图在一个充满人的房间里进行重要的对话

欣赏使我聪明的技巧2c如此有效,您需要考虑实现的困难可靠的然而多才多艺的多个独立组件之间的通信。如果您有一个始终是主人的芯片和一个始终是奴隶的芯片,情况就足够简单了。

但是,如果您有多个奴隶怎么办?如果奴隶不知道主人是谁怎么办?如果有多个大师怎么办?如果主人从从奴隶那里请求数据而出于某种原因变得无功能的数据会发生什么?或者,如果从传输的中间奴隶变得无功能怎么办?如果主人声称公共汽车要进行变速箱,然后在释放公共汽车之前崩溃怎么办?

重点是,在这种通信环境中,有很多事情可能出错。当您学习我时,您必须牢记这一点2c是因为否则,该协议似乎并不复杂和挑剔。事实是,这种额外的复杂性是我2C提供灵活,可扩展,健壮,低针计数的串行通信。

I2C通信概述

在详细了解任何细节之前,以下是I的关键特征2C:

  • 无论总线上有多少个设备,都只使用两个信号(时钟和数据)。
  • 通过适当尺寸的电阻器将两个信号拉到正电源电压上。
  • 每个设备通过开放式(或开放式)输出驱动程序与时钟和数据信号接口。
  • 每个从设备都是通过7位地址识别的;主人必须知道这些地址才能与特定的奴隶通信。
  • 所有传输均由大师启动和终止;主可以将数据写入一个或多个从属,或从从服务器上请求数据。
  • 标签“主”和“从”本质上是非永久性的:如果任何设备都包含了必要的硬件和/或固件,则任何设备都可以作为主或从。但是,实际上,嵌入式系统通常采用一个架构,其中一位主人将命令发送给或收集来自多个奴隶的数据。
  • 数据信号已在时钟信号的下降边缘上更新并在上升边缘进行采样,如下所示:

  • 数据在单字节部分中传输,每个字节随后是一个单位握手信号,称为ACK/NACK(确认或不划分)位。

I2C的优势是什么?I2C vs UART vs SPI

我的优势2C可以总结如下:

  • 即使在公共汽车上使用许多设备,也保持低针/信号计数
  • 适应不同的从设备的需求
  • 很容易支持多个大师
  • 合并ACK/NACK功能以改善错误处理

这是一些缺点:

  • 增加固件或低级硬件的复杂性
  • 强加限制吞吐量的协议架空
  • 需要上拉电阻,
    • 限制时钟速度
    • 在极其空间约束的系统中消耗有价值的PCB房地产
    • 增加功率耗散

从这些观点我们可以看到我2当您拥有复杂,多样或广泛的通信设备网络时,C是特别合适的。UART接口通常用于点对点连接,因为没有标准方法可以解决不同的设备或共享引脚。当您拥有一个主人和几个奴隶时,SPI很棒,但是每个从属需要一个单独的“从属选择”信号,当大量设备在总线上时会导致高销和路由困难。当您需要支持多个大师时,SPI很尴尬。

您可能需要故意避免2c如果吞吐量是主要的关注;SPI支持更高的时钟频率并最小化开销。另外,SPI(或UART)的低级硬件设计非常简单,因此,如果您使用FPGA并从头开始开发串行界面,我2C可能应该被认为是最后的手段。

结论

我们介绍了I的显着特征2C,我们现在对协议的利弊了解足够多,以允许明智的决定,您可以选择哪种串行总线为给定的应用程序。在将来的文章中,我们将详细介绍该协议以及如何实际实施它beplay体育下载不了。

进一步阅读