1.概念
IIC总线是PHLIPS公司在八十年代初推出的一种串行的半双工同步总线,主要用于连接整体电路。
同一块板子两个芯片之间的通信是通过IIC总线进行的(stm32mp157a <-----IIC----->SI7006
IIC总线为两线制,只有双跟双向信号线,一根是数据线SDA,另一根是时钟线SCL。
IIC硬件结构简单,接口连接方便,成本较低,因此在各个领域得到了广泛的应用。
IIC总线传输速率 ,低速:100k,中速:400k,全速:3.4M。
IIC总线需要接两个上拉电阻,这两个上拉电阻作用在IIC总线为空闲状态时保持高电平。
2.IIC总线硬件连接
IIC总线支持多主机多从机模式,同一时刻,只能有一个主机和一个从机进行通信。
在实际开发中,大多数使用单片机多从机模式进行通信。
挂接到每一个IIC总线上所有的设备,每一个从机都有自己唯一的七位从机地址。
在总线上,发送数据的叫做发送器,接收数据的叫做接收器
主动发起数据通信的叫做主机,只能被动接收数据的叫做从机。
时钟信号是由主机产生的,作用给从机,,保证总线上传输数据同步。
3.IIC硬件电路图
4.IIC时序
a.起始信号
备注:起始信号和终止信号都是由主机产生的,起始信号产生之后,总线处于占用状态, 终止信号产生之后,总线处于空闲状态 起始信号:在SCL为高电平期间,SDA(数据线)从高电平到低电平的变化(下降沿)
b.停止信号
停止信号:在SCL为高电平期间,SDA(数据线)从低电平到高电平的变化(上升沿)
c.数据传输
1>IIC总线传输时,时钟信号在高电平期间,数据线上的数据必须保持稳定(接收器