I2C的结构和特点
- 他是一具有两条总线线路,即一条串行数据线SDA和一条串行时钟线SCL。
每个连接到总线上的器件都可以通过唯一的地址联系主机。
- 它是一个真正的多主机总线,数据传输通过冲突检测和仲裁防止数据被破坏。
- 串行的8位双向数据传输位速率更高。
- 连接到相同总线的Ic数量只受到总线最大电容400 pF的限制。个两线式串行总线
I2C的信号类型
I2C总线在传送数据的过程中共有三种类型的信号:启动信号、结束信号和响应信号。
(1)启动信号(S):SCL为高电平时,SDA由高电平向低电
平跳变,开始传输数据.
(2)停止信号§:SCL为低电平时,SDA由低电平向高电
平跳变,结束传输数据。
(3)响应信号(ACK):接收器在接收到8位数据后,在第9
个时钟周期时,拉低SDA电平。
上图是I2C总线的传输格式,主机先发出S信号,然后发出8位数据,前七位为从机的地址,第八位表示数据的方向,输的方向(0表示写操作,1表示读操作)。被选中的从机发出应答信号。紧接着传输一系列字节及其响应位。最后,主机发出P信号,结束本次传输。
它通过一个逻辑寄存器,里面包含一个配置和状态寄存器,通过分频器,还有移位寄存器,通过发送信号去和里面的比较器去对比,比如0xb0是开始,0x90是结束