IIC

IIC总线上可以互联多个设备,每个设备既可以做主设备(Master),也可以做从设备(Slave)每个设备都有一个唯一的地址,用于和总线上其他设备区分,设备的地址地址位宽为7bit。

传输速率在标准模式下可以达到100kb/s,快速模式下可以达到400kb/s。

连接到总线的数量只是受到总线的最大负载电容400pf限制。

 

注意:

IIC传输分为四个阶段:起始,地址,数据,结束阶段。 

1、一次传输必须由S开始、由P结束;

2、SCL由主机M给出、SDA中S、ADDR、W/R、P由主机给出,A、DATA由主机或从机给出;(读写使能为0表示写,1表示读)

3、当主机给从机写完8bit数据后,从机需要给出响应Ack/非响应nAck,如果从机可以继续接收,则从机给出响应Ack,否则从机给出非响应nAck,当主机收到非响应nAck,或者在主机发送完8bit数据后一段时间内没有收到从机的响应时,给出结束P;

4、当主机读从机的数据时,当主机接收完从机的数据后,如果需要继续接收,则发送给从机Ack,如果不需要接收,给出nACK,告知从机准备接收结束P;

5、SDA在SCL为低时变化,SCL为高时保持稳定;

ACK为1时停止接受,为0时继续接受

 

协议层:

1、在时钟的高电平周期内,SDA线上的数据必须保持稳定,数据线仅可以在时钟SCL为低电平时改变。

 

uart异步,SPI和IIC均为同步

SPI用片选选择从机,IIC是地址选择从机,IIC必须8位,且和SPI一样得从最高位开始传

uart、SPI全双工,IIC半双工

posted @ 2022-06-01 22:26  十点三十睡觉  阅读(450)  评论(0编辑  收藏  举报