我相信互联网搜索引擎可为我提供可靠、快速的答案,因此当我第一次遇到I2C协议时,我首先寻求互联网搜索引擎获得帮助。我的搜索给出如下响应:内部集成电路(I2C)协议是双向双线串行总线,其提供集成电路之间的通信链路。这一解释已经很清楚了,但我还有更多的问题:它究竟是什么?什么类型的设备使用I2C?I2C如何帮我解决系统中遇到的实际问题?
I2C是使主设备(例如处理器,微控制器(MCU)或专用集成电路(ASIC))能够与同一双线总线上的其它外围设备通信的流行通信协议。一条线专用于数据传输,而另一条用于时钟信号。想象它就像一个双车道公路:每个车道都有汽车从一端流向另一端,就像数据包将从主设备(处理器、MCU、ASIC)传输到外围设备(温度传感器、湿度传感器及其它设备)。
那I2C到底是什么呢……现在,为什么要使用它?I2C可以在同一总线上轻松实现多个外设 - 例如,使用各种传感器来监视服务器的温度。I2C协议实际上设计用于在单个总线上支持多个设备,而如串行外设接口(SPI)的其他协议的设计用于点对点单设备支持。双线I2C接口还可以帮助简化对四线SPI接口的布线,并减少通用输入/输出(GPIO)。
TI的用于构建I2C树状图的产品组合可以分为三个功能,如图1所示:缓冲转换器、I / O扩展器和I2C开关。
图1:具有各种I2C功能设备的电子系统
当您的设计在集成电路(IC)之间的长走线和/或电压失配时遇到劣化信号时,I2C缓冲转换器可以帮助您。例如,如果您发现3.3V MCU I2C I / O和5V温度传感器之间存在电压失配,则可以使用I2C电压转换器(如PCA9306)。此外,对于长走线上的相同电压失配,您可使用缓冲转换器(如TCA9617B)来解决输出刷新信号时的电压差。
I2C I / O扩展器顾名思义 - 当选定的处理器无可用端口时,它们会扩展I / O数量,如图2所示。这些设备与标准GPIO扩展器不同,因为它们直接与I2C总线上的设备通信。该组合还提供了多种功能,具体取决于您的特定系统需求,例如通道数、复位引脚和电平转换。
图2:微控制器或处理器使用I / O扩展器控制外设
I2C开关可以解决两个不同的问题。第一个问题与地址冲突有关。当同一总线上的两个设备具有相同地址时通常会发生冲突。如果系统在同一I2C总线上有两个温度传感器和两个湿度传感器,所有地址为0xFF - 一个I2C开关可以一次切换到单个传感器;见图3。第二个问题与功耗有关。I2C开关一次只为I2C总线的一部分供电,从而在不使用时保持总线的未使用部分掉电。
图3:具有八个通道的I2C开关示例
起初,互联网搜索将会告诉您,I2C使系统设计人员能够轻松实现鲁棒的系统控制。这一协议不仅有用,而且还具有很多设备功能,可令您的系统受益。您可以使用缓冲中继器、I / O扩展器和I2C开关来增强,扩展并修改I2C总线实现,以满足您的独特设计目标。有关I2C设计的更多信息,请阅读应用注释“了解I2C总线”。
审核编辑:何安淇
-
模拟
+关注
关注
7文章
1420浏览量
83884 -
I2C
+关注
关注
28文章
1478浏览量
123153
发布评论请先 登录
相关推荐
评论