聊聊通讯协议I2C子系统之I3C

网络 通信技术
Improved Inter Integrated Circuit ,是 MIPI(Mobile Industry Processor Interface)移动产业处理器接口联盟推出的改进型 i2c 总线接口。

I3C Introduction

I3C :Improved Inter Integrated Circuit ,是 MIPI(Mobile Industry Processor Interface)移动产业处理器接口联盟推出的改进型 i2c 总线接口

传感器在手机等移动产品中的快速发展,带来了新的设计挑战。因为没有统一的方法来连接物理传感器,设计师面临的数字接口碎片包括 I2C、SPI 和 UART 等。

除了主接口,还可能需要其他信号,例如专用中断、芯片选择信号(SPI),启用和睡眠信号。这会增加所需的主机 GPIO 数量和更多 PCB 层的系统成本。

随着时间的推移和传感器数量的增加,这种情况变得越来越难以控制。

MIPI I3C 接口的开发旨在简化移动无线传感器系统的设计架构,为传感器提供快速、低成本、低功耗的二线数字接口。

框架如下:

图片

表 1 列出了 I3C 寻址传感器的示例类别。

图片

翻译一下:

图片

是否需要额外中断线(通知主控来读数据)。

图片

I2C 和 I3C 主要区别如下:

  1. I2C 虽然也是两条线,但是很多时候传感器需要一条额外的中断线,来告诉主控数据已经准备好。I3C 允许从设备直接在总线上产生中断,不再需要一条额外的中断线。
  2. I2C 传输速度最高 3.4MHz,I3C 可以 12.5MHz +。
  3. I3C 向下兼容 I2C,但不兼容 10bit 的 I2C 扩展地址。
  4. I2C 的从设备是静态地址,I3C 是动态地址,由主设备给从设备分配动态地址。
  5. 由于支持带内中断,所以涉及到从设备的优先级,一般动态设备号较低的,优先级较高,中断就优先响应。(也是靠线与的特性)
  6. I3C 支持使用推挽输出的 GPIO,增强驱动能力,只不过需要特殊设置。

如果所有 sensor 器件都采用 I3C 通信接口,连接将变的很简单,如下图,所有的 SPI 、UART 、I2C 都变为 I3C 两根线

图片

I3C 关键特性

图片

Mbps 是数据流量单位,而 MHz 是频率单位,注意区分哦。

Mbps 是 Million bits per second 的缩写,1 Mbps代表每秒传输 1048576 位(1Mb=1024Kb=1024*1024bit),即每秒传输1,048,576 / 8 = 131,072 字节 = 128 KB = 0.125MB。

I2C 和 I3C 关于功耗和传输速率的对比:

图片

  1. I3C 使用推挽功能的双线串行接口,速度可达 12.5 MHz。
  2. I3C 同一总线上共存的传统 I2C 设备(有一些限制)。
  3. I3C 动态寻址,同时支持传统 I2C 设备的静态寻址。
  4. I3C 总线支持传统 I2C 通讯。
  5. 类似 I2C 的单数据速率消息传输(SDR)。
  6. I3C BASIC 不支持:可选的高数据速率消息模式(HDR)。
  7. 多点功能。
  8. 多主功能。
  9. 带内中断支持。
  10. 热连接支持。
  11. I3C BASIC 中不支持:同步计时支持和异步计时冲压。
  12. secondary master support。
  13. 不支持 I2C master。
  14. 不支持从机 clock stretching。
  15. 每个 I2C 从机设备需要有 50ns spile filter on SCL。
  16. 现在还没有太多的 I3C 设备出现在市场中,未来十年慢慢会普及。

I3C

I3C 支持许多传统 I2C 从设备,I3C 有两个模式:SDR Mode、HDR Modes

Single Data Rate (SDR) Mode。

  1. 仅在时钟的一个边缘传输数据。
  2. Private/Typical messages: 使用动态地址将消息发送到从机。
  3. 广播消息:发送给总线上的所有从机(例如:ENTDAA)。
  4. 直接消息:发往特定从属设备的消息(例如:SETDASA)。

High Data Rate (HDR) Modes

  1. 双数据速率(HDR-DDR)模式:使用与SDR模式相同的信令(即与12C协议没有显著区别),但运行速度约为 SDR 速度的 2 倍。
  2. 通过在两个时钟边缘传输数据实现更高的速度。
  3. Ternary Symbol Legacy (HDR-TSL) Mode: 更高的数据速率加上三元编码,用于混合I2C和I3C设备的总线。与I2C协议显著不同。
  4. Ternary Symbol Pure-bus (HDR-TSP) Mode: 更高的数据速率加上三值编码,适用于只有I3C设备的总线。与12C协议显著不同。
  5. 三元符号有三种状态,SCL线改变状态,SDA线改变状态,或两线改变状态。

SDR Mode 作用

  1. SDR 模式是 I3C 总线的默认模式。
  2. 用于从当前主设备到从设备的专用消息传递。
  3. 用于进入其他模式、子模式和状态。
  4. 用于内置功能,如通用命令(CCC)、带内中断,以及通过分配动态地址从I2C 过渡到 I3C。
  5. 在程序和条件方面与 I2C 协议【NXP01】非常相似,因此 I3C 设备和许多传统 I2C 从设备(但不是 I2C 主设备)可以在同一 I3C 总线上共存。
  6. 对于 I3C 与 I2C 共享的程序和条件,SDR 模式严格遵循 I2C 规范中的定义。
  7. 所有 I3C 从机将正确忽略从 I3C 主机到 I2C 从机的 I2C 通信,因为 I3C 协议旨在允许 I2C 通信。
  8. 大多数传统 I2C 从设备无法看到从 I3C 主设备到 I3C 从设备的 I3C 通信量,因为 I2C 尖峰滤波器对 I3C 的更高时钟速度不透明。

图片

I3C Master Device

图片

I3C Slave Device

图片

责任编辑:姜华 来源: 嵌入式Linux系统开发
相关推荐

2022-05-27 09:00:09

I2C子系统协议

2022-06-13 09:21:45

I2C DriverI2C 子系统

2022-06-07 08:42:21

高速模式HS mode

2022-06-18 09:02:00

I2C 子系统通信协议

2010-06-08 16:21:50

I2C总线协议

2010-07-01 16:45:05

I2C总线协议

2010-06-08 16:25:35

I2C总线协议

2017-03-16 08:30:19

Android ThAndroidI2C

2017-08-11 18:25:25

Linuxi2c

2023-04-07 09:14:31

硬件通信串口通信实验

2021-01-19 19:32:01

Cortex-A9 R嵌入式系统i2c 外设

2023-09-13 15:33:57

I2C鸿蒙

2021-12-06 08:50:27

I2C拉电阻阻值架构

2021-09-08 15:44:56

鸿蒙HarmonyOS应用

2009-04-11 15:12:24

.Net MicroI2C总线模拟器

2023-03-22 09:23:53

I2C总线温度传感器

2022-10-30 10:31:42

i2ccpuftrace

2020-11-09 07:23:10

UART通信SPI

2022-04-12 08:46:12

i2c-tools开源工具

2021-08-27 17:02:56

鸿蒙HarmonyOS应用
点赞
收藏

51CTO技术栈公众号