什么是I2C总线?

news2024/11/28 0:47:42

1.什么是I2C?

1.1 I2C的由来

        在电视机内部电路中,众多功能需要用到许多集成电路IC来实现,包括主控器件微控制器和众多外围设备器件。这些器件相互之间要传递数据信息,那么就需要用导线相互连接,如此众多IC器件的互连,势必导致芯片引脚、PCB走线以及连接导线变得数量庞大,错综复杂,这会导致IC芯片体积增大、功耗增大、成本增加,给IC芯片设计制造厂商带来不利影响,同时也给IC芯片应用厂商和应用工程师们造成极大不便。

        1982年,从事电灯泡、电剃刀、电唱机、收音机、电视机等研发制造已久的荷兰飞利浦公司,为解决电视机的上述问题,从而发明了一种集成电路互连通信电路,该电路的优点就是仅用两条线就可以实现芯片之间的互连通信,使硬件电路最简化,硬件效益最大化,给芯片设计制造者和芯片应用者带来极大益处。

        飞利浦公司给这种集成电路互连通信电路命名为Inter-Integrated Circuit,简称为Inter-IC,或I2C(数字“2”为上标)。

1.2 I2C的读法

        在“Inter-Integrated Circuit” 中,“Inter-” 表示“在……之间,相互”的意思;“Integrated Circuit” 简称“IC”,表示“集成电路”的意思。 “Inter-Integrated Circuit”,直接翻译过来就是内部集成电路(DeepL翻译为互联电路,微软翻译为内部集成电路,百度翻译为内置集成电路)。

        在中国正式的书面场合,全称写作Inter-Integrated Circuit,简写Inter-IC或者I^{2}C(英文读作“I squared C”,中文读作“I平方C”)。

 

 2.I2C的特点

  1. 两线制总线:I2C仅使用两条线——串行数据线(SDA)和串行时钟线(SCL)进行通信,有效降低了连接复杂性。
  2. 多主多从设备支持:I2C支持多个主设备和多个从设备连接到同一总线上。每个设备都有唯一的地址。
  3. 可变的时钟速率:I2C总线支持不同的速率模式,如标准模式(100kbps)、快速模式(400kbps)和高速模式(3.4Mbps)。
  4. 同步通信:I2C是一种同步通信协议,数据传输由时钟信号(SCL)来控制。
  5. 简单的连接:I2C通信对硬件的要求比较低,很容易在微控制器和外围设备间实现连接。
  6. 地址分配:每个I2C设备都通过一个7位或10位的地址来识别,这使得总线上可以连接多个设备。
  7. 阻塞传输:I2C支持阻塞传输机制,即主设备可以在传输过程中控制总线,防止其他设备发送数据。
  8. 应用广泛:由于其简单和灵活性,I2C被广泛应用于各种电子产品中,如传感器、LCD显示器、EEPROM等。
  9. 总线仲裁和冲突检测:在多主模式下,I2C能够处理多个主设备同时尝试控制总线的情况。
  10. 低功耗:I2C总线的设计使其成为低功耗的通信方式,适用于电池供电的设备。

3.I2C的物理层

      I2C一共只有两根总线:一条是双向的串行数据线SDA,一条是串行时钟线SCL

  • SDA(Serial data)是数据线,D代表Data也就是数据,Send Data也就是用来传输数据的
  • SCL (Serial clock line)是时钟线,C代表Clock也就是时钟,也就是控制数据发送的时序的

         所有连接到I2C总线设备上的串行数据SDA都接到总线的SDA上,各设备的时钟线SCL接到总线的SCL上。I2C总线上的每个设备都自己一个唯一的地址,来确保不同设备之间访问的准确性。

 4.I2C的协议层

        I2C总线在传递数据的过程中共有三种类型的信号,它们分别是:开始信号,结束信号,应答信号

  • 开始信号:SCL为高电平,SDA由高电平向低电平跳变,开始传送数据
  • 结束信号:SCL为高电平,SDA由低电平向高电平跳变,结束传送数据
  • 应答信号:接收数据的IC在接收到8bit数据之后,向发送数据的IC发出特定的低电平脉冲,表示已经收到数据。CPU向受控单元发出一个信号之后,等待受控单元发出一个应答信号,CPU接收到应答信号后,根据实际情况作出是否继续传递信号的判断。若未收到应答信号,由判断为受控单元出现故障。

        这些信号中,起始信号是必需的,结束信号和应答信号,都可以不要。

 5.I2C总线的应用场景

        I2C总线的应用场景‌主要包括传感器数据采集、显示屏控制、存储器访问、时钟芯片通信等。

  • 传感器数据采集‌:I2C协议常用于从各种传感器中读取数据,如温度传感器、湿度传感器、压力传感器等。这些传感器通过I2C总线与主控制器通信,实现数据的实时采集和传输。
  • 显示屏控制‌:I2C协议可以用于控制OLED、LCD等显示屏,显示各种信息。通过I2C总线,主控制器可以与显示屏进行通信,实现显示内容的更新和控制。
  • 存储器访问‌:I2C协议可以用于访问EEPROM、FRAM等非易失性存储器,实现数据的存储和读取。这种通信方式使得存储器能够与主控制器进行数据交换,满足数据存储和读取的需求。
  • 时钟芯片通信‌:I2C协议常用于与实时时钟芯片(RTC)通信,获取当前时间和日期。通过I2C总线,主控制器可以与时钟芯片进行通信,实现时间的读取和设置。

        I2C总线的应用场景广泛,主要得益于其简单、双向二线制同步串行总线的特性,使得设备之间的连接和通信变得简单高效。无论是传感器、显示屏、存储器还是时钟芯片,都可以通过I2C总线与主控制器进行通信,实现数据的传输和控制‌。

 

 

 

 

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

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

