一. IIC(Inter-Integrated Circuit(集成电路总线))总线有两根信号线,一根是双向数据SDA,另一根是时钟线SCL。
二. IIC是个主从结构,即所有传输都是从主机发起,从机不可能发起数据的传输,对于IIC协议来说,他只能规定到发送第一个数据是地址,后面发生什么,每个IIC可能不同。
1.平时SDA 、SCL都是高电平。
2.开始信号:SCL高电平的同时,SDA低电平。
3.数据在SCL低电平时变化,高电平时稳定。
4.发送地址:每个芯片有一个地址,是固化到芯片里的。
三、设备寻址和读写数据
1.设备地址共7位,“1010”固定,后面的“A0\A1\A2”可以通过电路来确定。
此时的AT24c08的地址:
发送前7位是设备地址,此时后面接的IIC设备接收到一个start信号后就知道下面接收7位地址,然后和自己的固化地址比对,若发现相同,表示访问自己。
2.访问时,是“读”还是“写”:由7位后的第8位决定。
启动一个传输时,主机先发送Start信号,然后8位数据,其中7位地址,第八位表示传输方向(0表示写操作,1表示读操作)。
3.ACK回应信号:
在第九个CLK里,IIC主机释放SDA,由从机驱动SDA,如果从机发现地址与自己匹配,把SDA拉低。这时主机就能知道此“设备地址”的设备是存在的,后面就能发送数据了。
4.后面接着8个时钟,是具体的数据,与设备相关。
5.主机到从机的读:
6.主机到从机的读
7.结束传输:SCL在高电平期间,SDA由低电平变为高电平结束传输。