I2C总线之(一)---概述

  1. 概述:

    I²C 是Inter-Integrated Circuit的缩写,发音为"eye-squared cee" or "eye-two-cee" , 它是一种两线接口。

    I²C 只是用两条双向的线,一条 Serial Data Line (SDA) ,另一条Serial Clock (SCL)。

    SCL:上升沿将数据输入到每个EEPROM器件中下降沿驱动EEPROM器件输出数据。(边沿触发)

    SDA:双向数据线,为OD门,与其它任意数量的OD与OC门成"线与"关系。

  2. 输出级

    每一个I2C总线器件内部的SDA、SCL引脚电路结构都是一样的,引脚的输出驱动与输入缓冲连在一起。其中输出为漏极开路的场效应管,输入缓冲为一只高输入阻抗的同相器,这种电路具有两个特点:

    1)由于SDA、SCL为漏极开路结构(OD),因此它们必须接有上拉电阻,阻值的大小常为 1k8, 4k7 and 10k ,但1k8 时性能最好;当总线空闲时,两根线均为高电平。连到总线上的任一器件输出的低电平,都将使总线的信号变低,即各器件的SDA及SCL都是线"与"关系。

    2)引脚在输出信号的同时还将引脚上的电平进行检测,检测是否与刚才输出一致,为"时钟同步"和"总线仲裁"提供了硬件基础。

  3. 主设备与从设备

    系统中的所有外围器件都具有一个7位的"从器件专用地址码"其中高4位为器件类型,由生产厂家制定,低3位为器件引脚定义地址,由使用者定义。主控器件通过地址码建立多机通信的机制,因此I2C总线省去了外围器件的片选线,这样无论总线上挂接多少个器件,其系统仍然为简约的二线结构。终端挂载在总线上,有主端和从端之分,主端必须是带有CPU的逻辑模块,在同一总线上同一时刻使能有一个主端,可以有多个从端,从端的数量受地址空间和总线的最大电容 400pF的限制。  

    • 主端主要用来驱动SCL line;
    • 从设备对主设备产生响应;

 

    二者都可以传输数据,但是从设备不能发起传输,且传输是受到主设备控制的

 

 

  4.速率:

  普通模式:100kHz;

  快速模式:400kHz;

  高速模式:3.4MHz;

  没有任何必要使用高速SCL,将SCL保持在100k或以下,然后忘了它吧。

  

  P.S:时序部分将在第二天更新,FPGA实现在第三天。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/253000.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

js中级(1)

动画(1) Css样式提供了运动 过渡的属性transition 从一种情况到另一种情况叫过渡 Transition:attr time linear delay; Attr 是变化的属性 Time 是花费的时间 Linear 变化的速度 Delay 是延迟 复习background:url() no-repeat 50% 50% red; Background-image Ba…

I2C总线之(二)---时序

一、协议 1.空闲状态 I2C总线总线的SDA和SCL两条信号线同时处于高电平时,规定为总线的空闲状态。此时各个器件的输出级场效应管均处在截止状态,即释放总线,由两条信号线各自的上拉电阻把电平拉高。 2.起始位与停止位的定义: 起始信…

微信小程序设置底部导航栏目方法

微信小程序底部想要有一个漂亮的导航栏目,不知道怎么制作,于是百度找到了本篇文章,分享给大家。 好了 小程序的头部标题 设置好了,我们来说说底部导航栏是如何实现的。 我们先来看个效果图 这里,我们添加了三个导航图标…

HTTP协议(3)浏览器的使用之查看源码

在做CTF的Web类题目时,推荐使用Firefox浏览器。下面介绍一些在解题过程中关于浏览器的常用技巧。首先就是查看源码。在做Web题目时,经常需要查看网站源码,有的flag直接就藏在源码中,有些题目则是在源码中给出提示和线索&#xff0…

Autofac IoC容器基本使用步骤【1】

原文:http://www.bkjia.com/Asp_Netjc/888119.html 【原文中有一个地方报错,下面已修改】 一.基本步骤: 1.设计适合控制反转(IoC)的应用程序 2.给应用程序Autofac 引用. 3.注册组件. 4.创建一个Container以备后用. 5.从Container创建一个 lifetime scop…

I2C总线之(三)---以C语言理解IIC

为了加深对I2C总线的理解&#xff0c;用C语言模拟IIC总线&#xff0c;边看源代码边读波形&#xff1a; 如下图所示的写操作的时序图&#xff1a; 读时序的理解同理。对于时序不理解的朋友请参考“I2C总线之(二)---时序” 完整的程序如下&#xff1a; #include<reg51.h>…

结对编程总结

