0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

I2C如何帮我解决系统中遇到的实际问题

电子设计 来源:网友电子设计发布 作者:网友电子设计发布 2021-12-19 16:00 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

我相信互联网搜索引擎可为我提供可靠、快速的答案,因此当我第一次遇到I2C协议时,我首先寻求互联网搜索引擎获得帮助。我的搜索给出如下响应:内部集成电路(I2C)协议是双向双线串行总线,其提供集成电路之间的通信链路。这一解释已经很清楚了,但我还有更多的问题:它究竟是什么?什么类型的设备使用I2C?I2C如何帮我解决系统中遇到的实际问题?

I2C是使主设备(例如处理器微控制器MCU)或专用集成电路(ASIC))能够与同一双线总线上的其它外围设备通信的流行通信协议。一条线专用于数据传输,而另一条用于时钟信号。想象它就像一个双车道公路:每个车道都有汽车从一端流向另一端,就像数据包将从主设备(处理器、MCU、ASIC)传输到外围设备(温度传感器湿度传感器及其它设备)。

那I2C到底是什么呢……现在,为什么要使用它?I2C可以在同一总线上轻松实现多个外设 - 例如,使用各种传感器来监视服务器的温度。I2C协议实际上设计用于在单个总线上支持多个设备,而如串行外设接口(SPI)的其他协议的设计用于点对点单设备支持。双线I2C接口还可以帮助简化对四线SPI接口的布线,并减少通用输入/输出(GPIO)。

TI的用于构建I2C树状图的产品组合可以分为三个功能,如图1所示:缓冲转换器、I / O扩展器和I2C开关。

poYBAGGKXFqAA8TjAAB_sJVSyB0855.png

图1:具有各种I2C功能设备的电子系统

当您的设计在集成电路(IC)之间的长走线和/或电压失配时遇到劣化信号时,I2C缓冲转换器可以帮助您。例如,如果您发现3.3V MCU I2C I / O和5V温度传感器之间存在电压失配,则可以使用I2C电压转换器(如PCA9306)。此外,对于长走线上的相同电压失配,您可使用缓冲转换器(如TCA9617B)来解决输出刷新信号时的电压差。

I2C I / O扩展器顾名思义 - 当选定的处理器无可用端口时,它们会扩展I / O数量,如图2所示。这些设备与标准GPIO扩展器不同,因为它们直接与I2C总线上的设备通信。该组合还提供了多种功能,具体取决于您的特定系统需求,例如通道数、复位引脚和电平转换。

poYBAGGKXFyAXa6dAABwff8Vf_k132.png

图2:微控制器或处理器使用I / O扩展器控制外设

I2C开关可以解决两个不同的问题。第一个问题与地址冲突有关。当同一总线上的两个设备具有相同地址时通常会发生冲突。如果系统在同一I2C总线上有两个温度传感器和两个湿度传感器,所有地址为0xFF - 一个I2C开关可以一次切换到单个传感器;见图3。第二个问题与功耗有关。I2C开关一次只为I2C总线的一部分供电,从而在不使用时保持总线的未使用部分掉电。

pYYBAGGKXF6AdpOkAACWKnxZSaY992.png

图3:具有八个通道的I2C开关示例

