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

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

3天内不再提示

I2C为何一定要升级到I3C?I3C能取代传统通信接口?

亿佰特物联网应用专家 2023-10-13 08:21 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

什么是I2C接口

I2C总线是大家比较熟悉的同步串行总线技术,是飞利浦公司于1981年发明的。它是一种2线SDA、SCL)同步串行接口,广泛用于连接外设与处理器MCU,实现设备之间的短距离通信。后来许多公司都推出了使用I2C总线规范的产品,其中包括Texas Instruments、NEC、Nordic Semiconductor、STMicroelectronics、Siemens、Intersil等科技公司。

652cb2fe-695e-11ee-9788-92fbcf53809c.png

I2C 接口主要特性:

(1)支持双向数据传输。

(2)两线接口通信(SDA(串行数据)和 SCL(串行时钟)。

(3)从设备使用7位、10位进行寻址。

(4)传输速率低,HS模式下仅3.4 Mbps。

(5)无固定传输长度。

I2C具有能够在控制器和外围设备之间进行快速、可靠的数据传输,同时可支持互连多个设备,实现多种数据的传输的优点。但随着应用场景需求的变化,其局限性也被凸显出来,如有限的速率、传输距离较短、功耗偏大等。为摆脱新需求下I2C的性能缺失,I3C应运而生。

什么是I3C接口?

I3C:Improved Inter Integrated Circuit。MIPI联盟于2016年正式发布了第一个I3C规范v1.0。I3C是改进型内部集成电路的缩写形式,是类似于I2C的2线数字接口。它对之前发布的I2C和SPI接口进行了改进和优化,解决了I2C通信速度慢的问题,优化了SPI通过四线连接的缺点。I3C同时解决I2C功耗较高的问题,I3C成为低功耗、低成本和快速数字接口,它支持主机MCU和传感器等外围设备之间的多点连接以及多主控设备。

相关阅读:超全面!SPI通信协议详解,一篇就够

653fc70e-695e-11ee-9788-92fbcf53809c.png

I3C 接口主要特性:

(1)2线串行接口(使用SDA和SCL),时钟频率高达12.5 MHz。

(2)向下兼容I2C。

(3)I3C采用动态寻址。

(4)支持静态I2C寻址。

(5)支持I2C单数据速率消息传送 (SDR)。

(6)支持可选的高数据速率消息传送模式 (HDR)。

(7)支持多点、带内中断和热插拔。

I2C 与 I3C 的区别

以下是I2C 和 I3C 在主要功能和参数上的差异:

6555ef66-695e-11ee-9788-92fbcf53809c.png

与I2C相比,I3C存在许多优势和差异,MIPI联盟虽尽量使I3C向后兼容I2C,但也并非完全向后兼容。如以下方面还存在显著区别:

1. 时钟延展

当设备间进行通信,出现设备要读/写数据但传输的数据尚未准备好的情况时,一些I2C设备会通过时钟延展来暂停时钟,从而允许更多的时间来满足某些时序要求。而I3C通信所支持的设备完全独立于SCL时钟,是禁止使用时钟停滞的。因此,支持时钟延展的I2C设备为能与I3C兼容,必须在无延展的时钟频率上工作。

2. 速率模式

I2C具有时序和最大通信速率各不相同的几种速率模式。但I3C并不支持I2C提供的所有速率模式,仅支持其中的两种速率模式,即快速模式和快速模式+。当I3C控制器与I2C目标设备通信时,控制器会降低总线速率。

3. Glitch滤波器

Glitch滤波器用于滤除通信总线上的各种无用噪声。许多I2C设备在串行线上内置50ns的Glitch滤波器,可以防止对数据和时钟的干扰。由于I3C支持更高的通信速率,因此没有在I3C中内置此类滤波器。

兼容I3C的设备需要哪些条件?

(1)使用适合此类I3C目标的ENTDAA、SETDASA和SETAASA CCC的任意组合,为I3C(2)总线上的任何I3C目标分配唯一的动态地址。

(3)特定的CCC和已知的静态地址(如果有的话)必须是预先配置的,即系统设计者已知的。

(4)管理其上拉结构,包括SDA和SCL的开漏类上拉和High-Keeper上拉。

(5)在漏极开路模式下管理START请求和地址标头仲裁。

(6)使用错误恢复升级模型恢复 I3C 目标设备。

(7)支持控制器强制执行的所有CCC命令,包括ENEC、DISEC、ENTDAA、SETDASA、RSTDAA、GETCAPS、RSTACT、GETPID、GETBCR、GETDCR 和 GETSTATUS。

上述要求适用于作为其I3C总线主控的I3C设备。在总线初始化期间作为辅助控制器的 I3C 设备(或在总线初始化后随后加入的设备)不需要满足所有这些要求。

I3C最初的设计初衷是作为用于所有数字接口传感器的单一接口用于移动应用。但它现在适用于MCU、传感器、控制器、电源调节器、FPGA等所有中速嵌入式和深度嵌入式应用。由于I3C的低功耗特性,允许多点连接,适用于所有嵌入式系统。I3C和I2C两种协议混用的情况将变得更加常见。

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

    关注

    33

    文章

    9449

    浏览量

    156155
  • 通信
    +关注

    关注

    18

    文章

    6318

    浏览量

    139579
  • I2C
    I2C
    +关注

    关注

    28

    文章

    1547

    浏览量

    130509
  • i3c
    i3c
    +关注

    关注

    1

    文章

    32

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    恩智浦推出多端口I3C集线器设备P3H2x4xHN

    P3H2x4xHN是款多端口I3C集线器设备,端通过I3C / I2C / SMBus总线连
    的头像 发表于 12-04 10:46 299次阅读
    恩智浦推出多端口<b class='flag-5'>I3C</b>集线器设备P<b class='flag-5'>3H2</b>x4xHN

    深入剖析I2C协议

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

    嵌入式接口通识知识之I3C接口

    用性,同时对传统I2C协议做了改进和扩展,增加了高速通信、低功耗、动态地址分配等特性,解决了I2C在设备中的些局限性。
    发表于 08-14 16:55

    STM32有哪些MCU能支持I2C HS模式和同时支持I3C 的吗?

    如题,想请问下STM32有哪些产品,能支持I2C HS模式,速率3.4Mbit/s。同时又支持I3C的(SDR12.5M),现在有个外设 分别支持I2C HS slave,I3C SD
    发表于 08-04 06:06

    简单了解I2C接口

    在电子电路的复杂世界里,各种电路模块设备需要相互通信才能协同工作 ,I2C接口就像是电路模块设备间的沟通桥梁,今天就带大家深入了解它。
    的头像 发表于 05-08 14:15 2085次阅读
    简单了解<b class='flag-5'>I2C</b><b class='flag-5'>接口</b>

    帝奥微推出I3C总线集线器产品DIO74812系列

    近日,江苏帝奥微电子股份有限公司(股票代码:688381)发布了国内首款应用于I3C总线的集线器产品DIO74812系列。
    的头像 发表于 04-03 16:52 1254次阅读
    帝奥微推出<b class='flag-5'>I3C</b>总线集线器产品DIO74812系列

    求助,关于RT700 I2C SCL频率设置的几个问题求解

    我在以传统 I2C 模式(Fm 、1MHz)运行的 I3C 总线上运行单个器件、并且我们遇到了 I2C 时序故障(参见附件)。我在 RT700 参考手册中看到有几个设置可以调整
    发表于 04-03 08:06

    STM32H503 I3C从机复位成主机,无法发出波形是为什么?

    I3C先初始化成目标设备,然后调用deinit i3C接口,再调用I3C INIT 初始化成控制器,但是这种情况下, I3C总线上是不会出
    发表于 03-14 12:01

    I3C控制器角色转移如何实现?

    I3C 控制器角色转移如何实现
    发表于 03-14 10:08

    I2C总线通信原理 如何设计I2C总线电路

    I2C总线通信原理 I2C(Inter-Integrated Circuit)总线是种用于集成电路之间进行通信的串行
    的头像 发表于 01-31 15:01 1896次阅读

    【RA-Eco-RA4E2-64PIN开发板试用】I2CI3C通信协议的应用

    【RA-Eco-RA4E2-64PIN开发板试用】I2CI3C通信协议的应用。 瑞萨RA4E2开发板集成32位的Arm Cortex-M3
    发表于 01-21 10:40

    I2C总线与Arduino的接口示例

    在现代电子设计中,I2C总线因其简单性和灵活性而广受欢迎。它允许多个设备共享同一通信线路,从而节省空间和成本。Arduino,作为个多功能的微控制器平台,自然也支持I2C
    的头像 发表于 01-17 15:34 2377次阅读

    I2C总线设备地址设置方法

    通常是个7位或10位的数字,用于标识总线上的每个设备。在7位寻址模式下,地址范围是0x000x7F,而在10位寻址模式下,地址范围是0x0000x3FF。
    的头像 发表于 01-17 15:17 7001次阅读

    I2C总线应用实例分析

    I2C总线使用两条线进行通信:数据线(SDA)和时钟线(SCL)。这种双线制设计使得I2C总线能够在多个设备之间共享,而不需要为每个设备单独布线。 应用实例:温湿度传感器 假设我们正在设计
    的头像 发表于 01-17 15:09 1251次阅读

    RA-Eco-RA4E2-64PIN开发板试用+I2cI3C通信协议的应用。

    【RA-Eco-RA4E2-64PIN开发板试用】I2CI3C通信协议的应用。 瑞萨RA4E2开发板集成32位的Arm Cortex-M3
    发表于 01-11 15:06