IIC协议

1、I1C总线简介

(1)110总线是Philips公司标题在八十年代初推出的一种串行、半双工总线主要用于近距离、低速的芯片之间的通信;110总线有两根双向的信号线一根数据线SDA用于收发数据,一根时钟线SCL用于通信双方时 钟的同步; IIC总线硬件结构简单,成本较低,因此在各个领域得到了广泛的应用。

(2)IIC总线是一种多主机总线,连接在IIC总线上的器件分为主机和从机主机有权发起和结束一次通信,而从机只能被主机呼叫:当总线上有多个主机同时启用总线时,IIC也具备冲突检测和仲裁的功能来防止错误产生每个连接到IIC总线上的器件都有一个唯一的地址(7bit),且每个器件都可以作为主机也可以作为从机(同一时刻只能有一个主机),总线上的器件增加和删除不影响其他器件正常工作;IIC总线在通信时总线上发送数据的器件为发送器,接收数据的器件为接收器。

2、IIC总线通信过程

(1)主机发送起始信号启用总线
(2)主机发送一个字节数据指明从机地址和后续字节的传送方向
(3)被寻址的从机发送应答信号回应主机
(4)发送器发送一个字节数据
(5)接收器发送应答信号回应发送器
(循环步骤4、5)
(n)通信完成后主机发送停止信号释放总线

3、IIC总线寻址方式

IIC总线上传送的数据是广义的,既包括地址,又包括真正的数据
主机在发送起始信号后必须先发送一个字节的数据,该数据的高7位为从机地址,最低位表示后续字节的传送方向,"0’表示主机发送数据。"1表示主机接收数据;总线上所有的从机接收到该字节数据后都将这7位地址与自己的地址进行比较,如果相同,则认为自己被主机寻址,然后再根据第8位将自己定为发送器或接收器
如下图表示,前面高七位为从机地址,最后那个地位表示后续的字节是由主机发送给从机
在这里插入图片描述

4、IIC总线信号实现

(1)起始信号和停止信号

  1. SCL为高电平时,SDA由高变低表示起始信号
  2. SCL为高电平时,SDA由低变高表示停止信号
  3. 起始信号和停止信号都是由主机发出,起始信号产生后总线处于占用状态
    停止信号产生后总线处于空闲状态
    在这里插入图片描述

(2)字节传送与应答信号

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

应答信号为低电平

(3)同步信号

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

5、典型IIC时序

  1. 主机向从机发送数据
    在这里插入图片描述
  2. 从机向主机发送数据
    在这里插入图片描述
  3. 主机先向从机发送数据,然后从机再向主机发送数据
    在这里插入图片描述
  4. 注:阴影部分表示数据由主机向从机传送,无阴影部分则表示数据由从机
    向主机传送;A表示应答, A非表示非应答,S表示起始信号,P表示终止信号

提一个问题
在发送数据的时候,发送一个1和发送俩个1都是持续的一段高电平,在IIC通信协议中,是如何区分发送的是一个1还是俩个1呢?
欢迎评论回答

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值