IIc总线快速复盘

一. IIc总线定义:

IIC总线(inter-integrated Circuit)是飞利浦公司在八十年代初推出的一种串行多主机,半双工总线(不能同时接收发送)。主要用于近距离,低速的芯片通信。

二. 物理结构:

IIC总线有俩根双向的信号线,一根数据线SDA用于数据的收发,一根时钟SCK用于同步通信双方时钟。
在这里插入图片描述

三. IIC总线多主机特征:

连接在IIC总线上的器件分为主机从机,一条总线上可以有多个从机设备,也就是说可以用单片机的俩个io接口来和多个设备实现通信。每个连接到IIC总线上的器件都有唯一的地址(7Bit),且每个器件都可以作为主 /从机。总线上增加和删除不影响其他器件正常工作。妙呀~~

四. IIC总线通信过程:

可以联想实际,妙蛙种子发芽—妙上天了!

  1. 主机发送起始信号启用总线(打开电话)
  2. 主机发送一个字节的数据指明从机地址和后续字节的传输方向(拨打号码,传输方向不能中途改变)
  3. 被寻址的从机发送应答信号回应主机(对方接听)
  4. 发送器发送一个字节的数据(阿巴阿巴阿巴。。)
  5. 接收器发送应答信号回应发送器(对方:阿巴阿巴阿巴。。)
  6. 循环步骤4,5。(继续阿巴)
  7. 最后通信完成后主机发送停止信号释放总线(只能主挂,从不能挂,结束!)

五. IIC总线的寻址方式:

IIC总线上传送的数据是广义的,既包括地址,又包括真正的数据。主机在发送起始信号后必须发送一个字节的数据,该数据的高七位(—>)为从机地址,最低位表示后续字节的传送方向,'0’表示主机发送数据,'1’表示主机接受数据(和人刚好反过来,记住了吗?)总线上所有的从机接受该字节数据和自己的比较,如果相同,则认为自己被寻址,在根据最后一位判断自己是发送器还是接收器

六. IIC总线协议:

在这里插入图片描述
IIC总线在不使用时,SCL和SDA都是高电平(1)

1.起始信号:

SCL为高电平时,SDA由高变低。

2.停止信号:

SCL为高电平时,SDA由低变高。
** 起始和停止都是主机发出,起始信号产生后总线处于被占用的状态,停止信号发出后总线处于空闲状态。**

3.字节传送和应答:

在这里插入图片描述
IIC总线通信是每个字节为8位长度,先传送最高位,后传送最低位,发送器发送完一个字节数据后接收器必须发送1位应答位(0)来回应发送器,故一帧共有9位。
在这里插入图片描述

4. 同步信号:

时钟线SCL为低电平期间发送器向数据线上发送一位数据,在此期间,数据线上的信号允许发生变化,时钟线SCL为高电平时,接收器从数据线上读取一位数据,这时数据线上的信号不允许发生变化。
注:这实际上是在解决通信过程中区分相同数据的问题,例如区分10和1100,在串口通信中是通过波特率(1s发送多少个数据)来解决的。

七. 典型IIC时序:

  • 主机向从机发送数据:
    在这里插入图片描述

  • 从机向主机发送数据:
    在这里插入图片描述

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


注意这里没有发送停止信号,因为停止之后总线可能会被其他主机占用。
在这里插入图片描述

版权声明:本文为CSDN博主「yuzhouking」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yuzhouking/article/details/122731725

一. IIc总线定义:

IIC总线(inter-integrated Circuit)是飞利浦公司在八十年代初推出的一种串行多主机,半双工总线(不能同时接收发送)。主要用于近距离,低速的芯片通信。

二. 物理结构:

IIC总线有俩根双向的信号线,一根数据线SDA用于数据的收发,一根时钟SCK用于同步通信双方时钟。
在这里插入图片描述

三. IIC总线多主机特征:

连接在IIC总线上的器件分为主机从机,一条总线上可以有多个从机设备,也就是说可以用单片机的俩个io接口来和多个设备实现通信。每个连接到IIC总线上的器件都有唯一的地址(7Bit),且每个器件都可以作为主 /从机。总线上增加和删除不影响其他器件正常工作。妙呀~~

四. IIC总线通信过程:

可以联想实际,妙蛙种子发芽—妙上天了!

  1. 主机发送起始信号启用总线(打开电话)
  2. 主机发送一个字节的数据指明从机地址和后续字节的传输方向(拨打号码,传输方向不能中途改变)
  3. 被寻址的从机发送应答信号回应主机(对方接听)
  4. 发送器发送一个字节的数据(阿巴阿巴阿巴。。)
  5. 接收器发送应答信号回应发送器(对方:阿巴阿巴阿巴。。)
  6. 循环步骤4,5。(继续阿巴)
  7. 最后通信完成后主机发送停止信号释放总线(只能主挂,从不能挂,结束!)

五. IIC总线的寻址方式:

IIC总线上传送的数据是广义的,既包括地址,又包括真正的数据。主机在发送起始信号后必须发送一个字节的数据,该数据的高七位(—>)为从机地址,最低位表示后续字节的传送方向,'0’表示主机发送数据,'1’表示主机接受数据(和人刚好反过来,记住了吗?)总线上所有的从机接受该字节数据和自己的比较,如果相同,则认为自己被寻址,在根据最后一位判断自己是发送器还是接收器

六. IIC总线协议:

在这里插入图片描述
IIC总线在不使用时,SCL和SDA都是高电平(1)

1.起始信号:

SCL为高电平时,SDA由高变低。

2.停止信号:

SCL为高电平时,SDA由低变高。
** 起始和停止都是主机发出,起始信号产生后总线处于被占用的状态,停止信号发出后总线处于空闲状态。**

3.字节传送和应答:

在这里插入图片描述
IIC总线通信是每个字节为8位长度,先传送最高位,后传送最低位,发送器发送完一个字节数据后接收器必须发送1位应答位(0)来回应发送器,故一帧共有9位。
在这里插入图片描述

4. 同步信号:

时钟线SCL为低电平期间发送器向数据线上发送一位数据,在此期间,数据线上的信号允许发生变化,时钟线SCL为高电平时,接收器从数据线上读取一位数据,这时数据线上的信号不允许发生变化。
注:这实际上是在解决通信过程中区分相同数据的问题,例如区分10和1100,在串口通信中是通过波特率(1s发送多少个数据)来解决的。

七. 典型IIC时序:

  • 主机向从机发送数据:
    在这里插入图片描述

  • 从机向主机发送数据:
    在这里插入图片描述

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


注意这里没有发送停止信号,因为停止之后总线可能会被其他主机占用。
在这里插入图片描述

版权声明:本文为CSDN博主「yuzhouking」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yuzhouking/article/details/122731725

生成海报
点赞 0

yuzhouking

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

基于8051单片机实现电子时钟+数字秒表设计

概述 电子时钟是一种利用数字电路来显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显 示直观、无机械传动装置等优点,因而得到广泛应用。随着人们生活环境的不断改善和美化,在许

基于STM32的指纹密码锁

设计简介: 本设计是基于单片机的指纹密码锁,主要实现以下功能: 矩阵按键输入密码,并通过按键显示*号可通过按键或手机开门密码可通过按键进行开门可通过蓝牙模块连接手机进行开门可通过指纹进