I2C接口简介

一、简介

11I2C(Inter-IntegratedCircuit)总线是由PHILIPS公司开发的两线式串行通信总线,使用多主从架构,用于连接微控制器及其外围低速设备。是微电子通信控制领域广泛采用的一种总线标准。它是同步通信的一种特殊形式,具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点。
        I2C总线支持任何IC生产过程(CMOS、双极性)。通过串行数据(SDA)线和串行时钟(SCL)线在连接到总线的器件间传递信息。每个器件都有一个唯一的地址识别(无论是微控制器——MCU、LCD驱动器、存储器或键盘接口),而且都可以作为一个发送器或接收器(由器件的功能决定)。LCD驱动器只能作为接收器,而存储器则既可以接收又可以发送数据。除了发送器和接收器外,器件在执行数据传输时也可以被看作是主机或从机。主机是初始化总线的数据传输并产生允许传输的时钟信号的器件。此时,任何被寻址的器件都被认为是从机。

        I2C只使用两条双向开放集极(OpenDrain)总线(串行数据(SDA)及串行时钟频率(SCL))并利用电阻将电位上拉。I2C允许相当大的工作电压范围,但典型的电压准位为+3.3V或+5v。
        I2C的参考设计使用一个7比特长度的地址空间但保留了16个地址,所以一组总线内最多可以有112个节点通信。常见的I2C总线依传输速率的不同而有不同的模式:标准模式(100Kbit/s)、低速模式(10Kbit/s),但时钟频率可被允许下降至零,这代表可以暂停通信。而新一代的I2C总线可以和更多的节点(支持10比特长度的地址空间)以更快的速率通信:快速模式(400Kbit/s)、高速模式(3.4Mbit/s)。
        虽然最大的节点数目是被地址空间所限制住,但实际上也会被总线上的总电容所限制住,一般而言为400pF。
        1992年完成了最初的标准版本发布,新增了传输速率为400kbit/s的快速模式及长度为10比特的寻址模式可容纳最多1008个节点。1998年发布了2.0版,新增了传输速率为3.4Mbit/s的高速模式并为了节省能源而减少了电压及电流的需求。2.1版则在2000年完成,这是一个对2.0版做一些小修正,version3.0,于2007年发布。

        2012 年 2 月 13 日发布 Specification Rev. 新增 5-MHz 的超快速模式(UFM)。

二、特点

1、 只要求两条总线线路:一条串行数据线 SDA,一条串行时钟线 SCL;
2、 每个连接到总线的器件都可以通过唯一的地址和一直存在的简单的主机/从机关系软件设定地址,主机可以作为主机发送器或主机接收器;
3、 它是一个真正的多主机总线,如果两个或更多主机同时初始化,数据传输可以通过冲突检测和仲裁防止数据被破坏;
4、 串行的 8 位双向数据传输位速率在标准模式下可达 100kbit/s,快速模式下可达 400kbit/s,高速模式下可达 3.4Mbit/s;
5、 连接到相同总线的 IC 数量只受到总线的最大电容 400pF 限制。

三、应用

I2C 被应用在简单的周边且其制造成本较传输速度更为要求。一些常见的应用如下:
 为了保存用户的设置而访问 NVRAM 芯片(NOV-VLOATILE random access memory)。
 访问低速的数字模拟转换器(DAC)。
 访问低速的模拟数字转换器(ADC)。
 改变监视器的对比度、色调及色彩平衡设置(视频数据通道)。
 改变音量大小。
 取得硬件监视及诊断数据,例如中央处理器的温度及风扇转速。
 读取实时时钟(Real-time clock)。
 在系统设备中用来打开或关闭电源供应。

        I2C的另一个强大用途在于单片机的应用,利用两根通用的输入输出接脚及软件的规划,可以让单片机控制一个小型网络。
        周边可以在系统仍然在运作的同时加入或移出总线,这代表对于有热插拔需求的设备而言是个理想的总线。
        像I2C这样的总线之所以流行起来,是因为计算机工程师发现到对于集成电路设计而言,许多的制造成本源自于封装尺寸及接脚数量。更小的包装通常能够减少重量及电源的消耗,这对于移动电话及手持式计算机而言格外重要。

