0、一个I2C总线上,可以连接多个master和slave,但同时只能有一个master工作,通过仲裁进行控制。
1、物理上包含两根线,SDA, SCL。
2、常用clock为400K。
3、空闲状态下,SDA和SCL都由上拉电阻上拉,为高阻态。
4、开始信号为SCL为高时,将SDA拉低;结束信号为在SCL为高时,将SDA拉高。
5、常用的slave address为7位。
6、协议中,有一位表示读写。
7、写数据的时候,主机发送slave address,并发送数据。
8、读数据的时候,主机发送slave address,然后从机向主机发送数据。
9、一个传输周期包含9个clock,在第9个clock,发送数据发送方会释放SDA。
如果数据接收方将SDA拉低(ACK),则表示数据接收方希望继续接受数据,数据发送方会继续发送数据;
如果数据接收方将SDA拉高(NACK),则表示数据接收方希望结束数据传输,数据发送方会结束数据发送。
10、在一个clock周期中,SCL为高电平时,SDA的状态有效,即此时如果SDA为高电平,代表1;为低电平的话,则代表0.