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

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

3天内不再提示

I3C的技术概述

汽车玩家 来源:eeweb 作者:Stefano Lovati 2021-06-28 17:36 次阅读

电子传感器市场不断扩大,同比增长率达到两位数。推动这一增长的主要因素是物联网设备、移动设备(智能手机和平板电脑)和可穿戴设备中引入的大量传感器。由于采用了传感器融合技术,前所未有的应用场景现在成为可能,通过该技术将从多个传感器获取的信息组合以获得单个传感器无法获得的高级聚合信息。最常用于与这些传感器进行通信和控制的接口是内部集成电路 (I2C),其规格由飞利浦半导体(现为 NXP)于 1982 年推出。另一种常见接口是 SPI。至于SPI,它需要四根线,并且有许多不同的实现,因为没有明确定义的标准。

这种在短时间内变得非常流行的接口的主要优点是只需要两个信号(一个用于数据,一个用于时钟),可以在同一总线上连接多个设备,并且能够支持不同的传输速率。然而,I2C 接口有一些重要的限制,包括连接到总线的从设备无法发起通信,需要使用上拉电阻(这会导致功率吸收增加和上升时间缓慢),以及限制性能的通信协议。

当今与传感器的接口对设计人员来说是一项艰巨的挑战,请记住市场上有多种接口(I2C、SPIUART 等),而拥有一个一致且通用的协议(a一种通用接口)与各种传感器进行通信。在本文中,我们将看到一个能够响应这些需求、结合 I2C 和 SPI 的优势并添加新功能的接口如何存在:I3C 接口,其正式名称为 MIPI 联盟改进的内部集成电路.

I3C接口的目的

在保持向后兼容性的原始 I2C 标准的基础上,由 MIPI 联盟标准化的新 I3C接口增加了改进和重要的附加功能,例如多点操作机制。这种创新接口的主要目的是引入一个通用标准来管理与不同类型传感器的通信,同时确保高性能、低功耗和减少接口引脚数量。图1展示了界面的应用图,在其中我们可以立即看到:

  • 只有两条线(SDA 和 SCL)的通信总线,与传统 I2C 完全一样
  • 多种速度通信模式,允许高达 30.3Mbps 的数据数据
  • 带内中断和热连接机制
  • 在同一总线上连接多个主节点的可能性
  • 能够连接 I3C 和 I2C 从设备(向后兼容)

图 1:I3C 总线应用图

I3C 接口中引入的新功能之一是,连接到总线的每个从设备都可以利用用于通信协议的相同 SDA 和 CLK 线生成中断信号。在这方面,我们称之为“带内”中断 (IBI),这意味着不需要额外的线路或信号,从而节省成本并简化连接。以完全类似的方式,可以管理带内命令代码。其他显着特性包括 7 位动态寻址,仅适用于 I3C 设备(仍保留传统 I2C 接口的静态寻址)、多主机操作以及对总线上“热插拔”设备的支持(热连接功能) . I3C 接口还支持低功耗操作并显着提高传输数据速率,

I3C:技术概述

电气的角度来看,I3C 接口与 I2C 标准有一些相似之处(例如只有两条线,SDA 和 SCL),但也有一些显着差异。首先,数据信号 (SDA) 具有开漏配置(例如,可以使用集电极开路输出来实现),允许从设备控制总线并发送中断。时钟信号 (SCL) 可以切换到推挽配置,这允许主设备生成基本频率为 12.5 MHz 的时钟信号。更准确地说,I3C 具有四种数据传输模式:SDR 模式下的 12.5 Mbps(默认)和 HDR 模式下的 25、27.5 和 39.5 Mbps。不包括链接到每个事务的控制字节,可实现的实际比特率分别为 11.1、20、23.5 和 33.3 Mbps。

在左侧的图 2 中,我们看到了 I3C(在其不同操作模式下)与传统 I2C 接口的功耗 (mJ/Mb) 之间的比较。蓝色条形图表示 3.3V 总线电源电压,而红色条形图表示 1.8V 电源电压。在图 2 的右侧,比较了分别使用 I3C 和 I2C 可获得的原始比特率。对这些图表的检查表明,即使在兼容的 I2C 模式下,新的 I3C 接口如何比传统 I2C 更节能,并且支持超过 33 Mbps 的有效传输速度。

图 2:I3C 和 I2C 在功率吸收和数据速率方面的比较

带内中断

