IIC信号为什么要加上拉电阻

news2024/11/15 1:45:51

IIC是一个两线串行通信总线,包含一个SCL信号和SDA信号,SCL是时钟信号,从主设备发出,SDA是数据信号,是一个双向的,设备发送数据和接收数据都是通过SDA信号。

在设计IIC信号电路的时候我们会在SCL和SDA上加一个上拉电阻

今天就来分享下,为什么要在IIC信号线上加上拉电阻。

主要原因就是IIC芯片的SDA和SCL的引脚是开漏输出,就是只有一个NMOS管,不像推挽输出有两个MOS管。

当芯片SDA和SCL的引脚输出MOS管导通,IIC信号线电平为低电平

当芯片SDA和SCL的引脚输出MOS管关闭,如果没有上拉电阻,IIC信号线是处于一个高阻状态,电平是未知的,开漏输出是没有高电平的输出能力的。

所以加上上拉电阻后,当芯片SDA和SCL的引脚输出MOS管关闭,IIC信号线上的电平就是一个确切的高电平。

当多个IIC设备通过IIC总线接在一起,这就要求IIC设备间可以实现线与,而芯片的IIC引脚是开漏输出的话就能很好的实现这个线与。只要有一个IIC设备的引脚电平是低电平,那么相应的SCL或SDA总线也会成为一个低电平。 如果IIC设备引脚为推挽输出,多个IIC设备接在一条总线上很容易烧坏芯片。

IIC上拉电阻的取值

IIC信号的上拉电阻阻值不能太大,因为IIC芯片SCL和SDA引脚都存在寄生电容,同时SDA和SCL信号的走线也会有寄生电容,整个IIC总线上相当于接了一个负载电容Cl

上拉电阻过大,IIC总线高电平的驱动能力差,总线电平从0到1变化时,等效为这个RC的充电电路,上拉电阻越大,波形上升沿会变缓,一定程度会影响IIC的时序,可能会出现误码。所以这个上拉电阻不能太大。

IIC SDA和SCL信号的上升时间和总线电容在不同的模式下有不同的要求,大家可以看下这个表

IIC总线信号上升时间可以根据公式Tr=0.8473*R*Cl   Cl就是IIC总线的等效负载电容

IIC信号上拉电阻也不能太小,如果太小了,当IIC引脚输出低电平时,灌进芯片IIC 引脚的电流会变大,可能会使IIC信号线的低电平变大,同时IO口电流过大还可能烧坏芯片。

我们一般要求,IIC引脚低电平时,流过芯片IIC引脚的电流小于3mA,所以如果是3.3V上拉的话,这个电阻就要R>(3.3-VoL)l3KΩ=0.96KΩ ,其中VoL是IIC引脚为低电平时的最大电压,一般是0.4V。再加上前面的这个公式我们就可以确定这个上拉电阻的取值范围

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

IIC信号上拉电阻取值常用的值就是4.7K,一般小于10K,大于1K,如果IIC总线比较长,从设备比较多,可以适当降低电阻。

如果IIC总线接了很多IIC设备,是不是每个IIC设备都要加上拉电阻?

答案是否定的,我们只要在SDA和SCL总线上合适的位置各加一个上拉电阻即可,如果每个设备都加上拉,相当于这些电阻是并联在一起了,减小了电阻值。至于上拉电阻的位置一般没有特别的要求。一般加在IIC的末端。

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

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

相关文章

计算机毕业设计springboot+vue基本微信小程序的外卖点餐平台

项目介绍 餐饮行业是一个传统的行业。根据当前发展现状,网络信息时代的全面普及,餐饮行业也在发生着变化,单就点餐这一方面,利用手机点单正在逐步进入人们的生活。传统的点餐方式,不仅会耗费大量的人力、时间,有时候还会出错。小程序系统伴随智能手机为我们提供了新的方向。手机…

基于vue2整合tinymce富文本编辑器

