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

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

3天内不再提示

突破I2C速率与紧凑设计限制,I3C正在成为下一代主流串行通信技术

Robot Vision 来源:电子发烧友网 作者:李宁远 2023-09-17 01:55 次阅读
电子发烧友网报道(文/李宁远)I2C总线,一个为大家熟知的简单、双向二线制同步串行总线技术,由Philips公司开发。I2C只需要两根线即可在连接于总线上的器件之间传送信息,已经被广泛地应用于连接各种传感器、液晶屏幕和存储器当中。
此前大家对I2C的印象是结合了SPI和UART的优点,既轻巧又简单,而且成本还不高。I2C能够在控制器和外围设备之间进行快速、可靠的数据传输,它还能支持互连多个设备,实现多种数据的传输。
但随着应用场景需求的变化,I2C长期以来的短板被充分地暴露了出来,串行总线技术也由此迎来了升级。
I2C式微,从I2C升级到I3C
在过去的几十年里,I2C的广泛应用已经说明了其在硬件通信中的稳固地位,其轻巧、简单、成本低的特性有目共睹。不过I2C虽然是嵌入式器件的主要接口选择,实现起来相对简单并且多年来已被广泛采用,但它缺乏某些重要特性,并存在局限性,有着避不开的缺点。在深度嵌入式应用中尤其如此,会严重影响紧凑型系统的设计。这些缺点一是速率受限,二是传输距离受限,三是功耗偏大。
I2C协议的通信距离是相对较短的,很容易受到电缆长度和信号衰减等因素的影响,所以一般近距离的设备连接才会使用I2C。传输速率并不是I2C的专长,此前因为传输速率受限,也有不少SPI代替I2C的做法,但是SPI本身应用比较宽泛,最终也没能替代I2C。
随着智能手机、可穿戴设备、IoT设备、汽车系统以及服务器环境变得越来越先进和复杂,需要更精简、高性能、可扩展和具有成本效益的通信接口来控制和高速传输数据,并需要节能和节省空间的设计。
在现在总线数据量开始膨胀的当下,I2C已经发展到了该技术的瓶颈。为了摆脱新需求下I2C的性能缺失,MIPI联盟传感器接口工作组很早就启动了基于I2C的需求升级。
MIPI联盟于2016年正式发布了第一个I3C规范v1.0。最初版本的I3C旨在提供集成不同类型传感器所需的功能基线,包括高时钟速度、发明中断或连接、高数据速率模式、定时控制等功能。
I3C,作为I2C的升级版正式开始接过I2C手中串行总线技术的接力棒。这个被定义为智能多功能接口的I3C,整合并统一了I2C和SPI的关键属性,同时通过全面、可扩展的接口和体系结构改进每种方法的功能和性能。该规范还预测了未来移动、移动影响和嵌入式系统行业所需的传感器接口架构。
总的来看,I3C这种使用互补金属氧化物半导体CMOS I/O实现串行通信的接口,使用两线制来更大限度地减少引脚数量以及元件之间的信号路径数量,这一点对于空间紧凑型的物联网、可穿戴设备至关重要。同时此接口支持在极低的功率级别下使用更高带宽的工作模式,并有助于实现更简单、更灵活的设计。
I3C的功能演进
I3C v1.0发布后,后续又更新迭代了多个版本,2018年I3C basic v1.0发布,主要开放了非MIPI成员的功能受限可用版本,并追加了传感器集成和DDR5相关的基础功能。
到2019年的v1.1版本,更多功能被引入进来,HDR-BT Mode、Group Addressing、Multi-Lane for Speed、Target Reset等功能加入。这些功能的引入,让I3C在内存管理、通信调试、电源管理等方向上得以进一步发挥优势。
到目前最新的版本v1.1.1,相关功能被做了进一步优化和增强,并将MIPI会员版和基本版做了区分。基础版中缺失的功能也被补充了进来,比如Slave增加了Reset机制,使用退出HDR模式的方法增强了协议的故障恢复能力。
相较于I2C,I3C传输速率上的提升是最明显的,I2C协议规定了100K、400K和3.4M三种速率(bps)。而I3C支持从12.5 Mbps到接近37.5 Mbps的通信速率。这是传统I2C、SPI、UART都不具备的,也直接解决了数据量膨胀的传输需求。
传输速率升级并没有带来功耗的困扰,传统I2C的两根线SCL和SDA都需要接上拉电阻,上拉电阻的存在导致了I2C功耗会比较大。而I3C的SCL全程采用推挽,SDA大部分时间也在推挽模式下工作,因此功耗会降低很大一部分。
二者的能耗(每数据位)对比上,SDR模式下I2C能耗达到了接近4,而I3C不会超过1.5。功耗的大幅降低让I3C能够更轻松地适配各种传输应用。而且I3C还有降低速率保证精度的工作模式,这一模式下,能耗会进一步降低。
另一个痛点是传输距离,I2C的理论传输距离是可以到10米的,但是实际应用中远到不了这个传输距离。I2C极容易受到干扰,基本上只适合用于板极器件的通信,中距离都不一定能够胜任。
I3C根据协议规范,其通信距离理论上是能到100米的。虽然实际中不大可能去挑战这个理论传输距离,但是中距离的通信传输是没有问题的,I3C整个可负载量的提升也提高了其抗干扰能力,不会像I2C一样容易受到干扰。
凸显I3C特性的终端应用
从I2C到I3C的升级目前正在稳步推进中,I3C保留了向后兼容I2C的特性,在各个应用中慢慢进行升级并取代I2C。市场的转变需要时间,不过目前已经有一些应用已经在I3C的加持下开始发挥独特优势。
最典型的就是智能手机和物联网设备,这些设备里具有不少I2C和SPI器件的组合应用。I2C需要很多额外的从线连到设备的SoC上,GPIO数量的增加以添加SoC包引脚和PCB层计数的形式增加了系统成本,并且这些器件的应用增加了不少整体功耗。I3C机制的引入,既降低了系统的成本也大大降低了设计的复杂性。
在服务器或无线基站中,I3C也开始越来越多地被应用。这要归功于I3C热加入功能的引入,热加入功能可以在运行期间开启和关闭总线上的某些器件,从而实现“分段式供电”设计。在服务器或无线基站中有很多不可能让系统断电,需要热插拔功能的设计,I3C这个特性对这些应用来说非常重要。
DDR5,MIPI I3C的核心应用,下一代的高性能数据系统肯定绕不开向I3C升级。DDR5 通过使用 MIPI I3C可以明显的改善内存带宽,解决下一代数据系统的设计难题。I3C提供高性能的超过30Mbps(单通道模式)和 100Mbps(四通道模式)的速度对DDR5的优化作用是不言而喻的。
写在最后
I3C作为一种可扩展、实用和控制的基于I2C升级而来的总线接口,能更为便捷地将外围设备连接到应用程序处理器,其简洁、集成性高、成本效率高的优势非常明显,给智能手机、可穿戴设备、汽车系统等任何移动产品提供了创新的设计思路。
随着该技术的逐步取代I2C,小到智能手机、可穿戴设备、PC、大到汽车系统、计算中心,该技术一定将成为各种应用中的主流串行总线技术。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • I2C
    I2C
    +关注

    关注

    28

    文章

    1347

    浏览量

    120830
  • 串行通信
    +关注

    关注

    4

    文章

    535

    浏览量

    35023
  • i3c
    i3c
    +关注

    关注

    0

    文章

    23

    浏览量

    4681
