zoukankan      html  css  js  c++  java
  • IIC通信

    IIC通信:
    特点:
      IIC总线是两线式串行总线(连同GND为3线),仅需要时钟和数据两根线就可以进行数据传输,仅占用两个IO口。
      IIC总线可以在同一总线上连接多个器件,每个器件都有自己的器件地址。
    引脚:
      芯片上有A0、A1..是用来设置器件地址的
      SDA是串行数据引脚,用于在芯片读写时输入或输出数据和地址,是双向引脚。
      SCL是器件的串行同步时钟信号输入端,由单片机的IO口提供。(时钟信号一直由主机控制,即单片机)
      WP是保护引脚,但输入高电平时,禁止写入。但有时候没用,所以一般不用

      D7-D4是固定地址,D3-D1是可变地址,就是A2.A1.A0 还有D0(LSB) 就是控制读写(R/W)的地址,
      写入时R/W为0,读取时R/W为1
    一个字节一个字节得传输:
      使用:
        读写操作时需要先发送器件的地址,与器件地址相符合的器件得到确认就开始执行操作。
      传输:
        开始:
          SCL为高电平、SDL有一个从高到低的电平跳变动作
        保持:
          器件在SCL、SDL都为高电平是才会从数据线上采取数据,而芯片可以在SCL在低电平的时候写入,然后拉高电平,然后再变低电平。SDL不应该有电平跳变(为高?)数据只有在SDL为高时才是有效数据。
        停止:(数据传输完毕)
          SCL为高电平、SDL有一个从低到高的电平跳变动作


          连接在IIC总线上的器件在每接收完一个字节(8个二进制位)后,在第9个时钟信号时,会在SDA上回应一个低电平的ACK应答信号,以此表明当前受控的器件已经接收完一个字节,可以开始下一个字节了编程的时候就可以在传送完一个字节后,把连接SDA的IO口设置成回读数据(比如把IO口设置为高电平),然后在SCL操作一个脉冲,在SCL为高时读取SDA,如不为低电平就说明器件状态不空闲或出错,由于SDA是双向的IO,每个字节接收完成后,接收方都可以发送一个ACK回应



      状态保持的最少时间:
        开始、停止: 高至少要保持4.7us,低电平要保持4us。
        保持和空闲:高电平保持至少4us
      数据写入要求:
        每一位的写入是用时钟上升沿同步数据,也就是说时钟上升沿后从器件开始检测输入的数据SDL为高
        每一位的读取是用时钟下降沿同步数据,也就是说时钟下降沿后从器件开始输出的数据 SDL为高高到低,变化时间最大 300ns结束低到高,1us

      综上所述:在IIC总线上,每一位数据都有一个时钟脉冲相对应,即在SCL串行时钟的配合下,在SDA上逐位地串行传送每一位数据。进行数据传递时,在SLC呈现高电平期间,SDA的电平必须稳定,只有在SCL为低电平时,才允许SDA上的电平改变

      主机(单片机)是产生起始信号、停止信号并输出时钟信号的器件,此时任何被寻址的器件都被认为是从机

    多个字节传输:
      也需要先发送一个字节作为器件地址,每次通信都要先发送一个字节的器件地址和读写标识,称为器件寻址

      有的芯片有高四位和低四位,高四位是不同IIC类型器件固有的编码,芯片出厂就已经给定,低四位中A2.A1.A0是器件地址,对应芯片A2.A1.A0引脚

      D7-D4是固定地址,D3-D1是可变地址,就是A2.A1.A0 还有D0(LSB) 就是控制读写(R/W)的地址,写入时R/W为0,读取时R/W为1

      读取:
        读取当前地址数据:
          这种读取模式是读取当前芯片内部地址指针指向的数据。每次读写操作后,芯片会把最后一次操作过的地址最为当前的地址,在这里要注意的是,单片机在接收完芯片传送的数据后不必发送低电平的ACK给芯片,直接拉高SDA等待一个时钟后发送停止位。


        读取任意地址数据:
          在读取当前地址时,在这个指令前加一个“伪操作”,这个“伪操作”传送一个写指令,但这个写指令在地址传送完成后就要结束,这时芯片内部的地址指针指到这个地址上,再用读取当前地址指令就可以读取写入的地址数据


        连续读取
          连续读取操作只要在上面两种读取方式中,让芯片每传送完一个字节数据后,单片机回应给芯片一个低电平的ACK应答,那么芯片地址指针自动加一并继续传送数据,直到单片机不回应并停止操作。

     

  • 相关阅读:
    [转] RISC-V架构介绍
    SiP封装成超越摩尔定律的要塞,日月光/安靠/长电科技谁将赢取IC封装的未来
    OLED中的Demura
    第四次工业革命:人工智能(AI)入门
    星座图的原理与应用
    示波器基本原理之七:示波器的基本测量
    示波器基本原理之六:示波器的基本控制
    示波器基本原理之五:采集模式
    示波器基本原理之四:波形捕获率
    png的故事:隔行扫描算法
  • 原文地址:https://www.cnblogs.com/otome/p/12727397.html
Copyright © 2011-2022 走看看