I2C学习:上拉电阻选取

news2024/11/28 12:33:22

一.I2C简介

I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。I2C总线在使用时,需要接上拉电阻,这是因为I2C接口是开漏输出,如图1所示。

图1 I2C开漏输出

I2C有5种速度模式:标准(100KHz)、快速(400KHz)、快速增强(1MHz)、高速(3.4MHz)以及超快速(5MHz)。不同模式,对上拉电阻阻值的要求不同,另外,上拉电压VCC不同,对上拉电阻阻值的要求也不同。

二.上拉电阻选取不当的后果

如果上拉电阻过小,会带来哪些不利影响呢?

1)  通信速度下降

上拉电阻与总线电容形成RC时间常数,影响总线的充电时间及高电平阈值。电阻越小,充电时间越长,从而影响通讯速度。如果上拉电阻过小,可能无法保证从设备在主设备完成总线动作前识别到足够高的电平,导致通讯失败。

2) 功耗增加

上拉电阻越小,总线上的电流越大,从而导致功耗增加,对一些电池供电设备不友好,会加快电池电量耗尽。

3) 保护作用减弱

上拉电阻还具有一定的保护作用,能够防止总线在高电压毛刺下的损坏。如果上拉电阻过小,这种保护作用会减弱,可能会对I2C总线上的设备造成损害。

上拉电阻阻值过大,又会如何?

上拉电阻如果过大,会造成上升沿时间变长。速度越快,要求上升沿时间越短。如果上拉电阻过大,会导致通讯失败。

那么如何选择上拉电阻呢?

三.上拉电阻计算

我们以DS3132为例,DS3132是一款RTC驱动芯片,采用I2C接口进行读写,以下是其I2C相关参数。

图2 DS3132的I2C相关参数

1) 上拉电阻最小值计算

如图1红线箭头所示,假设SCL是低电平,即MOS管导通,则有R=(VCC-VL)/IL;

其中VL定义为漏极开路或集电极开路时,有3mA下拉电流时的低电平输出电压。IL为该端口的灌电流,即IL=3mA。因此,当VCC不变,VL取最大值时,上拉电阻有最小值。

取VCC为3.3V,VLmax=0.4V,则Rmin=(3.3V-0.4V)/3mA=0.96KΩ。

注意:VLmaxVOL,而不是VIL

图3 I2C官方协议中电平标准

2)上升沿时间计算

通常,I2C电平,低于0.3VCC为低电平,高于0.7VCC为高电平。

Vt1=0.3*VCC=VCC(1-e-t1/RC),则t1=0.3566749*RC;

Vt2=0.7*VCC=VCC(1-e-t2/RC),则t2=1.2039729*RC;

上升沿时间tr =t2-t1=0.8473*RC,由此得出R= tr /(0.8473*C);

3)上拉电阻最大值计算

根据上升沿时间计算公式,得出R= tr /(0.8473*C);

其中tr取I2C挂载的所有设备中tr最小值,C为总的负载电容。

DS3132中要求快速模式下上升沿时间tr=300ns,负载电容为10pF。

  • 假设I2C总线上只挂载了DS3132一个设备,

那么Rmax= tr /(0.8473*C)=300ns/(0.8473*10pF)=35.4KΩ;

  • 如果按各速度模式最大允许的挂载量来计算,如表1所示,列出了各速度模式下的最大允许负载电容。快速模式下,C=200pF。

则Rmax= tr /(0.8473*C)=300ns/(0.8473*200pF)=1.77KΩ;

表1 各速度模式下最大允许负载电容

速度模式

标准模式

快速模式

高速模式

超快速模式

最大允许总线负载电容

400pF

200pF

100pF

120pF

小结:上拉电压决定上拉电阻的最小值,总线负载电容决定上拉电阻的最大值。

四. 参考资料

1. I²C总线上拉电阻阻值如何选择?

2. 教你精确计算 I2C 上拉电阻阻值-腾讯云开发者社区-腾讯云

3. https://www.cnblogs.com/duwenqidu/p/11043889.html

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

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

相关文章

日志文件的理解

前言 说实在话我一直对于日志不太理解,感觉这词说的这么高大上,不好理解,甚至还有点畏惧这个东西,所以专门去研究了下,最后发现这家伙不就是输出信息嘛,就像C语言中printf输出的信息,C中cout输…

【电子通识】开关上的“|”和“0”到底哪个是开?哪个是关?

有的电器、灯具和插座上带有电源开关,开关上会出现“|”和“O”两个符号。如下所示船型开关上就有“|”和“0”。 也有开关用ON/OFF代表开闭。 如果只看符号判断“|”和“O”到底代表什么含义呢?你又能分清哪个是电路连通,哪个是电路断开…

05.震动控制继电器开关

首先先知道控制器的原理 通过继电器来控制电路,比如智能插座,比如 220V 的灯,比如我们项目不带开关的傻瓜式报警器 当设置继电器为低电平触发时, STC89C52RC 的 IO 输出 低电平,就会导致 COM口和NO口闭合 &#xff0c…

LearnOpenGL——点光源阴影笔记

