学前班-怎么看原理图之协议类接口之I2C

时间:2021-10-13 07:42:19

I2C的原理图如图所示:
学前班-怎么看原理图之协议类接口之I2C

原理图可以简化成:

2440的SCL外接到外部芯片的SCL,SDA外接到外部芯片的SDA
I2CSCL:时钟线
I2CSDA:数据线

学前班-怎么看原理图之协议类接口之I2C
两条线上可以挂接多个设备,2440到底是要访问设备1,还是设备2?每一个I2C设备都有一个地址,当数据线的值等于自己的地址值,才做出回应。
I2C的停止信号如图所示:
学前班-怎么看原理图之协议类接口之I2C

传输数据?
学前班-怎么看原理图之协议类接口之I2C
注意:设备要在SCL为高电平的时候采集数据。

回应信号:接收端收到数据后,向发送端反馈有没有收到数据。
学前班-怎么看原理图之协议类接口之I2C

发出一个开始信号,然后传输8位数据;对方(AT24C02)检测到Start信号以后,然后根据T定时检测SDA引脚上的状态。AT24C02收到数据以后,在第九个时钟周期的时候,2440就把SDA引脚设置为输入引脚,暂时不驱动SDA数据线,由AT24C02负责驱动SDA,如果AT24C02收到数据以后,就把SDA拉低(设置为低电平)。

I2C控制器:跟UART控制器类似。

如果接多个设备,以怎么传输?

学前班-怎么看原理图之协议类接口之I2C
最上面表示单字节传输:前七位用于表示设备(从机的地址)的地址,紧接着表示读/写信号、响应信号(主机确认是否存在这个设备)、数据、响应信号(确认数据是否收到);其中从机地址从芯片手机中可以找到。
I2C读取数据的时序图如下:
学前班-怎么看原理图之协议类接口之I2C

注意第一个响应信号为写,告诉需要读取哪个设备的地址。

I2C写数据的时序图也跟读差不多。

在进行i2c通信之前,首页要在芯片手册中找到i2c控制器,和控制器各数据位表示的意义。