今天给大家分享的是微控制器浮动输入和开漏输出。
一、浮动输入
首先,考虑双向(单刀双掷)开关情况当开关打开时,为控制输入将连接到 +3.3V,即高电平。当开关关闭时,微控制器输入将连接到 0V(即低电平)。但是,如果只有一个按钮怎么办?
开关打开
当按下按钮时,微控制器输入将连接到 0V(即低电平)。
按下按钮
然而,当未按下按钮时,微控制器输入并没有真正连接到组件:
未按下按钮
就好像没有连接一样:
等效
在这种情况下,输入电平是多少?高还是低?因为它没有真正连接到任何东西,所以输入可以是任何东西,具体取决于环境中的静电或电磁辐射。
它可能只是简单地接收无线电波(如天线)并在弱定义的高状态和低状态之间来回翻转。这种状态,其中微控制器输入没有明确定义并且可以是任何东西(随机),称为浮动。
二、上拉和下拉电阻
为了解决这个问题,需要在输入端添加一个上拉电阻或下拉电阻(上拉电阻如下图所示):
上拉电阻
当按钮未被按下时,上拉电阻会将微控制器输入拉至+3.3V,提供明确定义的高电平。当按下按钮时,微控制器输入将直接连接(短路)至地 (0V),提供明确定义的低电平。在这种情况下,一些电流将流过上拉电阻,但由于电阻值相对较高,因此电流量很小。
这里可以发现电阻符号看起来像一个小弹簧,这是它在这种情况下的功能。比如自动关闭的门,除非你主动打开门,不然的话,会有机制门会自动关闭。如果没有自动关闭机制(假设门没有闩锁机制),门会被进出的人移动,不会默认特定的位置。
上拉(或下拉)电阻类似于这些门上的自动关闭机制,因为它在未主动驱动时将输入保持在特定电平。
情况可以反过来,因为按钮可以连接到+3.3V(高),并且可以使用下拉电阻来保持输入低。不过,上拉电阻配置比较常见。
下拉电阻
三、开漏输出
一些微控制器输出可以设置为漏极开路(或仅可用作漏极开路)。开漏输出是只能驱动为低电平而不能驱动为高电平的输出;输出为低电平或浮动。
本质上,输出只是连接到晶体管的漏极引脚(因此称为开漏)。
开漏
当控制线被驱动为高电平时,晶体管将输出短路至地 (0V),将其拉低。当控制线被驱动为低电平时,晶体管处于高阻抗(高电阻)并且输出处于浮动状态。
一些通信方案,例如 I2C 和 CAN,使用它来允许多个设备通过相同的通信线路进行通信,而不会出现短路(冲突,即一个设备试图将线路驱动为高电平,而另一个设备试图将线路驱动为高电平)。它很低)。
在这些情况下,上拉电阻用于在未主动将线路驱动为低电平时将线路保持为高电平。
来源:电路一点通
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。