由于 IBI 功能,I3C 标准克服了传统 I2C 接口的一个经典限制,即从节点无法在总线上自发地发起自己的事务。为此,传统 I2C 和 SPI 接口都需要专用线路,从而增加了成本和布线复杂性。另一方面,如果总线处于空闲状态,带内功能允许每个 I3C 从设备在它们认为必要时启动 START 事务。为此,如果总线可用,从节点将 SDA 线拉低并等待当前主节点将 SCL 线拉低,完成 START 阶段。通过在 SCL 线上向从机提供时钟信号,主机允许后者用自己的地址驱动 SDA 线。如果多个从设备同时尝试访问总线,仲裁电路会为地址最低的从设备分配优先级。此时,master 有三个选项可用:

  • 接受slave的请求,发送ACK并获取slave发送的数据字节。
  • 拒绝来自从设备的请求,但不禁用中断(被动 NACK),一旦总线可用,从站现在可以重试操作。
  • 通过禁用中断并发送 NACK 来拒绝来自从设备的请求。

从设备使用带内中断机制将事件或状态变化通知主设备。通过这种机制自发发送信息的可能性允许 I3C 传感器仅在这些物理量发生显着变化时(例如,想想检测下降运动的加速度计),而不需要与传统 I2C 和 SPI 接口一样的专用中断线。

热连接功能

此功能允许 I3C 传感器在正确配置后连接到总线。在现代基于传感器的应用中,例如与物联网相关的多种场景,不仅要确保高性能,还要确保高效运行,从而最大限度地降低传感器(主要由电池供电)的功耗。由于具有热连接功能,传感器可以在不需要时保持关闭(或处于低功耗状态),并且仅在数据采集和传输的特定时期才连接到总线,与传统的“永远在线”解决方案。热连接请求只能由尚未分配动态地址的从站执行。为此,从站使用为此功能保留的物理地址;

同样重要的是离线功能,它允许从节点变为非活动状态,然后在稍后恢复正常操作。有两种离线模式:

  • 从机完全不活动(相当于断电),只有在发生某些外部事件时才恢复活动;发生这种情况时,从设备热加入总线以获得新的动态地址。
  • 从设备部分处于非活动状态,从某种意义上说,它继续监视总线以检查是否向它发送了命令,例如从设备复位,根据这些命令,从设备将唤醒并返回操作。

常用命令代码

一个非常有用的功能是通用命令代码 (CCC),即主机用来与连接到总线(广播)的所有从机或特定从机进行通信的命令。CCC 命令包括标准操作,例如启用/禁用事件、处理特定 I3C 总线功能(例如,动态寻址和时序控制)或其他总线操作。所有与 CCC 命令相关的代码均由 MIPI 联盟定义,一些值保留用于未来扩展。

图 3:动态地址分配 ENTDAA CCC 总线模式

主控请求

此功能允许辅助主机在他们打算获取活动主机角色时发送主机身份请求 (MR)。如果当前船长接受该请求,则将船长从后者转移到次要船长。

通讯方式

I3C接口为用户提供了多种通信方式,可分为以下几类:

  • 单数据速率 (SDR) 是与传统 I2C 接口的消息交换兼容的模式,并提供高达 12.5 .MHz 的数据速率
  • 高数据速率 (HDR) 包括几种与 I2C 不兼容的消息交换模式。在 SDR 和 HDR 操作模式下,SDA 引脚用作双向数据信号。第二个引脚在 SDR 和 HDR-DDR 模式下用作时钟信号(SCL)或在 HDR-TSL 和 HDR-TSP 协议通信模式下用作双向数据信号。

SDR 模式支持不同类型的消息,例如标准 I2C 消息、广播消息和 CCC 消息,这些消息允许主设备与总线上的所有设备通信并处理从设备转发的请求(例如,带内中断或请求假设主人的角色)。有两种主要的 HDR 模式:HDR-DDR(双倍数据速率)和 HDR-TSL/TSP(三进制符号),它们提供高于 33 Mbps 的比特率,并且比快速模式(400 kHz)下的标准 I2C 的吸收更低)。HDR-DDR 可用于与 MIPI I3C 从设备通信,允许传统 I2C 设备连接在同一总线上,这将忽略高速 MIPI I3C HDR 广播。HDR-DDR 模式使用 SCL 信号作为时钟,SCL 两侧的数据位同步。另一方面,HDR-TSL/TSP 模式允许三进制符号编码(即,三位数基本代码)用于 I3C (TSP) 和 I2C-legacy inclusive (TSL) MIPI 系统。HDR-TSL 同时使用 SCL 和 SDA 作为数据线,其中每个周期至少必须经过一条线。转换索引用于将二进制符号的传输编码为三进制,以实现以非常低的功率进行高速传输。

图 4:进入 HDR 模式 CCC 总线模式

文章来源:eeweb Stefano Lovati

