i2c通信协议



2.1i2c通信协议

通信协议:用来实现数据传输。

i2c物理总线:SCL(时钟线) SDA(数据线)

i2c通信协议是 串行、同步、半双工 的通信方式。

i2c物理总线中,SCL时钟线只能由MCU来控制。SDA数据线可以收发数据。

i2c通信必须是MCU和i2c从设备之间的双方通信。

一条i2c总线上可以挂载多个i2c从设备。在进行通信时,必须是MCU和i2c从设备之间的通信,MCU一次只能和一个i2c从设备通信。

一条i2c总线上如果挂载多个i2c从设备,i2c总线通过器件地址来区别不同的i2c从设备。

器件地址:每一个i2c从设备挂载到i2c总线之后,必须得到的一个在该总线上的编号。

器件地址一般是一个8位的数据。

i2c通信协议

器件地址的组成:4(设备ID) + 3(可编程地址) + 1(读写控制位)

总结:i2c通信协议是同步通信,MCU通过器件地址查找要通信的i2c从设备。

i2c通信协议时序:

BB贝博艾弗森官方网站

空闲信号、 起始信号、 读数据、 写数据、 发送应答、 接收应答、 终止信号

空闲信号:

SCL: 高

SDA: 高

起始信号:

SCL:高

SDA:由高变低

读数据:

SCL:高

SDA:获取SDA上的电平

写数据:

SCL:低

SDA:改变SDA电平状态

终止信号:

SCL:高

SDA:由低变高