IIC总线概述
IIC总线是一种串行、半双工总线,有以下特点:
- 应用于低速、近距离的芯片之间。
- 由两根双向的信号线组成:数据线SDA用于收发数据;时钟线SCL用于通信双方时钟的同步。
- 多主机总线:
1、连接在IIC总线上的器件分为主机和从机,主机可以发起和结束一次通信,从机只能被主机呼叫。
2、冲突检测、仲裁功能:多个主机同时启用总线,防止错误。
3、IIC总线上的器件都有一个唯一的地址(7bit),且每个器件既可以作为主机,也可以作为从机。但同一时刻只能有一个主机。
4、总线上的器件增加和删除不影响其他器件正常工作。
IIC总线通信过程
- 主机发送起始信号启用总线
- 主机发送一个字节数据指明从机地址和后续字节的传送方向(0:主机给从机发数据;1:从机给主机发数据)
- 被寻址的从机发送应答信号回应主机
- 发送器发送一个字节数据
- 接收器发送应答信号回应发送器
- 重复步骤4、5
- 通信完成后主机发送停止信号释放总线
IIC总线寻址方式
-
IIC传输的数据,包括地址和数据。
-
主机发送完起始信号后,发送一个字节数据指明从机地址(高7位)和后续字节(低位)的传送方向,从机接收后将高