打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
i2c我们用得很多,i3c又是什么?
userphoto

2023.03.28 安徽

关注

文章目录

1 前言

2 i3c总线接口

起始信号

停止时序

数据传输时序

完整时序图

低目标电压

支持软中断

支持数据内命令码,错误检查

支持多个主机

支持热插拔

支持动态地址

功耗低,通信速率高

支持多种通信模式

2.1 什么是i3c

2.2 i3c的特点

2.3 i3c 时序图

2.4 i3c应用场景

2.5 i3c不适用的场景

3 总结

4 参考文章

1 前言

常见的板级间通信总线有i2c、spi、uart、i2s等,这类总线常用于ADC、DAC、传感器、触摸屏等等外设中;i2s则用于传输音频信息,在音频ADC和DAC中应用。随着物联网的应用越来越广泛,涌现各类传感器,温度、气压、心率、陀螺仪,传统传感器一般是以i2c、spi、uart为接口,随着传感器种类的激增和对性能与功耗的要求,暴露出总线的一部分缺陷,典型的问题有几点。

功耗问题,i2c、spi、uart设计之初并未考虑到低功耗问题,物联网应用对于功耗要求十分苛刻

i2c、spi、uart都是只支持单一主机

i2c、spi是同步通信,必须由主机端(处理器)发起时钟进行通信,从机端没法主动向主机传输数据

i2c、spi一般需增加中断线通知主机来读取数据,随着传感器增加,占用大量IO口和中断资源

uart是异步通信,虽然没有第三第四点的缺陷,但其是点对点通信,一个总线只能挂一个从设备

基于上述问题,MIPI主导并提出了i3c总线,可以解决现有问题,适用于多个传感器的场合。

2 i3c总线接口

2.1 什么是i3c

i2c全称是Inter Integrated Circuit,i3c是MIPI(Mobile Industry Processor Interface)移动产业处理器接口联盟推出的改进型i2c总线接口,全称是Improved Inter Integrated Circuit,因此简称为i3c。i3c仍然是采用2根通信线,一根数据线SDL,一根时钟线SCL。i3c向下兼容i2c,也就是i3c总线可以挂载传统i2c接口的器件,使用很是方便。MIPI联盟的新接口标准旨在通过减少传感器系统集成的物理引脚来实现传感器通讯的标准化,提供一个快速、低成本、低功耗、两线数字接口标准。

i3c向下兼容i2c,但不兼容10bit的i2c扩展地址

i3c典型应用电路

i3c传感器

2.2 i3c的特点

i3c除了向下兼容i2c的特点外,最重要是引入了自身特有的功能,以适应物联网应用的需求发展。

低目标电压

i3c标准的目标电平电压是3.3V、1.8V、1.2V,甚至更低。

支持软中断

传统i2c、spi接口需增加中断线通知主控制器,i3c支持软中断,无需外部中断线,传感器数目多的情况下,节约IO引脚和中断资源。i3c软中断的基本原理是,当总线处于空闲状态时,从设备可以通过中断机制发送一个"START"信号,然后主设备会为从设备提供一个时钟信号,从设备可以通过主设备提供的分配地址将设备驱动到总线上来启动中断。如果此时有多个从设备尝试启动中断,则地址最小的从设备获得此次仲裁。同时主设备发出ACK信号响应此次中断并重新启动总线或者继续从从设备接收数据,也可以发出NACK信号来结束通信。

支持数据内命令码,错误检查

支持多个主机

i3c不仅支持多个从设备,还支持多个主设备。i3c总线上可以支持的设备有:

Main Master(当前主设备)

Secondary master(辅助主设备)

i3c Slave(i3c从设备)

i2c Slave(i2c从设备)

i3c总线支持挂载设备拓扑图

支持热插拔

热插拔特性可以让i3c从设备在不工作时处理睡眠或者关闭状态,需使用时才挂载到总线上使用,进一步达到降低功耗的目的。

支持动态地址

i3c支持动态地址,同时可以分配7bit静态地址以适配传统i2c 从设备。i3c从设备地址由主设备仲裁,但并不是所有设备地址都可用,部分地址是i3c标准所保留的,用于后期拓展或者错误仲裁。

部分不可用地址

功耗低,通信速率高

i3c支持从12.5 Mbps到接近37.5 Mbps的通信速率。

i2c与i3c速率和功耗对比

支持多种通信模式

i3c支持4种通信模式,分别是SDR、HDR-DDR、HDR-TSL、HDR-TSP,不同模式通信速率有差异。

SDR 模式:12.5Mbit/s

HDR-DDR模式: 25Mbit/s

HDR-TSL模式:30 Mbit/s

HDR-TSP模式:37.5 Mbit/s

i3c四种模式功耗对比

上述i3c特点,传统i2c、spi、uart所不具备的,因此弥补了前面提及的弊端。

2.3 i3c 时序图

起始信号

起始时序与i2c一致,当SCL线为高电平是,SDA线由高电平到低电平变化。

i3c起始时序

停止时序

停止时序与i2c一致,当SCL线为高电平是,SDA线由低电平到高电平变化。

i3c停止时序

数据传输时序

i3c传输1位数据时需要一个时钟脉冲,配合主设备的时钟信号完成数据逐位传输。在进行数据传输时,SCL线为高电平时SDA线电平保持稳定,低电平表示数据0,高电平表示数据1;在SCL线为低电平时允许SDA线电平变化。

i3c数据传输时序

完整时序图

2.4 i3c应用场景

多传感器领域,节约总线IO

物联网领域,功耗低

传统i2c、spi、uart设备接口中

camera、touch panel

i3c向下兼容i2c,可与传统i2c接口器件一起使用

i3c典型应用,挂载i2c和i3c器件

2.5 i3c不适用的场景

带宽要求超出了i3c接口的理论最大值

长距离通信,即使可以通过i3c中继线延长通信链路

高吞吐量的数据流器件,如音视频数据传输

i3c相比i2c要复杂得很多很多,前面只是提及其主要特点,关于其实现原理、支持模式、纠错原理过程等,进一步深入研究,可以参考官方协议文档。

3 总结

通过对比分析,i3c继承了i2c、spi、uart的优点,并增加了新的特性,实现了一个快速、低成本、低功耗、挂载节点数目多的总线标准。i3c将会像type-c统一外部接口(充电、数据传输)一样,统一板间通信,解决接口碎片化问题。但目前只是初步阶段,支持i3c接口的cpu和外设比较少,传统i2c、spi、uart依然是主流。

可以通过一个表格,对比几种总线的特性。

通信接口uarti2cspii3c

线数

2

2

4

2

最大通信速率

典型115200bps

3Mbps

60Mbps

37.5Mbps

主设备

单一

单一

单一

支持多个

从设备

点对点

多个

多个

多个

软中断

不支持

不支持

不支持

支持

热插拔

不支持

不支持

不支持

支持

从设备地址

不支持

静态地址

不支持

静态和动态地址

4 参考文章

【1】I3C 总线协议详细解析(第一章)

【2】mipi i3c官网

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
嵌入式开发中常用的几种通信接口总结
UART、I2C、SPI、TTL、RS232、RS422、RS485、CAN、USB、SD卡、1-W...
几种最常用的串行数据传输总线(2)-I2C
【MSP430趣谈】MSP430第十讲之SPI总线驱动OLED
​嵌入式系统低速接口-SPI(完结)
I2C总线简介
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服