文章目录1.导入依赖2.全部代码3.实际效果1.导入依赖 npm install tinymce -Snpm install tinymce/tinymce-vue -S2.全部代码 <template><editor:key"tinymceFlag"ref"editor"v-model"content":init"tinymceInit"></e…

国内使用ChatGPT的方式汇总

最近ChatGPT大火呀&#xff0c;小伙伴们是不是在网上看到各种和ChatGPT有趣聊天的截图&#xff0c;奈何自己实力不够&#xff0c;被网络拒之门外&#xff0c;只能眼馋别人的东西。看别人玩&#xff0c;肯定不如自己玩一把舒服的啊。今天小卷就给大家汇总了国内能使用ChatGPT的方…

【C/C++ 数据结构】-就这一篇博客让你玩爆二叉树的各种遍历问题!!!

作者&#xff1a;学Java的冬瓜 冬瓜的主页&#xff1a;☀冬瓜的主页&#x1f319; 专栏&#xff1a;【C/C 数据结构与算法】 分享&#xff1a;被苦难淬炼过的人&#xff0c;内心真诚。——都靓评宋濂 主要内容&#xff1a;二叉树的递归前序遍历、中序遍历、后序遍历、层序遍历。…

你还会想起这道题吗(another version)

链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 来源&#xff1a;牛客网 题目描述 众所周知&#xff0c;原神是由米哈游自主研发的一款全新开放世界冒险游戏。游戏发生在一个被称作「提瓦特」的幻想世界&#xff0c;在这里&#xff0c;被神选中的人将被授予「神之眼…

“价格+产品+服务”:京东手机开启“复合竞赛”

市场唯一不变的就是变化&#xff0c;那些最终生存下来的企业往往是最能适应变化的。 11月份&#xff0c;京东再次强调“低价”策略的重要性&#xff0c;背后无疑是其对消费环境变化做出的及时反应。“消费者对价格更为敏感&#xff0c;对高性价比商品的需求依旧是主流”&#…

YOLO-V5 算法和代码解析系列 —— 学习路线规划综述

目录标题为什么学习 YOLO-V5 &#xff1f;博客文章列表面向对象开源项目学习方法预备知识项目目录结构为什么学习 YOLO-V5 &#xff1f; 算法性能&#xff1a;与YOLO系列&#xff08;V1&#xff0c;V2&#xff0c;V3&#xff0c;V4&#xff09;相比&#xff0c;YOLO-V5效果最好…

【花雕动手做】有趣好玩的音乐可视化系列项目(33)---核酸托盘灯

偶然心血来潮&#xff0c;想要做一个音乐可视化的系列专题。这个专题的难度有点高&#xff0c;涉及面也比较广泛&#xff0c;相关的FFT和FHT等算法也相当复杂&#xff0c;不过还是打算从最简单的开始&#xff0c;实际动手做做试验&#xff0c;耐心尝试一下各种方案&#xff0c;…

RosonQt140——Qt Charts模块介绍和Qt绘制图表

Qt图表概述 Qt Charts能够创建时尚、互动、以数据为中心的用户界面。Qt Charts使用图形视图框架&#xff0c;便于集成。图表组件可以作为QWidget或QGraphicsWidget对象或QML类型使用。 QChart类管理不同类型的系列和其他图表相关对象的图形表示&#xff0c;如图例和坐标轴。QC…

33-Vue之ECharts高级-设置主题

ECharts高级-设置主题前言内置主题自定义主题前言 本篇来学习下ECharts中如何设置图表主题 内置主题 ECharts 中默认内置了两套主题: light dark var chart echarts.init(dom, light) var chart echarts.init(dom, dark)<!DOCTYPE html> <html lang"en&quo…

前缀树介绍,定义,图文详解分析——Java/Kotlin双版本代码

前缀树 前缀树&#xff0c;又称作字典树&#xff0c;用一个树状的数据结构储存字典中的所有单词。 列&#xff0c;一个包含can、cat、come、do、i、in、inn的前缀树如下图所示&#xff1a; 前缀树是一个多叉树&#xff0c;一个节点可能存在多个节点。除根节点外&#xff0c;每…

