IIC通信详细介绍

1、IIC总线协议

特点:串行、半双工、用于近距离、低速芯片之间通信

IIC有两根双向的信号线(SDA、SCL)

SDA用于收发数据

SCL用于通信双方的时钟同步

IIC是多主机总线,连接在IIC总线上的器件分为主机和从机

主机有权发起和结束一次通信、从机只能被主机呼叫

当IIC总线上有多个主机同时启用总线时,IIC也具备冲突检测和仲裁功能来防止错误产生

连接到IIC总线上的器件都有一个唯一的地址(7bit)

每个器件都可以1主机也可以作为从机(同一时刻只能有一个主机)

IIC总线在通信时总线上发送数据的器件为发送器,接受数据的器件为接收器

2、IIC总线通信过程

1)主机发送起始信号启用总线

2)主机发送一个字节(8字节)数据指明从机地址和后续字节的传送方向

从机地址为7位,占用发送的字节的高7位,最后1位用于传送方向:是主从,还是从主:如果最后一位0表示主机跟从机发送,为1表示从机跟主机发送

3)被寻址的从机发送应答信号回应主机

4)发送器发送一个字节数据  由最后一位决定是主机还是从机

5)接收器发送应答信号回应发送器

 … … (循环步骤4、5)

n)通信完成后主机发送停止信号释放总线

在起始信号和停止信号之间可以发送任意多字节,每次发送一个字节,都需要从机应答

3、IIC寻址方式

1)IIC总线上传送的数据是广义的,既包括地址,又包括真正的数据

2)主机在发送起始信号后必须先发送一个字节的数据,该数据的高7位为从机地址,最低位表示后续字节的传送方向,'0'表示主机发送数据,'1'表示主机接收数据;总线上所有的从机接收到该字节数据后都将这7位地址与自己的地址进行比较,如果相同,则认为自己被主机寻址,然后再根据第8位将自己定为发送器或接收器

4、IIC总线信号实现(具体原理)

整个通信过程总共发送4个信号起始信号、一个字节、应答信号、停止信号

1)起始信号和终止信号

SCL为高电平时,SDA由高变低表示起始信号

SCL为高电平时,SDA由低变高表示停止信号

起始信号和停止信号都是由主机发出,起始信号产生后总线处于占用状态

停止信号产生后总线处于空闲状态

5、字节传送和应答

IIC总线通信时每个字节为8位长度,数据传送时,先传送最高位,后传送低位,发送器发送完一个字节数据后接收器必须发送1位应答位来回应发送器即一帧共有9位

数据传输:1表示高电平,0表示低电平,第9位时,从机由高电平变为低电平进行应答

6、同步信号(字节具体传输过程)

对于存在连续发送相同位的情况(比如发送11100000,怎么区分有几个1,几个0)

对于串口是接收器根据波特率来判断,即根据时间判断,但是接收器与发送器异步,时钟不同步,存在误差,时间长判断误差大,所以串口一次只能发送一个字节

对于IIC也是接收器根据这个时间来判断,只是通过同步信号来判断

IIC总线在进行数据传输时:

1)时钟线SCL为低电平期间:发送器向数据线SDA上发送一位数据,在此期间数据线上的信号允许变化(数据线为低时,表示发送0,为高时表示发送1)(发送

2)时钟线SCL为高电平期间:接收器从数据线上读取一位数据,在此期间数据线上的信号不允许发生变化,必须保持稳定(接收

3)重复1、2步

上面两步表示发送并接受一个数据,重复这个过程可以不断发送数据,具体工程如下图:

全部过程如下图:(一个字节发送完毕,第9位进行应答)

7、典型IIC时序

1)主机向从机发送数据

注:阴影部分表示数据由主机向从机传送,无阴影部分则表示数据由从机向主机传送;A表示应答, A非表示非应答,S表示起始信号,P表示终止信号,0表示主机向从机发送,1表示从机向主机发送

描述:主机发送起始信号(S,这个信号包含从机地址和传输方向0),然后从机应答(A),然后开始数据发送,从机应答(A);主机在发送最后一个字节数据,主机不想在发送或者从机不接受,不发送应答信号,最后主机直接发送终止信号。

2)从机向主机发送数据

与上面介绍类似

3)主机先向从机发送数据,然后从机再向主机发送数据

这个过程需要主机发送两次起始信号,一次终止信号

  • 26
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值