IIC:同步半双工,2根通信线 SCL:时钟线 SDA:数据线
1.半双工
2.有应答机制
3.支持挂载多设备
SDA发送时是输出没接收时是输入,从机的SDA也会在输入和输出之间反复切换。为了避免总线没协调好(即两个引脚同时处于输出状态,又正好一个输出高电平,一个输出低电平),导致电源短路,因此禁止所有设备输出强上拉的高电平,采用外置弱上拉电阻加开漏输出的电路结构(强上拉用的上拉电阻阻值小,弱上拉用的电阻阻值较大驱动电流不同)。即SCL和SDA各添加一个上拉电阻,阻值一般为4.7KΩ左右

起始条件:
SCL高电平期间,SDA从高电平切换到低电平
终止条件:
SCL高电平期间,SDA从低电平切换到高电平

发送一个字节:
SCL低电平期间,主机将数据位依次放到SDA线上(高位先行),然后释放SCL,从机 将在SCL高电平期间读取数据位,所以SCL高电平期间SDA不允许有数据变化,依次循环上述过程8次,即可发送一个字节

接收一个字节:
与发送原理相同,从机放数据,主机读数据(主机接收前,需要释放SDA)
发送应答:
主机在接收完一个字节之后,在下一个时钟发送一位数据,数据0表示应答,数据1表示非应答(与发送一个字节其中一位是相同的)
接收应答:
主机在发送完一个字节之后,在下一个时钟接收一位数据,判断从机是否应答,数据0表示应答,数据1表示非应答(主机在接收之前,需要释放SDA)(与接收一个字节其中一位是相同的)

IIC协议是一种使用两根通信线SCL和SDA的半双工通信方式,具有应答机制并支持多个设备挂载。在传输过程中,SDA线会根据发送和接收状态在输入和输出间切换,为了避免总线冲突,采用外置弱上拉电阻和开漏输出。通信过程中,数据在SCL低电平时由主机放到SDA线上,从机在SCL高电平时读取。主机和从机通过发送和接收字节以及应答位进行交互。
993

被折叠的 条评论
为什么被折叠?