典型应用电路: EEPROM

        其中,A0/A1/A2指定了EEPROM的地址,R6/R7将总线电平上拉到3.3V。wp为写保护控制,输入高电平时,只能对EEPROM进行读操作。
        其它应用:连接各类传感器及音频视频设备。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

程序员裁员潮:技术变革下的职业危机

文章目录 每日一句正能量前言技术变革的影响裁员的影响程序员如何应对裁员潮危机后记 每日一句正能量 书读的越多而不加思考,你就会觉得你知道得很多;而当你读书而思考得越多的时候,你就会越清楚地看到,你知道得很少。 前言 在当…

蓝牙驱动程序错误的疑难问题解决办法(离谱的错误,已经解决)

我的问题介绍: 晚上还是好的,第二天电脑忽然蓝牙驱动坏了,也不知道为什么,然后就是修复 修复过程: 1:自己重新下载网卡驱动 2:自己联系官方客服,下载蓝牙驱动 3:无论…

websocket实现聊天室(vue2 + node)

通过websocket实现简单的聊天室功能 需求分析如图: 搭建的项目结构如图: 前端步骤: vue create socket_demo (创建项目)views下面建立Home , Login组件路由里面配置路径Home组件内部开启websocket连接 前端相关组件代码: Login…

【网络奇遇记】揭秘计算机网络性能指标:全面指南

🌈个人主页:聆风吟 🔥系列专栏:网络奇遇记、数据结构 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 📋前言一. 速率1.1 数据量1.2 速率 二. 带宽三. 吞吐量四. 时延4.1 发送时延4.2 传播时延…

数据结构--数组和广义表

1. 数组的定义 略 2. 数组的顺序表示 由于数组定义后,数组的维度和每维的长度就不再改变,其结构是固定的,因此一般采用顺序存储结构。 3. 特殊矩阵的压缩矩阵 4. 广义表的定义和抽象操作 广义表一些操作可以看数据结构--广义表_空广义表的…

React Router v6 改变页面Title

先说正事再闲聊 1、在路由表加个title字段 2、在index包裹路由 3、在App设置title 闲聊: 看到小黄波浪线了没 就是说默认不支持title字段了 出来的提示, 所以我本来是像下面这样搞的,就是感觉有点难维护,就还是用上面的方法了 …

jquery学习-1

jquery学习-1 1.jquery类似的框架 MooTools 对比反应时间2.Jquery Api jquery api中文文档 jquery注重的是看文档 3.Jquery下载和导入(压缩版) Jquery 下载 下载后导入项目中进行使用 <!DOCTYPE html> <html><head><meta charset"utf-8"…

移动硬盘好还是移动u盘好?区别是什么

随着科技的飞速发展&#xff0c;移动存储设备已经成为人们生活中不可或缺的一部分。其中&#xff0c;移动硬盘和移动U盘是两种常见的存储设备&#xff0c;人们在选择时可能会犯难&#xff0c;不知道选择移动硬盘好还是移动U盘好。 事实上&#xff0c;它们各有千秋。对此&#…

推荐5款提高工作效率和质量的软件

​ 工作学习中&#xff0c;我们常用各种软件&#xff0c;提高效率和质量。有些软件必不可少&#xff0c;有些软件可选择。今天&#xff0c;我给大家介绍5款实用软件。 1.开始菜单——Classic Shell ​ Classic Shell是一款可以恢复Windows系统的传统开始菜单的软件&#xff0…

基于SpringBoot的高校学科竞赛平台管理系统

基于SpringBoot的高校学科竞赛平台管理系统的设计与实现~ 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBootMyBatis工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 前台界面 管理员界面 教师界面 学生界面 摘要 本文详细介绍了一款基于…

AI对联生成案例(二)

