什么是I²C?

I²C的正确读法为“I-squared-C”,而“I-two-C”则是另一种错误但被广泛使用的读法,在大陆地区则多以“I方C”称之。截至2006年11月1日为止,使用I²C协定不需要为其专利付费,但制造商仍然需要付费以获得I²C从属装置位址。

I²C是Inter Integrated-Circuit的简称,中文译为内部集成电路。I²C是一种串行通讯总线,所以I²C和I²C总线基本上是一个概念。I²C总线是由PHILIPS公司在1980年代为了让主板、嵌入式系统或手机能够连接周边低速装置而发明的一种电路板级串行总线标准。通过两根双向开漏(Open Drain)信号线(时钟线SCL和数据线SDA)即可完成主从机的通信,总线硬件连接极其简单。不同I²C设备挂接在总线上,只需在信号线安装上拉电阻即可完成硬件线路的搭建。另外,I²C总线采用器件地址的硬件设置方法,通过软件寻址方式完全避免了片选寻址的弊端,从而使硬件系统扩展更为灵活。I²C允许相当大的工作电压范围,但典型的电压准位为+3.3V或+5V。

由于书写原因,I²C也可以写为I2C。下文统一使用I2C,与本文主题及章节标题一致。

I2C的优缺点

I2C总线最主要的优点是其简单性和有效性。其次I2C支持多主机(Multi-Mastering),任何能够进行发送和接收的设备都可以成为主机。主机控制数据的传输和时钟的频率。在任何时间点只能有一个主机。由于只有两条线,在处理地址和应答时,I2C存在一定的开销,效率不如设备直接相连的SPI总线。

由于简单有效,I2C在业界得到广泛应用。基于I2C衍生出来的标准有SMBus、PMBus、IPMI、DDC和ATCA等。常见集成I2C硬件接口的设备有微控制器、温度传感器、LED控制器、EEPROM、ADC/DAC、RTC、时钟振荡器和I/O控制器等。

I2C主要特点

  • 只有两根信号线:串行数据线SDA和串行时钟线SCL
  • 总线上所有器件的SDA、SCL引脚输出驱动都为漏极开路结构,通过外接上拉电阻实现总线上所有节点SDA、SCL信号的“线与”逻辑关系
  • 总线上的所有设备通过软件寻址且具有唯一的地址(7位或10位)。7位“从机专用地址码”,其高4位为设备类型地址(由生产厂家制定),低3位为器件引脚定义地址(由使用者定义)。10位地址不常见
  • 任何时刻都只存在简单的主/从关系,按数据传输的方向,主机可以是主发送器或主接收器
  • 支持多主机。在总线上存在多个主机时,通过冲突检测和仲裁机制防止多个主机同时发起数据传输时存在的冲突
  • I2C总线上所有器件都具有“自动应答”功能,保证数据传输的正确性
  • 主机和从机的区别在于对SCL的发送权,只有主机才能发送SCL
  • I2C总线不仅广泛应用于电路板级的内部通信,还可以通过I2C总线驱动器进行不同系统间的通信
  • 支持传输速率包括标准模式(Standard Mode)100kb/s、快速模式(Fast Mode)400kb/s、增强快速模式(Fast Mode Plus)1Mb/s和高速模式(High Speed Mode)3.4Mb/s;极速模式(Ultra-Fast Mode),单向数据传输速率可达5Mb/s
  • I2C总线允许挂载最多的设备数量取决于总线上最大电容值,一般为400pf(Hs模式100pf)