相关文章

ArcGIS Pro 发布松散型切片

使用ArcGIS Pro发布松散型切片问题,有时候会出现切片方案写了松散型,但是自动切片完成后依然是紧凑型的问题,这时候可以采用手动修改然后再切片的方式。 1. 发布切片服务 选择手动切片方式 2. 手动修改服务的切片方案文件 修改cache服务…

htop的使用详解

1. htop简介: htop 是一个基于 ncurses 的跨平台进程查看器。 它与 top 类似,但允许您垂直和水平滚动,并使用指针设备(鼠标)进行交互。您可以观察系统上运行的所有进程及其命令行参数,以及以树形格式查看它…

Golang | Leetcode Golang题解之第392题判断子序列

题目&#xff1a; 题解&#xff1a; func isSubsequence(s string, t string) bool {n, m : len(s), len(t)f : make([][26]int, m 1)for i : 0; i < 26; i {f[m][i] m}for i : m - 1; i > 0; i-- {for j : 0; j < 26; j {if t[i] byte(j a) {f[i][j] i} else {…

Python | Leetcode Python题解之第392题判断子序列

题目&#xff1a; 题解&#xff1a; class Solution:def isSubsequence(self, s: str, t: str) -> bool:n, m len(s), len(t)f [[0] * 26 for _ in range(m)]f.append([m] * 26)for i in range(m - 1, -1, -1):for j in range(26):f[i][j] i if ord(t[i]) j ord(a) el…

软件工程-图书管理系统的需求分析

软件需求规格说明书 目录 软件需求规格说明书 一、引言 1.1编写目的 1.2背景 1.3定义 1.4参考资料 二、任务概述 2.1目标 2.2用户特点 2.3假定和约束 三、需求规定 3.1功能划分 3.1.1系统功能组成 3.1.2功能编号和优先级 3.2功能描述 3.3性能 3.4输入输出 …

VUE2.0 elementUI el-input-number 数据更新,视图不更新——基础积累

今天遇到一个问题&#xff0c;是关于el-input-number组件的&#xff0c;发现数据明明已经更改了&#xff0c;但是页面上组件输入框中还是之前的值。 比如上方输入框中&#xff0c;我输入120.5&#xff0c;就会出现下面的诡异现象 回显此值是120.779&#xff0c;但是页面上输入…

WPF MVVM如何在ViewModel直接操作控件对象

早些年在WPF中使用COM组件时&#xff0c;需要在ViewModel中操作COM组件中的控件对象&#xff0c;但是这个控件对象又不支持绑定&#xff0c; 后面的解决办法是在窗口加载时&#xff0c;将控件对象以参数传递到Loaded事件的处理命令中&#xff0c;然后将这个对象记录下来&#…

uniapp基础知识点补充

一. 响应式单位rpx和绝对单位px 1.px的作用及理解 绝对单位&#xff1a;px 是一个绝对单位&#xff0c;表示屏幕上的实际像素数量,不随屏幕尺寸或分辨率变化而变化。广泛适用&#xff1a;在Web开发中广泛使用&#xff0c;适用于各种浏览器和设备,适用于CSS中的各种属性&#xf…

线性代数 第四讲 极大线性无关组,等价向量组,向量组的秩

文章目录 1.极大线性无关组2.等价向量组2.1 等价向量组的判断 3.向量组的秩4.等价矩阵和等价向量组5. 重难点题型总结5.1 极大线性无关组的计算5.2 AB的行向量表示与AB的列向量表示 1.极大线性无关组 定义: 在一个向量组中&#xff0c;取部分向量组成新的向量组&#xff0c;这…

