https://www.toutiao.com/a6661826931312296461/ 本文介绍了内部集成电路(AKA I2C)串行通信协议的基本特性和突出优点。 组件之间的通信:通信协议 毫无疑问,电子系统的共同特征是需要在两个或三个或十个单独的组件之间共享信息。 工程师已经开发出许多标准协议,可以帮助不同的芯片成功通信 - 当您在微控制器或数字信号处理器的功能列表中“通信”下面对缩略语时,这一事实就变得很明显:UART,USART,SPI,I2 C,CAN。。。。每个协议都有其优点和缺点,重要的是要了解每个协议,以便在选择组件或接口时做出明智的决定。 本文是关于I 2 C的,它通常用于位于同一PCB上的各个集成电路之间的通信。另外两种通用协议也适用于这种通用类别:UART(通用异步接收器/发送器)和SPI(串行外设接口)。在彻底理解这三个接口之间的比较之前,您需要了解I 2 C 的基本特征,因此我们将在本文末尾讨论该主题。 什么是I2C总线? I 2 C代表内部集成电路总线。但毫无疑问,I 2 C协议存在严重的术语问题。最简单 - 也可能是最不常见的 - 缩写是IIC。也许这个缩写被鄙视,因为两个大写我看起来像两个1,或两个小写的l,或罗马数字II,或并联电阻的符号。。。。无论如何,缩写I 2 C(称为“I squared C”)获得了普及,尽管将正常字母视为一个受取幂的变量的逻辑可疑。第三种选择是I 2C(“I two C”),它避免了上标格式的不便,并且比“I squared C”更容易发音。 当您注意到SMB或SMBus显然被用作引用I 2 C总线的另一种方式时,最后一层雾就会稳定下来。实际上,这些缩写是指系统管理总线,它与I 2 C总线不同,但几乎相同。最初的I 2 C协议是由Phillips Semiconductor开发的,多年后英特尔将SMBus协议定义为I2C的扩展。这两辆公共汽车基本上可以互换; 如果您对它们之间的细微差别感兴趣,请参阅 第57页。 就像试图在一个满是人的房间里进行重要的对话 要了解使I 2 C如此有效的巧妙技术,您需要考虑在多个独立组件之间实现可靠但通用的通信的难度。如果你有一个始终是主设备的芯片和一个始终是从设备的芯片,那么情况就很简单了。 但是如果你有多个奴隶怎么办?如果奴隶不知道主人是谁,该怎么办?如果有多个主人怎么办?如果主设备请求来自从设备的数据由于某种原因变得无法正常运行,会发生什么?或者如果奴隶在传输过程中失去功能会怎么样?如果主人要求总线进行传输然后在释放总线之前崩溃怎么办? 关键是,在这种通信环境中存在许多可能出错的问题。当你学习I 2 C 时,你必须记住这一点,因为否则,协议看起来会变得复杂和挑剔。事实上,这种额外的复杂性使I 2 C能够提供灵活,可扩展,强大,低引脚数的串行通信。 I2C通信概述 在我们了解任何细节之前,以下是I 2 C 的主要特征:
I2C的优点是什么?I2C与UART与SPI的比较 I 2 C 的优点可归纳如下:
这里有一些缺点:
从这些观点我们可以看出,当您拥有复杂,多样化或广泛的通信设备网络时,I 2 C特别适合。UART接口通常用于点对点连接,因为没有标准方法来寻址不同的设备或共享引脚。当你有一个主设备和一些从设备时SPI很棒,但是每个从设备都需要一个单独的“从设备选择”信号,当总线上有许多设备时,导致高引脚数和路由困难。当你需要支持多个主服务器时,SPI很尴尬。 如果吞吐量是主要关注点,您可能需要有意避免 I 2 C; SPI支持更高的时钟频率并最小化开销。此外,SPI(或UART)的低级硬件设计要简单得多,因此如果您正在使用FPGA并从头开始开发串行接口,I 2 C应该被认为是最后的选择。 结论 我们已经介绍了I 2 C 的显着特征,现在我们对协议的优缺点有了足够的了解,可以根据给定的应用程序选择哪种串行总线做出明智的决定。在以后的文章中,我们将更详细地探讨协议以及如何实际实现它。 |
|
来自: 山峰云绕 > 《计算机总线IO片选寄存器触发器内存元件》