I2C总线通信原理
I2C总线简介
I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。用于连接微控制器以及其外围设备,是微电子通信控制领域广泛采取的一种总线标准。他是同步通信的一种特殊形式,具有接口线少,控制方式简单,期间封装形式少,通信速率高等优点。
I2C总线特征
- 两条总线,一条是串行数据线SDA,一条串行时钟线SCL来完成数据的传输及外围期间的扩展。
- I2C总线上的每一个设备都可以作为主设备和从设备,而且每一个设备都会对应一个唯一的地址。
- I2C总线数据传输速率在标准模式下可达100kbit/s,快速模式可达400kbit/s,高速模式下可达3.4Mbit/S,一般通过I2C总线接口可编程时钟来实现传输速率的调整。
- I2C总线上的主设备与从设备之间以字节(8位)为单位进行单双工的数据传输。
I2C总线协议
I2C 总线在物理连接上非常简单,只有两条总线SDA(串行数据线)和SCL(串行时钟线)及上拉电阻组成。通信原理是通过对SCL和SDA线高低电平时序的控制,来产生I2C总线协议所需要的信号进行数据的传递。在总线空闲状态时,这两根线一般被上面所接的上拉电阻拉高,保持着高电平。
I2C协议规定:总线上数据的传输必须以一个起始信号作为开始条件,以一个结束信号作为传输的停止条件。