编辑:ymf

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

    关注

    0

    文章

    2

    浏览量

    9034
  • SDA
    SDA
    +关注

    关注

    0

    文章

    122

    浏览量

    27562
  • i3c
    i3c
    +关注

    关注

    0

    文章

    23

    浏览量

    4681
收藏 人收藏

    评论

    相关推荐

    I3C协议标准

    的缺陷如下:sensor等设备的增加,对控制总线的速度和功耗提出了更加严苛的要求;处于解决上述问题的原因,推出了I3C的接口总线和协议.
    发表于 10-26 09:35

    Gowin I3C Slave Dual Clock IP用户使用指南

    Gowin®I3C Slave Dual Clock IP 用户指南主要内容包括功能特点、端口描述、时序说明、寄存器描述、配置调用、参考设计等,旨在帮助用户快速了解 Gowin I3C Slave Dual Clock IP 的产品特性、特点及使用方法。
    发表于 09-30 06:56

    Gowin I3C Dual Clock IP用户使用指南

    Gowin I3C Dual Clock IP 用户指南主要内容包括功能特点、端口描述、时序说明、配置调用、参考设计等,旨在帮助用户快速了解 Gowin I3C DualClock IP 的产品特性、特点及使用方法。
    发表于 09-30 06:52

    Gowin I3C Single Clock IP用户使用指南

    Gowin I3C Single Clock IP 用户指南主要内容包括功能特点、端口描述、时序说明、配置调用、参考设计等,旨在帮助用户快速了解 Gowin I3C SingleClock IP 的产品特性、特点及使用方法
    发表于 09-30 06:34

    Gowin I3C Dual Clock IP用户指南及参考设计

    本次发布 Gowin I3C Dual Clock IP 用户指南及参考设计。Gowin I3C Dual Clock IP 的用户指南及参考设计可在高云官网下载,其中,参考设计已配置一例特定参数
    发表于 09-30 06:08

    Gowin I3C Single Clock IP用户指南及参考设计

    本次发布 Gowin I3C Single Clock IP 用户指南及参考设计。Gowin I3C Single Clock IP 的用户指南及参考设计可在高云官网下载,其中,参考设计已配置一例特定参数,可用于仿真,实例化加插用户设计后的总综合,总布局布线。
    发表于 10-08 07:37

    Gowin I3C SDR IP快速用户指南

    Gowin I3C SDR IP用户指南主要内容包括功能简介、信号定义、参数介绍、工作原理、GUI 调用等,旨在帮助用户快速了解高云半导体 Gowin I3CSDR IP 的特性及使用方法。
    发表于 10-08 06:14

    Gowin I3C SDR快速入门指南

    Gowin I3C SDR快速入门
    发表于 10-08 07:50

    Gowin I3C SDR IP的参考设计

    本文档所介绍的参考设计主要包括以下三种类型: I3C SDR 主机和 I3C SDR 从机之间的通信;I3C SDR 主机和 GW-I2C 从机之间的通信;
    发表于 10-08 06:33

    Gowin I3C SDR IP参考设计

    本次发布 Gowin I3C SDR IP参考设计及 IP Core Generator 支持调用Gowin I3C SDR IP。Gowin I3C SDR IP 参考设计可在高云官网下载,参考设计可用于仿真,实例化加插用户设
    发表于 10-08 07:41

    Gowin I3C DDR eXtension快速用户指南

    Gowin I3C DDR eXtension用户指南主要内容包括功能特点、端口描述、时序说明、配置调用、参考设计等。主要用于帮助用户快速了解 GowinI3C DDR eXtension 的产品特性、特点及使用方法。
    发表于 10-09 06:14

    Gowin I3C DDR eXtension参考设计

    本次发布 I3C DDR eXtension 支持 IP Core Generator 编译生成 I3CDDR 软核。I3C DDR eXtension 参考设计可在高云官网下载,参考设计已配置一例特定参数,可用于仿真,实例化加
    发表于 10-09 07:14

    LPC553x RM - I3C文档错误?

    正如我在另一张票中所说,我一直致力于 I3C 驱动程序的开发。我的最后一个任务是定义一种方法来设置 I3C 频率。这真的很难,但我知道我在文档中也发现了一些错误。 主要是,我遵循了表 336 用于
    发表于 03-17 08:17

    关于MIMXRT685 I3C中断主机示例问题求解

    ****************** ****************************************************** **********/ #define EXAMPLE_MASTER I3C #define EXAMPLE_I2C_BAU
    发表于 03-20 07:53

    求分享RT595的I3C示例代码

    大家好,任何人都可以分享或指向 RT595 的 I3C 示例代码给我吗?我想运行一个通过 I3C 发送字节的测试。我使用的是 MIMXRT595-EVK,但没有找到此 EVK 的任何示例代码。
    发表于 03-23 08:59