I2C知识大全系列一 —— I2C相关概念相关推荐

  1. I2C知识大全系列三 —— I2C驱动之单片机中的I2C

    两种方式 单片机中的I2C驱动有两种方式.一种方式是用专用硬件I2C控制器实现,这种方式简单易行,品质也容易控制,只是会增加硬件成本方面的压力.另一种方式是用纯软件方式实现,这种方式几乎无硬件成本方面 ...

  2. MTK 驱动(4)---MTK Android Driver知识大全

    MTK Android Driver知识大全 一.Display 1.lcm 相关概念 1.1) MIPI接口:一共有三种接口:DBI(也做CPU或MCU接口).DPI(也叫RGB接口).DSI. 在 ...

  3. 硬盘知识大全(含主板、BIOS)

    硬盘知识大全(含主板.BIOS) 2011年03月15日 2 楼........"硬盘各部位常见故障汇总" ※ "已报废硬盘修复记." 3 楼........& ...

  4. CRH和谐号动车组列车知识大全

    和谐号CRH动车组列车知识集锦(2009年) 出版人:火车迷 版次:2009年7月第1版 2009年7月第1次印刷 和谐号CRH动车组列车知识大全 第一板块 列车知识 CRH动车组列车的全称为&quo ...

  5. 标准曲线制作、SEM检验、使用知识大全

    标准曲线制作.SEM检验.使用知识大全 分析检测的首要任务是定性和定量,定性可以说是有和无的问题,定量是提供待测物质含量范围的一个过程,这当中包含了任何定性定量都有不确定度的含义.而普遍采用的标准曲线 ...

  6. 测试课堂:标准曲线制作、SEM检验、使用知识大全

    测试课堂:标准曲线制作.SEM检验.使用知识大全 分析检测的首要任务是定性和定量,定性可以说是有和无的问题,定量是提供待测物质含量范围的一个过程,这当中包含了任何定性定量都有不确定度的含义.而普遍采用 ...

  7. 计算机网络知识大全.

    计算机网络知识大全. 一.网络的发展历程 二.计算机网络的概念 三.计算机网络的功能 四.计算机网络分类 五.计算机网络协议及网络模型 六.计算机网络操作系统概述 七.关于IP地址 八.域名和域名系统 ...

  8. 科学计算机主板,电脑主板的科普知识大全

    在电脑硬件中,主板虽然没有CPU.显卡.内存等硬件提及频率高,但同样作为电脑最重要的核心硬件之一,其也起着举足轻重的作用.下面就让小编带你去看看电脑主板的科普知识大全,希望能帮助到大家! 电脑主板常用 ...

  9. 史上最全电子产品接口知识大全(含实物图40种,收藏)

    史上最全电子产品接口知识大全(含实物图40种,收藏) 2017-07-31 EDN电子技术设计 1.IDE接口(一种硬盘接口) IDE的英文全称为"Integrated Drive Elec ...

最新文章

  1. 回溯算法——算法总结(四)
  2. 语言毕业设计选题及源代码_区块链毕业设计论文「11」
  3. 编程爱好者学vb还是python-编程语言Java和Python对比哪个比较好
  4. 如何修改Ubuntu Linux的时间
  5. libgdx使用android控件,在Android上使用libGDX中的SQLite
  6. MyEclipse的Git配置
  7. [置顶] 第五周项目一构造函数————4)参数初始化表
  8. [翻译]Java 核心技术(第7版)(3)
  9. project.management.cattle.io not found
  10. Python requests常用的浏览器头部
  11. 南京php吧,利用php爬虫分析南京房价
  12. 完全卸载VMware
  13. java统计在线人数_java实现在线人数统计
  14. 汉澳sinox2019操作系统AI企业版发布
  15. C++ 偏微分数值计算库_SymPy 符号计算基本教程
  16. Redis 的主从复制
  17. wm8960驱动:裸机代码研读
  18. 半路出家,开始学习java
  19. IBM小型机日常维护命令
  20. 近世代数第一节课笔记

热门文章

  1. 机器视觉丨平行面光源的原理丨打光案例及尺寸图
  2. 大型直播平台应用架构浅谈
  3. python--敲击木鱼积累功德小项目(更新版(2))
  4. CentOS7.6安装weblogic14.1.1.0.0
  5. 用HTML实现计数器功能
  6. 海康威视启用码流加密_如何在Windows 10上启用全盘加密
  7. DXP画图快捷键等资料
  8. php访问object元素,关于object:获取PHP stdObject中的第一个元素
  9. (四)双击放大与缩小图片
  10. ubuntu chmod命令