起初,互联网搜索将会告诉您,I2C使系统设计人员能够轻松实现鲁棒的系统控制。这一协议不仅有用,而且还具有很多设备功能,可令您的系统受益。您可以使用缓冲中继器、I / O扩展器和I2C开关来增强,扩展并修改I2C总线实现,以满足您的独特设计目标。有关I2C设计的更多信息,请阅读应用注释“了解I2C总线”。
审核编辑:何安淇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 模拟
    +关注

    关注

    7

    文章

    1448

    浏览量

    85562
  • I2C
    I2C
    +关注

    关注

    28

    文章

    1566

    浏览量

    131965
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于 RT-Thread 的软 I2C:比你想象的更简单

    一、前言先楫MCU提供了多达8路硬件I2C接口,功能非常完善。但在实际项目中,由于引脚资源紧张或引脚复用冲突,硬件I2C并不总是一个最优选择。另一方面,I2C在很多场景下仅用于初始化配
    的头像 发表于 05-19 22:01 3149次阅读
    基于 RT-Thread 的软 <b class='flag-5'>I2C</b>:比你想象的更简单

    Adafruit TCA9548A 1-to-8 I2C 多路复用器:解决 I2C 设备地址冲突的利器

    Adafruit TCA9548A 1-to-8 I2C 多路复用器:解决 I2C 设备地址冲突的利器 在电子设计,当我们遇到需要连接多个具有相同
    的头像 发表于 05-11 12:05 307次阅读

    SGM4541 I2C总线过压保护器:设计与应用的详细解析

    SGM4541 I2C总线过压保护器:设计与应用的详细解析 在如今的电子设备设计,保护电路免受过电压的损害是至关重要的。SG Micro Corp推出的SGM4541 I2C总线过压保护器,为
    的头像 发表于 03-17 16:30 501次阅读

    RK3576平台PCA9548 I2C开关设备树配置与生效全解析

    嵌入式开发,单路I2C总线往往无法满足多外设的挂载需求,NXP的PCA9548(8通道I2C Switch)是解决该问题的常用方案,尤其在RK3576等嵌入式平台的摄像头、VCM等多I2C
    的头像 发表于 02-28 11:18 1925次阅读
    RK3576平台PCA9548 <b class='flag-5'>I2C</b>开关设备树配置与生效全解析

    RK平台I2C开发:从硬件原理到实战排查

    在嵌入式开发I2C 总线是连接外设的 “桥梁”—— 小到传感器、EEPROM,大到 LCD 驱动器、音频芯片,都离不开它的控制。而瑞芯微(Rockchip)系列芯片作为主流嵌入式方案,其 I2C 控制器的开发是很多工程师的必
    的头像 发表于 02-05 13:42 3144次阅读
    RK平台<b class='flag-5'>I2C</b>开发:从硬件原理到实战排查

    I2C 为什么只要两根线就能搞定通信?

    到目前为止,我们已经讨论了SPI通信和UART通信的基础知识,现在让我们讨论本系列的最后一个协议,即集成电路间协议(I2C)。如果您曾经构建过使用OLED显示器、气压传感器或陀螺仪/加速度计模块
    的头像 发表于 01-04 09:14 2192次阅读
    <b class='flag-5'>I2C</b> 为什么只要两根线就能搞定通信?

    P82B715:I2C总线扩展的得力助手

    P82B715:I2C总线扩展的得力助手 在电子设计领域,I2C总线是一种常用的通信协议,但它的总线电容限制往往会影响实际通信距离和系统设计。今天,我们就来详细了解一下德州仪器(TI
    的头像 发表于 12-26 10:20 1891次阅读

    基于FPGA的I2C控制模块设计

    I2C_WRITE_WDATA.v模块实现I2C写时序,I2C_Controller (I2C控制器)例化了I2C_WRITE_WDATA.
    的头像 发表于 12-26 09:48 6436次阅读
    基于FPGA的<b class='flag-5'>I2C</b>控制模块设计

    AS32X601的I2C模块操作EEPROM详解

    国科安芯推出的AS32X601系列MCU芯片内置的I2C模块提供了符合工业标准的两线串行制接口,可用于MCU和外部I2C设备的通讯。I2C总线使用两条串行线:串行数据线SDA和串行时钟线SCL
    的头像 发表于 12-21 21:39 1776次阅读
    AS32X601的<b class='flag-5'>I2C</b>模块操作EEPROM详解

    I2C的状态码

    I2C 总线状态通过 I2C 状态寄存器 I2Cx_STAT 来标识,共 26 个正常接收或发送状态,和 2 个特殊状态(0xF8:I2C
    发表于 12-08 08:04

    I2C死锁的问题

    实际使用过程中I2C比较容易出现的一个问题就是死锁 ,死锁在I2C主要表现为:I2C死锁时表现为SCL为高,SDA一直为低。 在
    发表于 12-04 06:00

    如何使用I2C的各个函数?

    在加入I2C驱动时,会有i2c_core.c这样的C文件,里面的各个函数怎么用有没有例子,非常感谢
    发表于 09-12 06:24

    深入剖析I2C协议

    I2C是由Philips开发的简单的双向两线总线,在深入浅出理解SPI协议,我们区分了单工,半双工,全双工协议数据流向的区别,根据特征,I2C协议属于半双工协议(即同一时刻,数据单向流动)。此外
    的头像 发表于 08-21 15:10 4059次阅读
    深入剖析<b class='flag-5'>I2C</b>协议

    I2C总线通信,为什么要进行电气隔离?

    I2C总线采用双向二线制,支持多主机多从机通信,具备高可靠性、抗干扰能力强,广泛应用于嵌入式系统
    的头像 发表于 08-11 11:04 2775次阅读
    <b class='flag-5'>I2C</b>总线通信,为什么要进行电气隔离?

    第十八章 I2C通信测试

    本章介绍了I2C协议,其物理层用SDA和SCL双线,支持多设备:协议层含起始/停止信号、应答机制等。还讲解W55MH32的I2C外设及初始化,并进行了通信测试代码的分析。
    的头像 发表于 06-19 17:07 1574次阅读
    第十八章 <b class='flag-5'>I2C</b>通信测试