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单片机实现电子时钟+数字秒表设计

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

汇编实现LED点亮

汇编点亮一个LED MCS-51单片机 也许C语言人人都会,但使用汇编语言就不一定了。 使用汇编语言点亮一个LED灯 程序: ORG 0000H MAIN:CLR P2.0 LJMP MAINEND 注释如下&#

pwm电机调速的原理介绍与代码实现

1、pwm实现调速的原理与介绍 PWM(Pulse Width Modulation)脉冲宽度调制。 1)占空比 pwm占空比就是一个脉冲周期内有效电平在整个周期所占的比例。 通过调节PWM的占空比就能调节IO口上电压的持续