i2c是philips公司开发的两条线构成的串行总线。因为它只有两条线,简单既有效。占用PCB版的空间很少。
两个线分别是
SDA 串行数据线
SCL串行时钟线
总线空闲时,上拉电阻使sda和scl都处于高电平状态。采用线与模式。只有有总线上的任何设备输出低电平,那么总线就是低电平。
当SCL处于高电平时,而SDA由高电平变为低电平时,那么就是开始位。
当SCL处于高电平时,而SDA由低电平变为高电平时,那么就是结束位。
开始和结束都是由主机发送的。
开始之前,主线处于忙状态,结束后处于空闲状态。
开始前,主先发7位地址加一位读写位。
主机每发送8个位,也就是一个字节后,在下一个时钟,从发送一个低电平来应答ACK。