##定义
inter-intergrated circuit 中文应该叫集成电路总线 特点 1. 只需要两条总线:SDA 数据总线, SCL时钟总线(由主设备控制) 2. 主设备没有限制,从设备取决于寻址总线的位数,一般是127个(2的7次方) 3. 可以单主配单从,单主配多从(比如一个MCU要接多个从传感器),多主配单从(多个MCU都共用一个LED),多住配多从 4. 传输速度有:标准模式100k,快速模式400K等等
##原理
1. 硬件原理图
2.协议过程下图同颜色的方块就表示的是一起发送的比特位。三步走:
第一步:找到想要的从机 在SCL总线为高电平时,我们主机SDA就可以从高电平变成低电平,SCL就从高电平变成低电平,此时应该就表示了我们现在在用着I2C总线了。 然后我们的SDA发送8个比特位,其中包含的就是7个想要找到的从机的地址,还跟着一个读写位。 如果从机匹配上了,那么从机会把SDA拉低一次,意思就是向主机反馈 ,我在这里。 那么接着主机向从机发送一个请求内存器的地址,从机会反馈一个确认位。
第二步:从机的反馈 从机此时会反馈一个主机想要的那个寄存器的值,主机收到了之后返回一个确认位。 第三步 在SCL是高电平的的时候,SDA重新恢复至高电平。
参考资料: 【3分钟理解通信协议之I2C总线-哔哩哔哩】 https://b23.tv/Gdu46Vq
|