问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

STM32开漏输出为什么既能输入又能输出?

创作时间:
作者:
@小白创作中心

STM32开漏输出为什么既能输入又能输出?

引用
CSDN
1.
https://blog.csdn.net/2302_79069463/article/details/140896575

在嵌入式系统开发中,STM32的开漏输出模式是一个常见的概念,但很多人对其既能输入又能输出的特性感到困惑。本文将从推挽输出到开漏输出的演变过程,深入解析开漏输出的工作原理,并解释为什么这种输出模式能够实现输入功能。

一、什么是开漏输出?

推挽输出

如图所示,这是推挽输出的接线图。通过导通P-MOS输出高电平,导通N-MOS输出低电平。需要注意的是,P-MOS和N-MOS不能同时接通,否则会引起短路。这种模式下,输出的电平驱动能力很强。

开漏输出

开漏输出则有所不同,如图所示,P-MOS始终处于断开状态,而N-MOS可以控制导通或断开。从上到下是高电平流向低电平的方向,因此得名开漏输出。

开漏输出的两种状态:

  • 高组态:P-MOS和N-MOS都断开。
  • 低电平:N-MOS接通。

这种输出模式只有在输出低电平时驱动能力强。在输出高电平时,由于只能处于高组态,驱动能力较弱,需要依赖外部上拉电阻来实现高电平状态。

二、为什么开漏输出能作为输入,读出引脚电平信号?

开漏输出之所以能实现输入功能,关键在于其高组态的特性。当输出高组态时,引脚处于悬空状态。如果此时配置为输出高电平(高组态),外界向引脚输出高电平时,引脚会被拉高;外界输出低电平时,引脚会被拉低。

但是,如果外界没有上拉电阻,处于悬空状态的引脚会导致不确定的电平状态,这可能引起误动作。因此,在使用开漏输出作为输入时,需要提前接好上拉电阻。

有人可能会问,是否可以使用下拉电阻?实际上,由于开漏输出在高组态时需要上拉电阻来维持高电平,使用下拉电阻无法实现预期的输入功能。

通过以上分析,我们可以清晰地理解STM32开漏输出既能输入又能输出的原理。这种输出模式在I2C等总线通信中有着广泛的应用,其线与特性使得多个设备可以共享总线,同时保证信号的准确传输。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号