这个项目我和我的结对伙伴共花了两个月时间&#xff0c;之所以选这个项目&#xff0c;因为我们之前都学习过Python&#xff0c;也做过类似的程序&#xff0c;相比较其他项目而言&#xff0c;这个项目更合适&#xff0c;也让我们对词频统计方面的知识加深了了解。写这个程序我们…

JavaScript初学者必看“new”

2019独角兽企业重金招聘Python工程师标准>>> 译者按: 本文简单的介绍了new, 更多的是介绍原型(prototype)&#xff0c;值得一读。 原文: JavaScript For Beginners: the ‘new’ operator 译者: Fundebug 为了保证可读性&#xff0c;本文采用意译而非直译。 <di…

libGDX-wiki发布

为方便大家学习和访问&#xff0c;我将libgdx的wiki爬取到doku-wiki下&#xff0c;专门建立了以下地址。欢迎大家来共同完善。 http://wiki.v5ent.com 转载于:https://www.cnblogs.com/mignet/p/ligbdx_wiki.html

I2C读写时序

1. I2C写时序图&#xff1a; 注意&#xff1a;最后一个byte后&#xff0c;结束标志在第十个CLK上升沿之后&#xff1a; 2. I2C读时序图&#xff1a; 注意&#xff1a;restart信号格式&#xff1b;读操作结束前最后一组clk的最后一个上升沿&#xff0c;主机应发送NACK&#xff0…

网站性能优化

基本概念 1、网站吞吐量&#xff1a;TPS/每秒的事务数&#xff0c;QPS/每秒的查询数&#xff0c;HPS/每秒的HTTP请求数 2、服务器性能指标&#xff1a;系统负载&#xff0c;内存使用&#xff0c;CPU使用&#xff0c;磁盘使用以及网络I/O等 前端优化方法 1、减少HTTP请求&#x…

JAVA-容器(2)-Collection

&#xff08;基于JDK1.8源码分析&#xff09; 一&#xff0c;Collection 所有实现Collection接口的类原则上应该提供两种构造函数&#xff1a; 【1】无参构造-创建一个空的容器 【2】有参构造-创建一个新的Collection&#xff0c;这个新的Collection和传入的Collection具有相同…

软件测试工具LoadRunner中如何定义SLA?--转载

软件测试工具LoadRunner中如何定义SLA&#xff1f; 浏览&#xff1a;2242|更新&#xff1a;2017-04-09 22:50SLA 是您为负载测试场景定义的具体目标。Analysis 将这些目标与软件测试工具LoadRunner在运行过程中收集和存储的性能相关数据进行比较&#xff0c;然后确定目标的 SLA…

最近阅读20171106

java面试题 线上服务内存OOM问题定位三板斧 JVM的GC ROOTS存在于那些地方 mysql innodb怎样做查询优化 ----未阅读 JAVA CAS原理深度分析----未阅读 转载于:https://www.cnblogs.com/Tpf386/p/7793248.html

LinuxI2C驱动--从两个访问eeprom的例子开始

本小节介绍两个在linux应用层访问eeprom的方法&#xff0c;并给出示例代码方便大家理解。第一个方法是通过sysfs文件系统对eeprom进行访问&#xff0c;第二个方法是通过eeprom的设备文件进行访问。这两个方法分别对应了i2c设备驱动的两个不同的实现&#xff0c;在后面的小结会详…

Cookie详解整理

1.Cookie的诞生 由于HTTP协议是无状态的&#xff0c;而服务器端的业务必须是要有状态的。Cookie诞生的最初目的是为了存储web中的状态信息&#xff0c;以方便服务器端使用。比如判断用户是否是第一次访问网站。目前最新的规范是RFC 6265&#xff0c;它是一个由浏览器服务器共同…

骁龙820和KryoCPU:异构计算与定制计算的作用 【转】

本文转载自&#xff1a;https://www.douban.com/group/topic/89037625/ Qualcomm骁龙820处理器专为提供创新用户体验的顶级移动终端而设计。为实现消费者所期望的创新&#xff0c;移动处理器必须满足日益增长的计算需求且降低功耗&#xff0c;同时还要拥有比以往更低的温度&…

LNMP

准备工作 建立一个软件包目录存放 mkdir -p /usr/local/src/ 清理已经安装包 rpm -e httpd rpm -e mysql rpm -e php yum -y remove httpd yum -y remove mysql yum -y remove php #搜索apache包 rpm -qa http* #强制卸载apache包 rpm -e --nodeps 查询出来的文件名 #检查是否卸…

算法复习——计算几何基础(zoj1081)

题目&#xff1a; Statement of the Problem Several drawing applications allow us to draw polygons and almost all of them allow us to fill them with some color. The task of filling a polygon reduces to knowing which points are inside it, so programmers have …