Spring5框架总结学习(从入门到进阶)

文章目录Spring51、如何创建一个Spring项目&#xff08;idea版&#xff09;2、 IOC容器1、XML解析工厂模式反射2、bean管理1、总述2、基于XML创建对象3、基于XML注入属性4、基于XML注入属性&#xff0c;属性值为空或特殊符号5、基于XML注入属性&#xff0c;外部bean6、基于XML注…

【第十二章 MVCC(多版本并发控制),隐藏字段,undolog(版本链),readview,原理分析(RC,RR)】

第十二章 MVCC&#xff08;多版本并发控制&#xff09;&#xff0c;隐藏字段&#xff0c;undolog&#xff08;版本链&#xff09;&#xff0c;readview&#xff0c;原理分析&#xff08;RC&#xff0c;RR&#xff09; 1.基本概念: &#xff08;1&#xff09; 当前读&#xff1…

hevc 基于均值的RDO模式删减

1 在获得粗略模式候选列表L4之后&#xff0c;对尺寸为4x4和8x8的PU保留8种预测模式&#xff0c; 对尺寸16x16&#xff0c;32x32, 64x64的PU保留3种预测模式&#xff0c;如果可以跳过部分模式的RDO计算&#xff0c;则可以进一步减少编码时间。 2 由于HCost计算是RDO计算的一种较…

springBoot+Cache(自定义有效时间配置)

一、背景 sprinbBoot的cache是不是支持动态设置缓存注解的&#xff0c;因此本次自己实现一个可以动态设置缓存时间的配置。 源码&#xff1a;示例地址 二、步骤 1、pom.xml添加依赖配置 <dependency><groupId>org.springframework.boot</groupId><arti…

Linux系统编程(续)

静态库制作及使用步骤&#xff1a; 1.将.c生成.o文件 gcc -c add.c -o add.o 2.使用ar工具制作静态库 ar rcs lib自定义库名.a 后面需要的.c文件 3.编译静态库到可执行文件中 gcc test.c 自制的库.a -o test 注意:如果程序中没有函数声明&#xff0c;编译器会自动给个隐式声明…

Java+MySQL基于SSM的在线投票系统

随着社会的发展,人们在处理一些问题的时候不同意见越来越多,这源于人们对思想的解放和对社会的认识。所以在处理同一问题上,为了征求不同人的意见在线投票系统诞生了。 基于SSM的在线投票系统以钦州学院为背景,运用在校所学习的软件开发原理,采用Spring&#xff1a;SpringMVC&a…

如何在网页画一个旋转的粉色圣诞树(含源代码)

0 效果 做法&#xff1a; 创建三个文件tree.html、tree.js、tree.css&#xff0c;放在同一个目录下按1、2、3小节填充这三个文件浏览器打开tree.html文件 1 .HTML-基本布局 搞一个.html文件&#xff0c;内容如下 <!DOCTYPE html> <html lang"en"><…

【OpenCV-Python】教程:7-1 理解 kNN (k-Nearest Neighbour)

OpenCV Python 理解kNN &#xff08;k-Nearest Neighbour&#xff09; 【目标】 理解 kNN 算法的基本概念 【理论】 kNN是监督学习中最简单的分类算法之一。其思想是在特征空间中搜索与测试数据最接近的匹配。我们将用下图来研究它。 在图像中&#xff0c;有两个"家族…

一文看懂 InnoDB 的内存淘汰逻辑(LRU)

InnoDB淘汰的逻辑是怎样的呢&#xff1f; InnoDB 内存管理用的是最近最少使用 (Least Recently Used, LRU) 算法&#xff0c;这个算法的核心就是淘汰最久未使用的数据。 下图是一个 LRU 算法的基本模型。 InnoDB 管理 Buffer Pool 的 LRU 算法&#xff0c;是用链表来实现的。…