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

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

3天内不再提示

从I2C升级革新到I3C,I3C能否取代传统接口?

Robot Vision 来源:电子发烧友网 作者:Sisyphus 2022-12-07 07:25 次阅读

电子发烧友网报道(文/李宁远)I2C作为一种简单的双向二线制同步串行总线,已经为人们所熟知,在信息传输领域有着不少应用。此前大家对I2C的印象是结合了SPI和UART的优点,但随着应用的发展,I2C速率低、功耗大的短板日趋明显,这时就需要新的升级版的总线协议来接棒。

I3C,全称Improved Inter Integrated Circuit,作为I2C的升级版接过了这个I2C手中的接力棒。I3C整合并统一了I2C和SPI的关键属性,同时通过全面、可扩展的接口和体系结构改进每种方法的功能和性能。该规范还预测了未来移动、移动影响和嵌入式系统行业所需的传感器接口架构。

I3C,升级版I2C

在过去的几十年里,I2C的广泛应用可以说是有目共睹,但是其本身也有着两个避不开的缺点,一是速率受限,二是功耗偏大。此前也有不少SPI代替I2C的做法,但是SPI本身应用比较宽泛,最终也没能替代I2C。随着移动设备上传感器数量的增加,总线上数据量开始膨胀,I2C的瓶颈越来越明显。为了提升I2C的性能,早在2013年,MIPI联盟传感器接口工作组就启动了基于I2C的需求升级。

I3C作为I2C的升级版,在使用功率和性能方面有重大改进,同时速率也升级到可以替代SPI的中速,相当于SPI 30MHz下的速率。I3C规范的主要制定者包括NXP,Qualcomm,Intel,还有InvensenseTI,STM,Synopsys,CadenceMentor,Sony,Knowles,Lattice这些提供助力的厂商

众所周知I2C是两根线,但是它的中断脚、使能脚等等都要通过GPIO连到SoC上,随着传感器数量的增加,使用I2C只能不断增加GPIO。I3C将这些中断做成了内置,可以帮SoC省去很多GPIO。I3C也是向后兼容I2C,I2C可以平稳地过渡到I3C。这一升级有效助力了智能手机、可穿戴设备、物联网设备、增强现实/虚拟现实和汽车系统实现更多设计创新。

I3C优势与应用场景在哪里

poYBAGOP7WqAXoWVAAFSXC1DyJQ770.png
I2C与I3C传感器接口框图对比,NXP


从上图I2C与I3C传感器接口框图对比可以很明显地看到,虽然I2C说是只有时钟线数据线,但是还需要很多额外的从线连到SoC上,GPIO数量的增加以添加SoC包引脚和PCB层计数的形式增加了系统成本,相比之下I3C的布线情况就简洁很多,只需要两根信号线即可,可以显著缩小SoC尺寸。

至于功耗,众所周知I2C的两根线SCL和SDA都是需要接上拉电阻的,上拉电阻的存在导致了I2C功耗会比较大,I3C的SCL全程采用推挽,SDA大部分时间也在推挽模式下工作,因此功耗会降低很大一部分。

poYBAGOP7XOAfogxAAFf-BlWsBI130.png
功耗与速率对比,NXP


速率上I2C典型的速率有3 Mbps max at 3.4 MHz (Hs)、0.8 Mbps max at 1 MHz (Fm+)、0.35 Mbps max at 400 KHz (Fm)。I3C典型的数据模式SDR是12MHz下的10.6Mbps,最高速率是HDR模式下的三元采样,达到12.5MHz下的30Mbps。

另外,I2C是没有命令字的,I3C则有着一整套通用命令字的集合。可以通过这些命令字实现动态地址分配、检查当前总线状态、时间控制、IO扩展等等功能。整个功能比I2C有着全面的提升。

从I3C最典型的SDR信号处理上来看,动态地址分配后其启动条件与I2C相同(SCL和SDA从高降到底),但接下来就不同了,I3C SCL可以达到4MHz,并且其高周期<45 ns,比I2C要求的50 ns低得多。接收到ACK之后,主机就会将SDA更改为推挽模式,并将其时钟增加到12.5 MHz使器件进入SDR模式。

地址仲裁可以说是I3C极为重要的特性。上面提到,I3C将中断内置(IBI)进来了,当Slave产生中断时,IBI就会主动向主机发送中断信息,上传地址与其他信息。多个Slave同时产生中断,这时候就有多个地址信息,就需要进行地址仲裁判别优先级。地址仲裁遵从一个原则,那就是0s优先,哪个Slave小哪个优先级更高。地址冲裁也对热插拔、动态地址分配以及多主机申请判别同样有效。

I3C规范的更新

I3C协议V1.1.1的两部分(MIPI会员版和基本版)均是在在去年发布。在最新的V1.1.1版本中,Slave增加了Reset机制,简单来讲就是使用退出HDR模式的方法增强了协议的故障恢复能力。

其次,增加了Group的寻址方式,可以对多个Slave进行分组然后进行寻址,类似于PMBus;再者是引入了HDR-BT模式,以12.5MHz提供高达97Mbps的数据速率;对于DDR模式则增加了Slave的中止、CRC功能;另外,Device-to-device tunnel机制也加入进来,实现Slave之间的直接通信

