• 九、IIC驱动原理分析


    学习目标:学习IIC驱动原理;

    一、IIC总线协议

    IIC串行总线包括一条数据线(SDA)和一条时钟线(SCL),支持“一主多从”和“多主机”模式;每个从机设备都有唯一的地址来识别。

    图 1 IIC 主从结构

    二、IIC信号和时序

    IIC总线有3种类型信号:

    1)开始信号S

    SCL为高电平,SDA由高电平跳变为低电平,开始传输数据。

    2)结束信号P

    SCL为高电平,SDA由低电平跳变为高电平,结束传输数据。

    3)响应信号ACK

    接收器在接收到8位数据之后,在第9个时钟周期,拉低SDA电平。(如图Acknowledge)

    数据传输过程中,SDA上的数据必须在SCL高电平期间保持稳定,SDA上的数据在SCL为低电平期间变化:

    三、数据传输格式

    IIC主从机之间通讯步骤如下:
    1. 主机发送一个起始信号S通知总线上的从机就位;
    2. 主机发送从机地址和读写标志共8位,其中从机地址占高7位,读写标志占用最低位(0为写,1为读);

    3. 从机给主机回复响应

    4. 紧接着一系列的字节及其响应:

    1)如果是写模式, 主机发送一字节数据等待从机响应,主机收到响应之后如果还有数据要发就继续发送第二段数据等待响应…直到发送完成;

    2)如果是读模式, 此时主机读取从机发来的数据,并给从机响应, 如果从机还有数据要发送(接着汇报第二段),主机接着读取然后发送响应给从机…

    5. 主机发出P信号结束本次传输。

    IIC写操作

    主机开始信号-->(7位从机地址+1位写标识)-->从机ACK响应位-->主机发DATA1-->从机ACK响应位.......->主机P信号

     IIC读操作

    主机开始信号-->(7位从机地址+1位读标识)-->从机ACK响应位-->从机发DATA1-->主机ACK响应位.......->主机发送 NACK -->主机P信号;

  • 相关阅读:
    mysql总结
    JVM入门_笔记_狂神说
    spring-与事务管理相关的工具类
    spring-获取连接的工具类
    浏览器调试之 实时更新 browser-sync
    Git: 版本控件
    Visual Studio Code 自定义快捷键,自动生成.vue文件
    Markdown基本语法
    Node.js 平台-服务器 之 Express
    chrome插件之 vue devtools
  • 原文地址:https://www.cnblogs.com/lxl-lennie/p/10219729.html
Copyright © 2020-2023  润新知