Skip to main content
改进型集成电路间总线(I3C)接口为连接的 I3C 设备提供快速、低成本、低功耗的 2 线数字接口。
I3C 仅支持 aDSP 传感器通信。不支持 Linux 用例。

概述

总线特性

  • 2 线串行接口(SDA + SCL),最高支持 12.5 MHz
  • 与同一总线上的传统 I2C 设备向后兼容
  • 地址阶段:400 kHz
  • 数据阶段:12.5 MHz

高级特性

  • 带内中断(IBI)支持
  • 热加入(动态添加设备)
  • 同步时序和异步时间戳
  • 写操作期间的 8 位数据奇偶校验
  • 目标设备的动态寻址
  • 单倍数据速率(SDR)模式
  • 符合 MIPI I3C 规范的 CCC(通用命令码)

数据阶段模式

数据包帧结构

总线初始化

1

控制器初始化

I3C 控制器驱动初始化控制器,包括固件加载和配置设置。
2

读取配置和设备数据库

驱动读取 I3C 配置和设备数据库:
  • I2C 静态地址设备列表
  • I3C 静态地址设备列表
  • 预期的 I3C 动态设备(供应商 ID、设备 ID、预定义动态地址、关联驱动)
  • 可选的允许热加入的设备
3

设备枚举

驱动枚举总线上的设备并分配本地地址。
4

总线配置

驱动将总线配置写入控制器:
  • 工作频率
  • 纯 I2C/传统 I2C 模式
  • SDR/HDR 启用/禁用
  • 支持 IBI 的设备及预期数据字节数
5

客户端软件配置

客户端软件接收 I2C/I3C 设备和热加入设备的设备列表及配置。

软件配置

固件加载

QUP v3 串行引擎的 I3C 固件在 aDSP 启动期间随 SSC QUP 加载。 配置文件:
串行引擎配置示例:

GPIO 配置

故障排除

  • 检查 SDA/SCL 连接和上拉电阻(1–4.7 kΩ)
  • 确认供应商 ID 和设备 ID 与预期值匹配
确认地址阶段的 SCL 频率为 400 kHz。在固件配置中调整时钟分频器设置。
  • 确认配置中已启用热加入
  • 将设备添加到允许热加入的列表(供应商 ID + 设备 ID)
  • 测量 SDA 和 SCL 上的上升/下降时间
  • 调整上拉电阻值
  • 减少总线长度或电容

常见错误码

资源

  • MIPI I3C 规范
  • Qualcomm Linux 接口指南
  • QUP v3 串行引擎文档