收藏 人收藏

    评论

    相关推荐

    i2c的从机数量有限制吗?

    我想请问下,i2c的从机数量有限制吗?看到有人说最大八个从机, I2C_SetSlaveAddr(I2C_MS_PORT, 1, 0x
    发表于 01-17 08:04

    使用两片ADU360进行I2C通信,当与从机进行通信时,从机无法进入I2C中断是为什么?

    问题说明:使用两片ADU360进行I2C通信,主机使用IO口模拟方式,从机使用内部外设 主机IO口模拟方式,确认是可行,当与从机进行通信时,从机无法进入I2C中断 以下为
    发表于 01-15 06:47

    最简单的总线通讯!I2C通讯总线的原理原来这么好懂

    通讯I2C
    安泰仪器维修
    发布于 :2024年01月02日 11:16:31

    AT32F423 I2C使用指南

    AT32 的 I2C 总线接口用于处理微控制器和串行 I2C 总线之间的通信,支持主机和从机模式,支持唤醒深睡眠模式,最大通信速度为 1Mb
    发表于 10-26 06:33

    I2C总线的使用与编程

    I2C总线是飞利浦公司在20世纪80年初由S定义的种二线制总线系统。I2C总线是种双向的,专为简单但高效的控制应用而设计。 它广泛应用
    发表于 09-04 07:23

    全面掌握面试必考题I2C协议 - 第12节

    I2C协议
    充八万
    发布于 :2023年09月01日 19:07:43

    全面掌握面试必考题I2C协议 - 第10节

    I2C协议
    充八万
    发布于 :2023年09月01日 19:06:03

    i2c的从机数量有限制吗?

    我想请问下,i2c的从机数量有限制吗?我在论坛上看到有人说最大八个从机, I2C_SetSlaveAddr(I2C_MS_PORT,
    发表于 08-29 06:56

    80 第23.1讲 I2C实验-I2C协议和6U的I2C控制器详解 - 第4节 #硬声创作季

    程序代码I2C协议
    充八万
    发布于 :2023年08月17日 10:05:14

    80 第23.1讲 I2C实验-I2C协议和6U的I2C控制器详解 - 第3节 #硬声创作季

    程序代码I2C协议
    充八万
    发布于 :2023年08月17日 10:04:23

    80 第23.1讲 I2C实验-I2C协议和6U的I2C控制器详解 - 第2

    程序代码I2C协议
    充八万
    发布于 :2023年08月17日 10:03:33

    基于 FPGA 的模拟 I2C协议系统设计

    ) 导读 I2C(Inter-Integrated Circuit),其实是 I2C Bus简称,中文就是集成电路总线,它是串行通信总线
    发表于 08-14 18:21

    I2CI3C关于功耗和传输速率的对比

    I2CI3C 关于功耗和传输速率的对比: I3C 使用推挽功能的双线串行接口,速度可达 12.5 MHz
    的头像 发表于 07-22 16:24 1092次阅读
    <b class='flag-5'>I2C</b>和<b class='flag-5'>I3C</b>关于功耗和传输<b class='flag-5'>速率</b>的对比

    如何将ESP8266模块移动到I2C通信而不是串行通信

    正在做一个项目,我们想在我们的 teensy 4.0 上释放I/O 引脚。我们正在寻求将我们的 ESP8266 模块移动到 I2C
    发表于 06-07 06:14

    关于RT685 I3C多主机能力的问题求解

    些疑问: 1) 对于 I3CI3C 总线可以支持这种配置下的多主机吗? 2) I2C 的相同问题,如果我们在 FM+ 模式下将外围设备连
    发表于 05-24 12:24