|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 Heaven_1 于 2022-12-9 13:36 编辑
4 w' @; Z- Y7 A/ ]% R8 ]4 o) S3 q. e
在过去的几十年里,I2C的广泛应用可以说是有目共睹,但是其本身也有着两个避不开的缺点,一是速率受限,二是功耗偏大。此前也有不少SPI代替I2C的做法,但是SPI本身应用比较宽泛,最终也没能替代I2C。随着移动设备上传感器数量的增加,总线上数据量开始膨胀,I2C的瓶颈越来越明显。为了提升I2C的性能,早在2013年,MIPI联盟传感器接口工作组就启动了基于I2C的需求升级。
' p( A$ N9 p ~ Q+ d0 {/ f
9 `' }" V: p) u1 y9 j$ u5 Q I3C作为I2C的升级版,在使用功率和性能方面有重大改进,同时速率也升级到可以替代SPI的中速,相当于SPI 30MHz下的速率。I3C规范的主要制定者包括NXP,Qualcomm,Intel,还有Invensense,TI,STM,Synopsys,cadence,mentor,Sony,Knowles,Lattice这些提供助力的厂商。
5 ^1 ^1 |) l5 Z+ K4 s1 z# D1 z$ Z% o8 q8 z! K* |, i+ K
众所周知I2C是两根线,但是它的中断脚、使能脚等等都要通过GPIO连到SoC上,随着传感器数量的增加,使用I2C只能不断增加GPIO。I3C将这些中断做成了内置,可以帮SoC省去很多GPIO。I3C也是向后兼容I2C,I2C可以平稳地过渡到I3C。这一升级有效助力了智能手机、可穿戴设备、物联网设备、增强现实/虚拟现实和汽车系统实现更多设计创新。
) b7 ~5 A9 q5 q. _1 [$ p
& N0 w2 P" @! w. y2 ?/ v, L E3 O 从上图I2C与I3C传感器接口框图对比可以很明显地看到,虽然I2C说是只有时钟线数据线,但是还需要很多额外的从线连到SoC上,GPIO数量的增加以添加SoC包引脚和PCB层计数的形式增加了系统成本,相比之下I3C的布线情况就简洁很多,只需要两根信号线即可,可以显著缩小SoC尺寸。( P9 p) D. a/ {/ ^" m
) U9 a8 B- _4 Z5 ~& R; _ 至于功耗,众所周知I2C的两根线SCL和SDA都是需要接上拉电阻的,上拉电阻的存在导致了I2C功耗会比较大,I3C的SCL全程采用推挽,SDA大部分时间也在推挽模式下工作,因此功耗会降低很大一部分。速率上I2C典型的速率有3 Mbps max at 3.4 MHz(Hs)、0.8 Mbps max at 1 MHz(Fm+)、0.35 Mbps max at 400 KHz(Fm)。I3C典型的数据模式SDR是12MHz下的10.6Mbps,最高速率是HDR模式下的三元采样,达到12.5MHz下的30Mbps。" a6 \) q; P. ?6 X
/ E4 N0 Q& h' P& U3 a9 Q
另外,I2C是没有命令字的,I3C则有着一整套通用命令字的集合。可以通过这些命令字实现动态地址分配、检查当前总线状态、时间控制、IO扩展等等功能。整个功能比I2C有着全面的提升。 0 ^1 g, e; B# ] S5 N2 ]
" K( x+ M x, d2 W9 l& L9 W2 d/ ~, U* W
|
|