【IIC】IIC总线

IIC总线简介

1、IIC是一种串行、半双工总线,SDA收发数据,SCL用于通讯双方时钟的同步;
2、IIC总线是一种多主机总线,器件分为主机从机有权发起结束一次通讯,从机只能被主机呼叫;当总线上有多个主机同时启用总线时,IIC具备冲突检测仲裁功能放置错误的发生;
3、每个连接到IIC总线的器件都有一个唯一的地址(7bit),每个器件都可以作为主机也可以作为从机(同一时刻只能有一个主机),总线上的器件增加和删除不影响其他前器件正常工作;
4、IIC总线在通讯中总线上发送数据的器件为发送器,接收数据的器件为接收器;

IIC总线通讯过程

1、主机发送一个起始信号启用总线
2、主机发送一个字节数据指明从机地址和后续字节的传送方向
【IIC】IIC总线_第1张图片
高7位为从机地址,第0位为传送方向,
主机往最后一位写的是0,主机给从机发数据;
主机往最后一位写的是1,从机给主机发数据。
3、被寻址的从机发送应答信号回应主机
4、发送器发送一个字节数据
5、接收器发送应答信号,回应发送器
.....
n、通讯完成后主机发送停止信号释放总线

IIC总线寻址方式

【IIC】IIC总线_第2张图片

起始信号和停止信号

SCL为高电平时,SDA由高变为底表示起始信号
SCL为高电平时,SDA由底变高表示停止信号
起始信号与停止信号都是由主机发出,起始信号产生后总线处于占用状态,停止信号产生后总线处于空闲状态。
【IIC】IIC总线_第3张图片

字节传送与应答

IIC总线通讯时每个字节为8位长度,数据传送时,先传送最高位,后传送低位,发送器发送完一个字节数据后接收器必须发送1位应答位来回应发送器即一帧共有9位。
【IIC】IIC总线_第4张图片

同步信号

IIC总线在进行数据发送时,时钟线SCL为低电平期间发送器向数据线上发送一位数据,在此期间数据线上的信号允许发生变化,时钟线SCL为高电平期间接收器从数据线上读取一位数据,在此期间数据线上的信号不允许发生变化,必须保持稳定。
【IIC】IIC总线_第5张图片

你可能感兴趣的:(c)