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实现在第三天。

I2C总线之(一)---概述相关推荐

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

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

  2. SylixOS iMX6平台I2C总线驱动

    原理概述 I2C总线驱动概述 I2C总线驱动是I2C适配器的软件实现,提供I2C适配器与从设备间完成数据通信的能力,比如起始,停止,应答信号和MasterXfer的实现函数.驱动程序包含初始化I2C总 ...

  3. SylixOS 基于STM32平台的GPIO模仿I2C总线的驱动开发流程

    2019独角兽企业重金招聘Python工程师标准>>> 概述 本文档以STM32F767平台为例,详细介绍SylixOS上GPIO模仿I2C总线的驱动开发流程. 初始化 GPIO模仿 ...

  4. I2C 总线原理与架构

    一.I2C总线原理 I2C是一种常用的串行总线,由串行数据线SDA 和串行时钟线SCL组成.I2C是一种多主机控制总线,它和USB总线不同,USB是基于master-slave机制,任何设备的通信必须 ...

  5. ESP32学习6:I2C总线

    一.概述 I2C 通讯协议(Inter-Integrated Circuit)是由 Phiilps 公司开发的,由于它引脚少,硬件实现简单,可扩展性强,不需要 USART.CAN 等通讯协议的外部收发 ...

  6. I2C详解(3) I2C总线的规范以及用户手册(2) I2C其他的总线协议以及总线速度

    I2C详解(3) I2C总线的规范以及用户手册(2) I2C 其他的总线协议以及总线速度 I2C详解(1) 一文快速了解I2C的工作原理 I2C详解(2) I2C总线的规范以及用户手册(1) I2C ...

  7. 【InterFace】I2C 总线详述

    背景 昨天出去了一趟,人问:你熟悉什么?答:软硬件.结果,好尴尬. 硬件一般都做什么内容? 答:电源设计. 能说下升压.降压电路是怎么实现的吗? 答:不能.(Ps:后续增加 电源设计原理) 通讯都用到 ...

  8. Linux I2C总线详解

    概述: 1.I2C概念 2.I2C硬件结构图 3.I2C总线初始化 4.I2C控制器device 节点添加及driver注册 5.I2C设备节点添加及driver注册 5.adapter设备及驱动添加 ...

  9. PCA9306—I2C总线和SMBus双向电平转换器

    概述 PCA9306是一款支持I2C总线和SMBus的双向电平转换器,支持从1.0V-3.6V(Vref(1))到1.8V-5.5V(Vbias(ref)(2))的电平转换,并且带有使能输入. PCA ...

最新文章

  1. VS不显示最近打开的项目
  2. linux shell 合并文本
  3. 操作系统知识——互斥和死锁
  4. 这10个好习惯助你成为优秀的程序员
  5. Node.js Undocumented(2)
  6. java ee的小程序_扩展Java EE应用程序的基础
  7. Median(二分+二分)
  8. 童程童美机器人编程上海虹口校区_呼市童程童美少儿编程学习中心
  9. android能播放4k视频格式,四平台六款手机4K视频播放实测
  10. 包含资金约束的多阶段报童模型
  11. windowsXP消灭蓝屏的另类招式
  12. 迪文屏DMT12800K070_A2WTC踩坑实录(一)
  13. 领英给好友群发消息的方法和细节
  14. 错误Could not locate executable null\bin\winutils.exe in the Hadoop binaries的解决方案
  15. SLC、MLC、TLC闪存颗粒
  16. 计算机全键在线使用说明书,最全的电脑键盘所有键的功能说明,建议收藏!
  17. The First :使用Anaconda+pycharm学习图像处理
  18. 运营技巧|要如何提升用户留存率?
  19. 服务器主机型号,服务器的主机型号
  20. 八斗大数据清华班全链路 百度网盘

热门文章

  1. [IoC容器Unity]第三回:依赖注入
  2. HDU 1028 Ignatius and the Princess III
  3. java判断某个字符串是否是数字
  4. Ajax — 大事件项目(第三天)
  5. js(Dom+Bom)第一天(1)
  6. python学习笔记(二十八)日志模块
  7. HSRPSTPACL
  8. linux命令:mkdir命令
  9. 【强连通分量+概率】Bzoj2438 杀人游戏
  10. 去掉xcode中警告的一些经验