I2C (IIC) 通信协议基础
硬件引脚
- SDA (Serial Data Line): 串行数据线,用于传递数据。
- SCL (Serial Clock Line): 串行时钟线,由主机产生并提供同步时钟脉冲。
- GND: 通信双方必须共地。
通信特性
- 半双工通信: 允许数据双向传输,但同一时刻只能单向传输。
- 主从模式 (Master-Slave): 通信由主机发起和控制,从机被动响应。
- 总线协议: 由于其架构设计,一条 I2C 总线上可以挂载并连接多个设备进行通信。
- 同步通信: 由主机通过 SCL 时钟线发送固定频率的脉冲信号,作为总线上所有设备的统一时钟源,确保数据收发的步调一致。
数据传输与控制信号
- 数据采样机制:
- 当 SCL 处于低电平 时,允许 SDA 数据线上的电平发生改变(主机或从机准备下一位数据)。
- 当 SCL 处于高电平 时,SDA 数据线上的电平必须保持稳定,接收方在此期间读取数据线的电平状态。
- 结束信号 (Stop Condition):
- 一次通信发送完成后,主机在 SCL 处于高电平 的期间,将 SDA 数据线由低电平拉高。这个特定的电平跳变序列作为 I2C 通信的结束信号,宣告本次数据传输完成并释放总线。