上拉电阻和下拉电阻,推挽和开漏输出

上拉电阻 & 下拉电阻

上拉就是将不确定的信号通过一个电阻钳位在高电平,电阻同时起限流作用。
下拉同理,也是将不确定的信号通过一个电阻钳位在低电平。
为什么需要上拉和下拉?以一个开关的例子来解说一下:
在这里插入图片描述
原理图A没有接上拉电阻,原理图B接了上拉电阻。
原理图A当开关SW1按下时,输入端口A是低电平,但当开关SW1没有按下时,输入端口A是什么电平呢?这个时候输入端口A相当于是悬空的,电平处于未知状态。
原理图B,当开关SW5按下时,输入端B是低电平。当SW5没有按下时,输入端B被上拉成了高电平,不会存在未知的状态。

下图为下拉电阻的接法
在这里插入图片描述
原理图C没有下拉电阻,原理图D接了下拉电阻。
原理图C当SW1开关按下时,输入端口C为高电平,但当SW1开关没有按下时,输入端口处于悬空状态,电平状态未知。
原理图D当SW5开关按下时,输入端口D为高电平,当SW5开关未按下时,电平被下拉电阻拉成了低电平,不会有未知状态的时候。

推挽输出

推挽输出(英语:Push–pull output)是一种使用一对选择性地从相连负载灌电流或者拉电流的器件的电路。它常常使用一对参数相同的功率三极管或MOSFET管,以推挽方式存在于电路中。
推挽电路使用两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,电路工作时,两只对称的开关管每次只有一个导通,所以导通损耗小、效率高。输出既可以向负载灌电流,也可以从负载抽取电流(拉电流)。推拉式输出级既能提高电路的负载能力,又能提高开关速度。

在这里插入图片描述
当内部输出高电平时,上边的Q1导通同时下边的Q2管截止,IO口输出高电平。
当内部输出低电平时,上边的Q1管截至同时下边的Q2管导通,IO口输出低电平。

开漏输出

原理图如下
在这里插入图片描述
对于开漏输出无法真正输出高电平,需要借助外部上拉电阻完成对外驱动。
想象一下如果不接外部上拉电阻,当IN为高电平时,三极管截止,引脚处于高阻状态,不具备驱动能力。接了外部上拉电阻过后,IN为高电平时,三极管截止,OUT被拉为高电平。IN为低电平时,三极管导通,OUT为低电平。

### 芯片上的上拉电阻下拉电阻 #### 上拉电阻的工作原理 实现上拉电阻功能的原理是利用电阻器与电路中其他元件(如电压源)的组合,确保当外部信号缺失时,引脚处于逻辑高电平状态。具体来说,在没有输入信号的情况下,电流会流经该电阻并使连接点呈现接近电源电压的状态[^3]。 ```c // C语言模拟GPIO配置上拉电阻 void configure_pull_up_resistor(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin){ // 设置为输入模式,并启用内部上拉电阻 GPIO_InitTypeDef GPIO_InitStruct = {0}; GPIO_InitStruct.Pin = GPIO_Pin; GPIO_InitStruct.Mode = GPIO_MODE_INPUT; GPIO_InitStruct.Pull = GPIO_PULLUP; HAL_GPIO_Init(GPIOx, &GPIO_InitStruct); } ``` #### 下拉电阻的工作原理 把一个信号通过一个电阻接到低电平(地),叫做下拉,这个电阻充当下拉电阻的角色。其主要目的是将电路中的某个节点或信号线在没有其他驱动信号时,稳定地保持在一个低电平状态。这有助于防止浮空输入端接收到不确定的电压水平而引起误操作[^2]。 ```c // C语言模拟GPIO配置下拉电阻 void configure_pull_down_resistor(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin){ // 设置为输入模式,并启用内部下拉电阻 GPIO_InitTypeDef GPIO_InitStruct = {0}; GPIO_InitStruct.Pin = GPIO_Pin; GPIO_InitStruct.Mode = GPIO_MODE_INPUT; GPIO_InitStruct.Pull = GPIO_PULLDOWN; HAL_GPIO_Init(GPIOx, &GPIO_InitStruct); } ``` #### 区别 两者的主要区别在于它们所维持的默认电平不同:上拉电阻使得未被主动控制的线路倾向于高电平;相反,下拉电阻则让这些线路趋向于接地即零伏特或者说是低电平。这种差异决定了各自适合的应用场合以及如何影响整个系统的性能表现[^4]。 #### 应用场景 对于TTL驱动CMOS的情况而言,由于这两种技术标准之间存在不同的电气特性,因此可能需要用到特定类型的电阻来匹配接口需求。例如,在某些情况下可能会采用上拉措施以满足CMOS器件所需的较高阈值电压要求[^1]。而在需要确保闲置状态下输出始终为低的情形下,则更有可能会选择使用下拉方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值