介绍
- 串行,半双工;
- 适合低速、近距离的通讯;
- 两个线,数据线:SDA,时钟线:SCL;
多主机总线协议;
- IIC总线是一种多主机总线;
- 连接在IIC总线上的分为主机和从机;
- 主机有权发起和结束一次通讯,从机只能被主机呼叫;
- 当总线上有多个主机同时启动时,IIC也具备总裁的功能防止错误的产生;
- 连接在总线上的地址(7bit)是唯一的;
- 每个器件即可作主机也可作从机;
- 总线上发送数据的器件叫发送器,接受数据的器件叫接收器。
IIC通讯的过程
- 主机发送起始信号启动总线;
- 主机发送一个字节的数据指明从机的地址和后续字节传输的方向(后续位是0表示主机给从机发送数据);
- 被寻址的从机发送应答信号回应主机;
- 发送器发送一个字节的数据;
- 接收器发送应答信号回应;
- 循环4、5步骤;
- 通讯完成后主机发送停止信号释放总线
IIC总线信号实现
起始信号和停止信号
- 起始信号:SCL为高电平,SDA由高变低;
- 停止信号:SCL为高电平,SDA由低变高;
- 起始信号和停止信号都由主机发出。
字节的传输与应答
- iic通讯时每个字节为8位;
- 先传输高位,后传输地位;
- 发送器发送一个字节的数据之后接收器必须发送一个应答位;
- 应答信号就是接收器将SDA线拉为低电平;
同步信号
- SCL为低电平期间,发送器向SDA数据线上发送一位数据;
- SCL为高电平期间,接收器读取数据线上的数据,在SCL为高电平期间,SDA线上的电平不允许变化;