当前位置: 首页 > news >正文

九、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信号;

转载于:https://www.cnblogs.com/lxl-lennie/p/10219729.html

相关文章:

  • mongodb安装
  • H5(WebView)跳Native(UIView)
  • poj 2888 Magic Bracelet
  • 导入【 http://ip.qq.com/js/geo.js】外部省市县三级地区到Mysql数据库
  • 前端代码风格自动化系列(二)之Commitlint
  • SharePoint 2013 Designer 入门教程
  • SparkStreaming的实战案例
  • const let
  • 冷启动问题:如何构建你的机器学习组合?
  • hive报错 Another instance of Derby may have already booted the database
  • iOS应用审核的通关秘籍【转】
  • QTP常用功能
  • TCP三次握手
  • (原創) X61用戶,小心你的上蓋!! (NB) (ThinkPad) (X61)
  • Windows和Linux环境下Memcached安装与配置(转)
  • 《用数据讲故事》作者Cole N. Knaflic:消除一切无效的图表
  • 【comparator, comparable】小总结
  • angular2开源库收集
  • Bytom交易说明(账户管理模式)
  • DataBase in Android
  • ES6, React, Redux, Webpack写的一个爬 GitHub 的网页
  • JAVA SE 6 GC调优笔记
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • linux学习笔记
  • Mybatis初体验
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • React的组件模式
  • vue 配置sass、scss全局变量
  • vue从创建到完整的饿了么(18)购物车详细信息的展示与删除
  • 持续集成与持续部署宝典Part 2:创建持续集成流水线
  • 汉诺塔算法
  • 基于Volley网络库实现加载多种网络图片(包括GIF动态图片、圆形图片、普通图片)...
  • 什么软件可以剪辑音乐?
  • 小程序01:wepy框架整合iview webapp UI
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • ​草莓熊python turtle绘图代码(玫瑰花版)附源代码
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • $.ajax中的eval及dataType
  • (20050108)又读《平凡的世界》
  • (26)4.7 字符函数和字符串函数
  • (四)Tiki-taka算法(TTA)求解无人机三维路径规划研究(MATLAB)
  • (原創) 人會胖會瘦,都是自我要求的結果 (日記)
  • (转)使用VMware vSphere标准交换机设置网络连接
  • .NET8.0 AOT 经验分享 FreeSql/FreeRedis/FreeScheduler 均已通过测试
  • .NET开源快速、强大、免费的电子表格组件
  • .net连接MySQL的方法
  • .net最好用的JSON类Newtonsoft.Json获取多级数据SelectToken
  • [20171101]rman to destination.txt
  • [AutoSar]BSW_Memory_Stack_003 NVM与APP的显式和隐式同步
  • [BUG] Hadoop-3.3.4集群yarn管理页面子队列不显示任务
  • [C++]AVL树怎么转
  • [C++]模板与STL简介
  • [DM复习]Apriori算法-国会投票记录关联规则挖掘(上)
  • [error] 17755#0: *58522 readv() failed (104: Connection reset by peer) while reading upstream
  • [IE编程] 多页面基于IE内核浏览器的代码示例