LearnOpenGL——点光源阴影笔记 点光源阴影一、生成深度立方体贴图1. 创建立方体贴图2. 光空间的变换3. 深度着色器 二、万向阴影贴图三、PCF 点光源阴影 点光阴影(也叫万向阴影贴图(Omnidirectional Shadow Maps,OSM)&#xff0…

【乐吾乐大屏可视化组态编辑器】动画按顺序播放

动画按顺序播放 在线使用:https://v.le5le.com/ 如案例所示,通过连线去串联一组动画图元,动画按照顺序向后执行。 ① 首先给每个图元都配置动画,注意这里的动画播放次数一定要配置有限个(这里配置都是1次&#xff0…

AI在医学领域:FEDMEKI平台实现在隐私约束下将医学知识整合到基础模型

基础模型已在众多领域掀起了一场革命性的变革,它们在处理多样化模态和复杂任务方面展现出了卓越的能力。以GPT-3和LLaMA为例,这些模型在众多应用场景中均表现出色。其成功的核心在于接触并学习海量的训练数据,从而深入洞察不同领域。借助这些…

【python与java的区别-04(文件流)】

一、文件和目录的操作 1、IO流(Stream) 通过“流”的形式允许计算机程序使用相同的方式来访问不同的流入/流出源。Stream是从起源(source)到接收(sink)的有序数据。我们把输入/输出源对比成“水桶”,那么流就是“管道…

企业给排水乙级资质续期:人才储备与补充计划

企业给排水乙级资质续期过程中,人才储备与补充计划是至关重要的环节。以下是一个详细的人才储备与补充计划,旨在帮助企业顺利应对资质续期挑战: 一、人才储备计划 1. 提前规划与预测 政策分析:密切关注住建部门或相关权威机构发…

VirtualBox和VMware的虚拟机ip配置为同一网段不使用wlan的网卡(vulnhub打靶前期准备)

打靶前期准备工作,virtualbox和VMware之间的网络互通(即同一个网段下非wlan网卡的设置) 首先在打靶的时候因为vulnhub的靶机都是使用的virtualbox的虚拟机,但是我的kali已经用了很久了一直使用的是VMware,突然转换使用…

面试必刷——二叉树习题/面试题详解

(1)检查两棵树是否相同 题目链接: . - 力扣(LeetCode). - 备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems…

品质更进阶 长安马自达MAZDA EZ-6通关中国“热极”

继在中国规格最高的重庆垫江测试场完成驾控试炼后,8月20日-22日,长安马自达MAZDA EZ-6“众测先享官—品质更进阶”在中国“热极”吐鲁番再次拉开帷幕。针对电动车用户最关心的酷暑天气用车痛点场景,由长安马自达工程师团队携手用户代表、权威…

云微客短视频矩阵获客有多容易?低成本获客备受好评

数字化时代,短视频矩阵已经成为企业获客的重要渠道之一,云微客短视频矩阵系统为企业解决在短视频营销中的账号搭建、内容生产、账号运营、低成本引流等难题。 短视频矩阵是一种基于抖音、快手、小红书、视频号等短视频平台,通过批量剪辑、批量…

Linux shell编程学习笔记72:tr命令——集合转换工具

0 前言 在大数据时代,我们要面对大量数据,有时需要对数据进行整理和转换。 在Linux中,我们可以使用 tr命令来整理和转换数据,也可以进行简单的加解密。 1 tr命令 的帮助信息,功能,格式,选项和…

图片展示时等比例缩放

通过object-fit进行图片等比例缩放 object-fit 属性有以下几种值: contain:图片等比例缩放以完全填充容器,同时保持图像的宽高比。 cover:图片等比例缩放以完全填充容器,但可能会裁剪图片。 fill:图片拉伸以…

AR 眼镜之-系统应用音效-实现方案

目录 📂 前言 AR 眼镜系统版本 系统应用音效 1. 🔱 技术方案 1.1 技术方案概述 1.2 实现方案 1)初始化 2)播放音效 3)释放资源 2. 💠 播放音效 2.1 静音不播放 2.2 获取音效默认音量 3. ⚛️ …

一文通透mamba2:力证Transformer are SSM——从SSM、半可分矩阵、SSD到mamba2

前言 实话说,过去一两月一直忙着我司两大类项目的推进 一类是正在逐一上线基于大模型的论文翻译、论文审稿、论文对话、论文修订/润色、论文idea提炼等等一类是正在抓紧做面向一个个工厂的具身智能机器人的解决方案,且很快会分别在我司在各地的办公室(…

day06_算法训练

一. Stream流 1.1 Stream流概述 概念: jdk1.8以后提供的新的API, 主要用于批量操作数据(集合的另外一种操作方式),代码非常简洁 流式处理思想: 2.2 Stream对象获取 1.单列集合的Stream流对象获取 2.双列集合的Stream流对象获取 3.数组的Stream流对象获取 4.散装数据的St…

数据结构day03(栈 Stack 顺序栈、链式栈 )内含具体详细代码实现

目录 【1】栈 Stack 1》栈的定义 2》顺序栈 2》链式栈 4》顺序栈的链式栈的区别 【1】栈 Stack 1》栈的定义 栈:是只允许在一端进行插入或删除的线性表,首先栈是一种线性表,但限定这种线性表只能在某一端进行插入和删除操作。 栈顶&…

《Python编程:从入门到实践》笔记(一)

一、字符串 1.修改字符串大小写 title()以首字母大写的方式显示每个单词,即将每个单词的首字母都改为大写,其他的改为小写。 upper()将字母都改为大写,lower()将字母都改为小写。 2.合并(拼接)字符串 Python使用加号()来合并字符串。这种合…

Java—认识异常 ( ̄▽ ̄)~*

目录: 一、异常的概念和体系结构: 1、异常的概念: 2、异常的体系: 3、异常的分类: 二、异常的处理: 1、防御式编程: 1)、 事前防御型(LBYL) : 2)、事后…