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

为什么需要使用开漏输出

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

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

为什么要上拉电阻

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

上拉电阻对I2C信号的影响

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

相关推荐
Zevalin爱灰灰21 小时前
零基础入门学用物联网(ESP8266) 第二部分 MQTT基础篇(三)
单片机·物联网·mqtt·嵌入式·esp8266
AnalogElectronic21 小时前
树莓派pico,VS1838B红外接收实验
嵌入式硬件
llilian_1621 小时前
ptp从时钟 ptp授时模块 如何挑选PTP从时钟授时协议模块 ptp从时钟模块
数据库·功能测试·单片机·嵌入式硬件·测试工具
Truffle7电子21 小时前
STM32理论 —— FreeRTOS:中断管理、列表
stm32·单片机·嵌入式硬件·rtos
Hello_Embed1 天前
嵌入式上位机开发入门(二):常用 API
笔记·stm32·嵌入式·信息与通信
Zevalin爱灰灰1 天前
零基础入门学用物联网(ESP8266) 第二部分 MQTT基础篇(四)
单片机·物联网·mqtt·嵌入式·esp8266
贺小涛1 天前
STM32学习
stm32·单片机·学习
LXY_BUAA1 天前
《嵌入式操作系统》_GPIOLIB前置知识_20260328
驱动开发·嵌入式硬件
DA02211 天前
系统移植-STM32MP1_TF-A概述
单片机·系统移植·stm32mp1
17(无规则自律)1 天前
深度剖析Linux Input子系统(2):驱动开发流程与现代 Multi-touch 协议
linux·驱动开发·嵌入式硬件