诞生背景:在传感器市场中,大部分的器件接口都是i2c只需要两根信号线,但是有一些明显的缺陷:从器件不能主动发起数据交互,数据流中协议信息开销比较大有效数据较少(数据吞吐量小),上拉电阻限制了时钟速率且增加了功耗。spi需要四根信号线,数据吞吐量大,但是没有一个标准的协议,有很多衍生版本。那有没有一种接口是现有接口标准所缺乏的,高效的,有标准定义的可扩展的,高性价比的接口呢MIPII3C接口I3C是i2c的演化且兼容i2c,提供一种灵活的多分支结构的接口,以满足在嵌入式系统中的处理器和从器件的接口的连接。诞生的目的有三个:提供一种传感器之间相互连接的标准,在集成系统中减少传感器的物理接口,支持低功耗,高数据速率和其他当前已有接口协议的优点。I3C基本原理i3c有类似于i2c的两个接口SDA和SCL,SDA(opendrain)接口允许slave器件控制数据总线并启动中断。SCL(pushpull)时钟接口可达到12.5MHz。i3c可以为所有的i3c从设备动态的分配7bits的地址同时支持现有的i2c设备的静态地址。相较于i2c,i3c接口在数据传输速率提高一个量级的同时,功耗也降低了一个等级。i3c提供四中数据传输模式,在默认的SDR模式下始终速率可达到12.5MHz,数据速率可达到12.5Mbps,在HDR模式下分别为25/27.5MHz和39.5Mbps。除去控制字节,在每种模式下的数据比特率分别为11.1/20/23.5/33.3Mbps,且在各种传输过程中数据受i3c纠错机制保护。i3c的HDR_TSP模式是数据速率最快功耗最低的一种模式,支持超过33Mbps的有效数据比特率。i3c允许从器件启动带内中断,这对于i2c和spi来说都需要一根额外的信号线才能实现。当总线处于空闲状态时,从器件能通过中断机制发出一个start信号,然后主器件发出时钟信号,从器件响应地址,如果此时有多个从器件启动中断,则地址最小的器件获得此次仲裁。同时主机发出ack信号响应此次中断并重新启动总线或者继续从从器件接收数据,也可以发出nack以结束通信。例如,环境光传感器通常用于控制设备中的显示器的背光亮度,如果光条件改变,传感器将向系统发出中断,请求发送数据到系统。当光线条件稳定时,传感器无需发送中断和数据,系统也不必要查询传感器数据,以节约功耗和时效。i3c支持hot-joini3cmaster功能:•GeneratestheBusclockwheninSDRModeandDDRMode(thereisnotraditionalclockinthe322TernaryModes)•ManagesPull-Upstructures324•ManagestheDynamicAddressAssignmentprocedure(includingHot-Joinevents)whileactingastheMainMaster•ManagesallsupportedrequestsfromI3CSlaveDevicesontheBus:•ForIn-BandInterrupts•ForHot-Joinevents•TobecomeCurrentMaster•SupportsI2CLegacySlaveDevices•SupportsI3CSDRModei3cslave功能:•RequestIn-BandInterrupts•GenerateHot-Joinevents•RequesttobecomeCurrentMaster,iftheI3CSlaveDevicealsohasI3CMasterDevicecapability•SupportanycombinationofI3C'sdefinedHDRModesSDRModeisthedefaultModeoftheI3CBus,andisprimarilyusedforprivatemessagingfromtheCurrentMasterDevicetoSlaveDevices.SDRModeisalsousedtoenterotherModes,sub-Modes,andstates,andforbuilt-infeaturessuchasCommonCommands(CCCs),In-BandInterrupts,andassignaDynamicAddress.TherearethreeCharacteristicsRegistertypes:•BusCharacteristicsRegister•DeviceCharacteristicsRegister•LegacyVirtualRegisterEveryLegacyI2CDevicetobeconnectedtoanI3CBusshallhaveoneassociatedLegacyVirtualRegister.SincetheseareLegacyDevices,itisunderstoodthatthisregisterwillexistvirtually,forexampleaspartoftheDevice’sdriver.Thisread-onlyregisterdescribestheI3CcompliantDevice’sroleandcapabilitiesforuseinDynamicAddressassignmentandCommonCommandCodes.Thisread-onlyregisterdescribestheI3CcompliantDevicetype(e.g.accelerometer,gyroscope,etc.)foruseinDynamicAddressassignmentandCommonCommandCodes.