零基础5分钟上手亚马逊云科技-开发云原生网站应用

简介&#xff1a; 欢迎来到小李哥全新亚马逊云科技AWS云计算知识学习系列&#xff0c;适用于任何无云计算或者亚马逊云科技技术背景的开发者&#xff0c;通过这篇文章大家零基础5分钟就能完全学会亚马逊云科技一个经典的服务开发架构方案。 我会每天介绍一个基于亚马逊云科技…

交换机自动化获取诊断(H3C_无人值守)

介绍 在网络遇到个人无法处理的问题时&#xff0c;需要下载诊断信息发送给400处理&#xff0c;而通过传统的方式获取诊断信息需要通过多个步骤来获取&#xff0c;步骤繁琐&#xff0c;在设备数量过多的情况下&#xff0c;严重影响工作效率&#xff0c;而通过python自动化的方式…

情感分析——中文金融情感词典

情感分析——中文金融情感词典 [1]姜富伟,孟令超,唐国豪.媒体文本情绪与股票回报预测[J].经济学(季刊),2021,21(04):1323-1344.DOI:10.13821/j.cnki.ceq.2021.04.10. 该文章在Loughranand MacDonald(2011)词典的基础上通过人工筛选和Word2vec算法扩充&#xff0c;构建了一个更新…

数据结构——初始数据结构!!!

本章将简单介绍数据结构&#xff0c;欢迎大家点赞➕收藏&#xff0c;蟹蟹&#xff01;&#xff01;&#xff01;&#x1f495; &#x1f308;个人主页&#xff1a;404_NOT_FOUND ​1.简介 是一门基础学科研究的是数据如何在计算机中进行组织和存储&#xff0c;使得我们可以高效…

安捷伦Agilent E8362B,E8362C 20G/PNA高性能网络分析仪

安捷伦Agilent E8362B、E8362C PNA 网络分析仪&#xff0c;10 MHz - 20 GHz ​Agilent E8362B PNA&#xff08;高性能网络分析仪&#xff09;为您提供出色的性能、先进的自动化功能、灵活的连接性&#xff0c;并且易于使用。设计师和工程师喜欢 Agilent E8362B&#xff0c;因为…

深入探讨元学习(Meta-Learning):从“学习如何学习”到机器智能的飞跃

深入探讨元学习&#xff08;Meta-Learning&#xff09;&#xff1a;从“学习如何学习”到机器智能的飞跃 随着人工智能技术的飞速发展&#xff0c;传统机器学习模型在面对新任务时的局限性日益凸显。据研究&#xff0c;平均而言&#xff0c;一个深度学习模型在全新任务上达到可…

IPC机制(三)--共享内存和信号灯

目录 前言 一、什么是共享内存 二、创建一个共享内存 三、信号灯/信号集 1、临界资源 2、同步互斥机制 1、互斥机制&#xff1a; 2、同步&#xff1a; 3、信号灯的机制 4、信号灯的函数 四、信号灯控制进程对共享内存的访问 进程1&#xff1a; 进程2&#xff1a; …

通过G2++利率模型来模拟短期和长期利率的随机路径

G2利率模型是一种用于描述和预测利率变化的数学模型&#xff0c;它属于随机利率模型的一种。随机利率模型主要用于研究一段时间内利率的随机波动。 G2模型的核心在于它能够通过两个因子来捕捉短期和长期利率的动态变化。这两个因子通常与宏观经济变量相关联&#xff0c;能够更…

网络安全宗旨和目标

网络安全涉及网络和相关数据及信息的保护与保障。它已从物理技术发展到防病毒和反网络钓鱼平台等软件方法。 在本章中&#xff0c;我们将详细讨论网络安全的主要目标和原则&#xff0c;并提供与之相关的具体示例。所以&#xff0c;让我们从网络安全的目标开始。 网络安全的目的…

二手Agilent N6705B+N6781A电源模块N6705C

二手Agilent N6705BN6781A电源模块N6705C 产品概述 AgilentN6705B是可集成多达4个具有数字万用表、示波器、任意波形发生器和数据记录器特性的xj电源&#xff0c;可显著提高产生和测量输送到被测件中的直流电压和电流的效率。可使您无需开发和调试程序来控制大量仪器&#xf…

BaseCTF高校联合新生赛Week1复现(Web)

目录 A Dark Room Aura 酱的礼物 HTTP 是什么呀 md5绕过欸 喵喵喵•&#xfecc;• A Dark Room 打开环境 先查看源码&#xff0c;拉到最后看到flag Aura 酱的礼物 第一层看见file_get_contents()函数&#xff0c;想到文件包含&#xff0c;可以用伪协议&#xff0c;一般是…