当前位置: 首页 > news >正文

【STM32】I2C为什么要开漏输出和上拉电阻

为什么需要使用开漏输出

防止短路:假设使用推挽结构,多个设备挂在同一总线上,当存在某一设备将某一信号驱动为高电平,而其他设备驱动为低电平,会导致短路,导致器件损坏或降低寿命。对于开漏结构,任何设备都不能将信号线驱动为高电平。

线与:当总线上连接多个设备时,只要有一个设备输出低电平,那么整条总线便处于低电平状态,这时候的总线被称为占用状态,其他设备输出的高电平是无效的。

为什么要上拉电阻

开漏输出的特性就是只能输出低电平和高阻态(高阻态可以理解为通过很大的电阻把输出引脚和MCU芯片内部隔开)。因为每条线上需要使用一个外部的上拉电阻,在输出高阻态时,上拉电阻将总线上拉至高电平。

上拉电阻对I2C信号的影响

对总线而言,上拉电阻越大,信号的上升时间就越长,通信速率就越低,反之亦然。 但电阻也并不是越小越好,阻值过小的话,总线低电平时电阻上的大电流会增加电路的功耗。

http://www.lryc.cn/news/516752.html

相关文章:

  • 【从零开始入门unity游戏开发之——C#篇44】C#补充知识——var隐式类型、初始化器、匿名类型
  • Spring Boot 中 TypeExcludeFilter 的作用及使用示例
  • 解锁kafka组件安全性解决方案:打造全方位安全防线
  • 【C++数据结构——图】最小生成树(头歌实践教学平台习题) 【合集】
  • Java(1)入门基础
  • 2024.1.5总结
  • 【C语言程序设计——循环程序设计】枚举法换硬币(头歌实践教学平台习题)【合集】
  • 在调用 borrowObject 方法时,Apache Commons Pool 会根据连接池的配置触发一系列相关的方法
  • Linux中的tty和pts概念和区别
  • 【SOC 芯片设计 DFT 学习专栏 -- RTL 中的信号名和 Netlist 中的信号名差异】
  • 机器学习经典算法——线性回归
  • MLU上使用MagicMind GFPGANv1.4 onnx加速!
  • VulnHub—potato-suncs
  • 【Flink CDC】Flink CDC的Schema Evolution表结构演变的源码分析和流程图
  • 【智能算法】改进蚁狮优化算法【matlab】
  • swagger导出json
  • Go语言的 的引用数据类型(Reference Data Types)核心知识
  • JAVA解析Excel复杂表头
  • jmeter 中 BeanShell 预处理程序、JSR223后置处理程序使用示例
  • 我的创作纪念日——《惊变128天》
  • vuedraggable 选项介绍
  • 微信小程序获取后端数据
  • ThreadLocal` 的工作原理
  • 数据挖掘教学指南:从基础到应用
  • 大模型搜索引擎增强问答demo-纯python实现
  • 【C语言程序设计——选择结构程序设计】按从小到大排序三个数(头歌实践教学平台习题)【合集】
  • 简洁安装配置在Windows环境下使用vscode开发pytorch
  • conda安装及demo:SadTalker实现图片+音频生成高质量视频
  • 【面试】后端开发面试中常见数据结构及应用场景、原理总结
  • 141.《mac m系列芯片安装mongodb详细教程》