I2C是一种双向2线制同步串行通讯接口,是一类非常经典的串行总线通讯,理解好I2C通讯会帮助理解USB通讯、以太网通讯中的握手、数据帧等环节。
I2C的发展历史:
SPI串行通讯主要是由MOTOROLA公司提出的,MOTOROLA公司的半导体部门独立出来成为后来的freescale。I2C通讯是由PHILIPS公司提出的,PHILIPS公司的半导体部门独立出来成为后来的NXP。2015年NXP公司并购freescale公司。
I2C(Inter IC Bus)的基本特征:
- 串行
- 同步(主机产生时钟线)
- 单端(时钟和数据线上的信号是单端而非差分,用3.3V或5V代表逻辑1)
- 双向(但非双工,因此需要有协议规定数据传输的方向)
- 主从(Mater/Slave)
- 总线(Bus)
I2C(Inter IC Bus)的电气特性:
- SDA 串行数据线
- SCL 串行时钟线
- 所有的SDA引脚,所有的SCL引脚,都是逻辑“与”的关系(只要总线上有任何一个主/从输出逻辑0