IIC协议
写在前面
本文是IIC协议标准的个人总结(偏硬件),以下内容多出自IIC协议标准中文版(周立功)和网络,我总结怪+缝合怪罢了。如有错误的地方,请指出。共同学习。
特征
- 串行同步,单双工,速率:标准100kb/s,快速400kb/s,高速3.4Mb/s;
- 只有两条总线线路:数据SDA,时钟SCL;
- 它是一个多主机总线,多主机通过冲突检测和仲裁来判断此刻传输数据的主机;
- 每个连接到总线的设备都可以通过唯一的地址和一直存在的简单的主机/从机关系软件设定地址;
- 连接到相同总线的IC数量只受到总线的最大电容400pF限制。
术语
注意:主机与发送器,从机与接收器不是持久的,要看当时传输数据的状态,下一次可能就会角色转换。时钟总是由主机产生的。
电气特征
- 连接到I2C总线的期间有不同种类的工艺(CMOS,双极性等),所以逻辑高低的电平不是固定的
- SDA,SCL都是双向线路,OD或OC门,需要电流源或上拉。总线空闲时,两条线都是高电平。
- SDA 线上的数据必须在时钟的高电平周期保持稳定 数据线的高或低电平状态只有在 SCL 线的时钟信号是低电平时才能改变
传输格式
起始和停止条件
起始条件:SCL 是高电平时 SDA 线从高电平向低电平切换
停止条件:SC