I2C总线相关学习

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.

你可能感兴趣的:(总线学习,计算机基础,Linux,嵌入式)