IIC总线的起源&发展 IIC最早是由飞利浦公司在做音频传输时用的一条总线协议。 当前市场上很多传感器、模块都使用的时IIC总线接口,比如:温湿度传感器,wifi模块,存储芯片 IIC总线的构成:两根线:SDA线:数据总线;SCL线:时钟线。 IIC总线协议服从的是主从设备通信。IIC总线的控制权在主设备中。一般情况下主设备都是CPU。 IIC总线通信方式:同步串行半双工;区别UART:异步串行全双工 1.1 IIC总线物理拓扑结构 图2.1 IIC总线物理拓扑结构图 两条线:平衡,会有干扰,会产生电容的影响。由于这个影响的问题,总线上的设备数量不能够是无限多个。 上拉电阻:范围:4.7K~100K之间。典型值为47K----473 1.2 IIC总线特征总线上是可以挂载多个IIC器件。器件1与器件3怎么通信?怎么能够找到IIC器件3? 对于IIC总线来说,寻找器件的方式:通过器件地址的方式去寻找。每个IIC器件都有一个设备地址。设备地址的组成是7位或者10位设备地址。在7位或10位设备地址中分为:固定地址+可编程地址。 假设:器件1总地址位7位,固定地址为:1010并且是高4位;可编程地址:xxx;一条总线上能接器件1的数目最多为:8个。 通信数据长度: 串口:一帧数据是5~8位。 IIC总线:一帧数据是固定8位。 通信速度: 串口:波特率:9600、115200、384000、921600 IIC总线:分为三个速度:普通:100Kb/s;用在比较老一点的传感器。快速:400Kb/s;高速:3.4Mb/s 1 IIC总线数据帧格式IIC总线通信协议:通信数据帧构成:起始条件+8位的数据+应答/非应答+停止条件 起始条件:SCL线为高电平期间,SDA线由高电平跳转到低电平。 停止条件:SCL线为高电平器件,SDA线由低电平跳转到高电平 应答信号:8为数据发送结束后再接收的一个位的信号,如果SCL由低到高电平期间,SDA线是低电平则为应答信号 非应答信号:8为数据发送结束后再接收的一个位的信号,如果SCL由低到高电平期间,SDA线是高电平则为非应答信号
|