这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » 学习I3C通讯

共1条 1/1 1 跳转至

学习I3C通讯

专家
2024-06-30 09:57:00     打赏

I3C是在I2C基础上改进来的新协议。和I2C相比,传输速度更快,在电路构成上,I2C的SCL和SDA都用的开漏模式加上拉电阻,而I3C中,SCL采用推挽模式(只有在推挽输出模式下I3C才可以达到12.5MB),SDA采用上拉电阻加开漏。I3C支持热拔插和IBI中断(在地址仲裁阶段允许从机给主机发中断)。

奇偶校验位

I2C不同,I3C为了安全与可靠,第九位采用的是奇偶校验位,原始的I2C第九位为ACK信号,接收方收到这个信号时需要把SDA拉低已表示收到ACK信号并返回确认ACK信号告知主机已经接收完成,I3C第九位使用的是奇偶校验位,XOR (Data [7:0], 1),即所有位与1进行异或的结果,接收方接收到以后需要自行异或并与第九位做比较,如果相同则回复ACK确认,否则NACK要求重发

I3C总体下来每次传输数据可以说是传输十位data[7 : 0] → T [0] → ACK [0]

I3C把这个位称之为T位,也叫过渡位/交换位

应答的方式

I2C

发送方将SCL拉高,随后将SDA也拉高,接收方需要在一个周期内将SDA拉低以回应确认收到信息,如果周期内没有拉低则代表NACK

I3C

发送方将SCL拉低,随后SDA拉高,从机需要将SDA拉低来确认ACK,如果不将SDA拉低则意味着NACK

I3C上因为SCL是推挽电路,但同时I3C仍然支持I2C的ACK确认方式,只是某些情况下I3C要求只能使用I3C的方式来进行ACK,这么做的目的是忽略掉总线上I2C的设备,例如分配动态地址是时不想让I2C设备参与进来那么久使用这个方式来忽略掉I2C设备,因为传统I2C设备只会在SCL拉高时来确认ACK,如果I3C将SCL拉低那么I2C设备会把此次通讯视为没有ACK讯息视为失败则放弃本次通讯





关键词: 懒猫的学习笔记    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]