模型训练 有了处理好的数据&#xff0c;我们就可以进行训练了。你可以选择本地训练或在OpenPAI上训练。 OpenPAI上训练 OpenPAI 作为开源平台&#xff0c;提供了完整的 AI 模型训练和资源管理能力&#xff0c;能轻松扩展&#xff0c;并支持各种规模的私有部署、云和混合环境…

【蓝桥杯备赛Java组】语言基础|竞赛常用库函数|输入输出|String的使用|常见的数学方法|大小写转换

&#x1f3a5; 个人主页&#xff1a;深鱼~&#x1f525;收录专栏&#xff1a;蓝桥杯&#x1f304;欢迎 &#x1f44d;点赞✍评论⭐收藏 目录 一、编程基础 1.1 Java类的创建 1.2 Java方法 1.3 输入输出 1.4 String的使用 二、竞赛常用库函数 1.常见的数学方法 2.大小写转…

MES管理系统为何成为汽配企业的刚需

随着经济全球化、产品定制化及安全法规的严格化&#xff0c;汽配企业的经营环境变得越来越复杂。中国劳动力资源和原辅料成本的持续上升&#xff0c;导致行业利润率不断下滑。为了应对这些挑战&#xff0c;汽配企业需要引入一种精益制造和管理的工具&#xff0c;而MES管理系统正…

【Linux】权限 !

Linux 权限 Liunx Linux 权限1 什么是权限1.1 Linux用户1.2 切换用户 2 权限管理2.1 文件访问者的分类2.2 文件类型和访问权限2.3 文件权限的设置方法chmod 命令chown 命令chgrp 命令umask 命令file 指令 2.4 目录权限粘滞位 3 权限总结 1 什么是权限 关于Linux的权限问题&…

HarmonyOS 通过Web组件嵌套网络应用

我们今天来说说 在程序中嵌套一个网址地址 HarmonyOS中是通过一个简单的WEB组件来实现 网络应用就是相当于网址地址 通过链接将应用嵌入到手机当中 WEB组件需要两个参数 一个是 src 地址 要嵌套的网址 另一个是 控制器 我们可以先编写代码如下 import webview from "o…

python自动化操作安卓app

由于个人的强迫症缘故&#xff0c;代码均没有做实际测试&#xff0c;由于公司电脑比较卡&#xff0c;自己电脑强迫症&#xff0c;相信各位知道大概都可以找解决方案&#xff0c;解决不了就找我私聊 一、准备工作 安装链接 出现了手机版本过高 解决方案 课程地址&#xff1…

选择排序(二)——堆排序(性能)与直接选择排序

目录 一.前言 二.选择排序 2.1 堆排序 2.2选择排序 2.2.1 基本思想 2.2.2直接选择排序 三.结语 一.前言 本文给大家带来的是选择排序&#xff0c;其中选择排序中的堆排序在之前我们已经有过详解所以本次主要是对比排序性能&#xff0c;感兴趣的友友可移步观看堆排&#…

代码随想录二刷 | 回溯| 电话号码的字母组合

代码随想录二刷 &#xff5c; 回溯&#xff5c; 电话号码的字母组合 题目描述解题思路数字和字母如何映射回溯法来解决n个for循环的问题 代码实现 题目描述 17&#xff0c;电话号码的字母组合 给定一个仅包含数字 2-9 的字符串&#xff0c;返回所有它能表示的字母组合。 给出…

蓝桥杯官网填空题(奇怪的分式)

题目描述 本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。 上小学的时候&#xff0c;小明经常自己发明新算法。一次&#xff0c;老师出的题目是&#xff1a;1/4乘以8/5 小明居然把分子拼接在一起&#xff0c;分母拼接在一起&…

mybatis的缓存机制

视频教程_免费高速下载|百度网盘-分享无限制 (baidu.com) MyBatis 有一套灵活而强大的缓存机制&#xff0c;主要分为两级缓存&#xff1a;一级缓存&#xff08;本地缓存&#xff09;和二级缓存&#xff08;全局缓存&#xff09;。 一级缓存&#xff08;本地缓存&#xff09;&a…