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

    文章

    30

    浏览量

    4819

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

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

收藏 人收藏

    评论

    相关推荐

    RISC V的I2C操作

    (TxData)i2c_txByte(I2C_CTRL, 0xC0);//master/slave send data3、主/接收数据(RxData)
    的头像 发表于 11-01 11:06 200次阅读

    I3C–下一代串行通信接口

    电子发烧友网站提供《I3C–下一代串行通信接口.pdf》资料免费下载
    发表于 09-07 10:35 3次下载
    <b class='flag-5'>I3C</b>–下一代串行通信<b class='flag-5'>接口</b>

    优秀实践:I3C共享总线上的I2C器件

    电子发烧友网站提供《优秀实践:I3C共享总线上的I2C器件.pdf》资料免费下载
    发表于 09-06 09:49 0次下载
    优秀实践:<b class='flag-5'>I3C</b>共享总线上的<b class='flag-5'>I2C</b>器件

    适用于I3C应用的重要多路复用器特性

    电子发烧友网站提供《适用于I3C应用的重要多路复用器特性.pdf》资料免费下载
    发表于 09-03 09:22 0次下载
    适用于<b class='flag-5'>I3C</b>应用的重要多路复用器特性

    I3C电压转换器和多路复用器快速参考

    电子发烧友网站提供《I3C电压转换器和多路复用器快速参考.pdf》资料免费下载
    发表于 08-28 11:29 0次下载
    <b class='flag-5'>I3C</b>电压转换器和多路复用器快速参考

    具有 I2CI3C接口的 TMP139 0.5°C 精度 JEDEC DDR5 B级数字温度传感器数据表

    电子发烧友网站提供《具有 I2CI3C接口的 TMP139 0.5°C 精度 JEDEC DDR5 B级数字温度传感器数据表.pdf》资料免费下载
    发表于 08-12 10:57 0次下载
    具有 <b class='flag-5'>I2C</b> 和 <b class='flag-5'>I3C</b><b class='flag-5'>接口</b>的 TMP139 0.5°<b class='flag-5'>C</b> 精度 JEDEC DDR5 B级数字温度传感器数据表

    如何利用I3C提升嵌入式系统性能

    单片机(MCU)作为嵌入 的主要组成部分,用于控制传感器信号采集和闭环控制等应用功能。我们将深入探讨可以利用带 式系统 I3C 通信 接口的 MCU 的几类应用,为 I2C 和 SPI 实现方案提供稳健的
    发表于 07-17 06:02 1114次阅读
    如何利用<b class='flag-5'>I3C</b>提升嵌入式系统性能

    使用stm32cubide的cubeMAX,没有i3c的选项,为什么?

    我使用stm32cubide的cubeMAX,没有i3c的选项。 示例工程中是显示这个的
    发表于 07-05 06:37

    STM32H563的I3C无法正常通信是为什么?

    STM32H563的I3C通讯问题,两块H563的开发板i3c通讯,两块板子烧的例程, I3C的线对接后。 无法正常通信,卡在while (HAL_I3C_GetState( hi
    发表于 07-03 07:29

    TCA39306-Q1双路双向I3CI2C总线和SMBus电压电平转换器数据表

    电子发烧友网站提供《TCA39306-Q1双路双向I3CI2C总线和SMBus电压电平转换器数据表.pdf》资料免费下载
    发表于 06-21 11:03 0次下载
    TCA39306-Q1双路双向<b class='flag-5'>I3C</b>、<b class='flag-5'>I2C</b>总线和SMBus电压电平转换器数据表

    I3C接口通信基础

    I 2 CI3C之间显着的变化是时钟速度。I 2 C
    发表于 05-03 10:22 3745次阅读
    <b class='flag-5'>I3C</b><b class='flag-5'>接口</b>通信基础

    什么是I2C协议 I2C总线的控制逻辑

    在实际使用过程中,I2C比较容易出现的一个问题就是死锁 ,死锁在I2C中主要表现为:I2C死锁时表现为SCL为高,SDA一直为低。
    发表于 03-12 09:17 1064次阅读
    什么是<b class='flag-5'>I2C</b>协议 <b class='flag-5'>I2C</b>总线的控制逻辑

    i2c接口由哪几根线组成 i2c接口可以接哪些器件

    I2C接口的线路可以适应不同的系统需求和器件规格,因此具体的线路配置可能会有所不同。但通常来说,时钟线(SCL)和数据线(SDA)是I2C接口的核心线路。
    的头像 发表于 03-05 16:55 3790次阅读
    <b class='flag-5'>i2c</b><b class='flag-5'>接口</b>由哪几根线组成 <b class='flag-5'>i2c</b><b class='flag-5'>接口</b>可以接哪些器件

    什么是I3C接口 I3C和SPI接口有什么区别

    I3C接口使用两根通信线,一根是数据线(SDL),另一根是时钟线(SCL)。与I2C总线一样,I3C接口也支持多主设备(Main Maste
    的头像 发表于 03-05 16:50 2844次阅读
    什么是<b class='flag-5'>I3C</b><b class='flag-5'>接口</b> <b class='flag-5'>I3C</b>和SPI<b class='flag-5'>接口</b>有什么区别

    什么是I2C接口?什么是I3C接口I2CI3C的区别

    I2C接口是一种串行通信协议,全称为Inter-Integrated Circuit,即集成威廉希尔官方网站 间总线。它是一种双向、两线制(SCL和SDA)的串行通信接口,主要用于连接微控制器和其他外围设备,如传感器、存储器、显示器等。
    的头像 发表于 02-17 14:39 6327次阅读
    什么是<b class='flag-5'>I2C</b><b class='flag-5'>接口</b>?什么是<b class='flag-5'>I3C</b><b class='flag-5'>接口</b>?<b class='flag-5'>I2C</b>与<b class='flag-5'>I3C</b>的区别