I3C厂商动向

NXP

NXP作为I3C协议的主要制定者,提供IP与Silvaco合作,提供Free Basic Slave、Standard Slave、Advanced Slave以及主机四种不同包装的I3C产品,根据不同具体应用的区别,可以为Slave模块添加1.5K到2.5K的门,消耗的功率也很小,并支持采用时钟门控和其他方法来限制功耗。其后端可以在没有系统时钟的情况下运行。在NXP的RT系列MCU中,也可以看到I3C的身影。

Synopsys

Synopsys也发布了DesignWare MIPI I3C控制器IP,可以将更多传感器集成到系统中,同时简化电路板设计并降低总体成本和功耗。DesignWare MIPI I3C控制器IP多主机操作和32位ARM AMBA 高级外设总线(APB)从接口。基于标准的APB接口将IP连接到SoC的其余部分,同时总线连接到寄存器和直接存储器访问(DMA)接口,从而实现轻松的IP集成,使设计人员能够拥有完整的传感器接口解决方案。

Cadence

作为联盟成员Cadence可以提供MIPI I3C控制器。适用于MIPI I3C的Cadence控制器IP符合MIPI I3C规范,并与I2C规范兼容,其设计可快速轻松地集成到任何移动嵌入式SoC设备中,并以更好的性能和电源效率扩展传感器通信能力。MIPI I3C控制器具有成为I3C总线上的启动器/主机或目标的能力。

pYYBAGOP7YWABGiQAAFfAIsSPRo163.png
Cadence


瑞萨电子

今年,瑞萨电子与Intel联手推出了面向下一代服务器主板和其他基础设施设备的I3C智能开关器件RG3MxxB12系列,为机架内的每个子系统带来先进的平台管理功能。I3C智能开关产品家族允许以最大速度将两个发起设备(上行)端口扩展到四个、八个或更多的目标端口,是MIPI I3C基础应用很好的用例。

poYBAGOP7Y-AUXVoAAGq4QfE5TU505.png
瑞萨电子


TI

随着系统中目标设备数量的增加,主机控制器必须考虑减少延迟、实现关键警报功能以及降低通信期间的功耗。TI在今年推出了基于I3C的温度传感器TMP139,以解决DDR5 DIMM等复杂系统中的低延迟热传感挑战。在I3C的助力下,TMP139温度精度超过了规范要求,可实现更高性能的DDR5存储器模块。

pYYBAGOP7ZiAYwQWAAAhkGyykHg972.png
TI


小结

I3C作为一种可扩展、实用和控制的基于I2C升级而来的总线接口,能更为便捷得将外围设备连接到应用程序处理器,其简洁、集成性高、成本效率高的优势非常明显,给智能手机、可穿戴设备、汽车系统等任何移动产品提供了创新的设计思路。假以时日,I3C进一步开放授权并强化性能,I3C取代传统的I2C,SPI,UART等接口也不是不可能。


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

    关注

    0

    文章

    23

    浏览量

    4671

原文标题:从I2C升级革新到I3C,I3C能否取代传统接口?

文章出处:【微信号:elecfans,微信公众号:电子发烧友网】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    CX3 I2C启动失败的原因?怎么解决?

    为 Z1Z 还是 1ZZ,系统都无法 I2C 启动。 使用逻辑分析仪测试 I2C 信号。 启动时可以读取第一帧的数据。 与 AN76405 相比,数据回读是正确的。 但奇怪的是,I2C
    发表于 02-23 06:53

    造成FX3 I2C延迟的原因?

    I2C 站通信时,我在 I2C 数据包之间遇到延迟。 当不通过批量传输数据时,操作可以正常运行,延迟很短。 但是,连续使用批量传输时,I2C 数据包之间会有明显的延迟。 我
    发表于 02-23 06:39

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

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

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

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

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

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

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

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

    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

    STM32H5 I3C HAL_I3C_Ctrl_Receive_IT()怎样设置才能屏蔽掉reserved byte只跟target addr呀

    _PRIVATE_WITHOUT_ARB_STOP (0x90000004U) /*!< Stop between each I3C Private message.Each Message start with Target address
    发表于 08-05 07:09

    求助,可否提供一份NUCLEO-H503RB开发板的I3C自通信例程?

    stm32h503片上有两个I3C外设,在例程包内只看到有单独配置I3C Master或Slave的例程,能否提供一个例程实现单块开发板自通信? 谢谢
    发表于 08-05 06:40

    stm32h503的i3c读写lsm6dso失败是什么原因造成的

    参考STM32Cube_FW_H5_V1.0.1\\Projects\\NUCLEO-H503RB\\Examples\\I3C下面的例子,读whoami寄存器失败,波形不是我想要的,哪位跑通了呢?例程正常吗?
    发表于 08-05 06:09

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

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

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

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

    免费的I3C从属IP芯片是否经过验证?

    免费的 I3C 从属 IP 芯片是否经过验证?
    发表于 05-05 07:16