【GPIO学习】推挽输出模式详解

输出模式:

GPIO的输出缓冲区有一个PMOS和一个NMOS以及一个非门,输出GPIO的如下所示

逻辑高电平的时候PMOS打开,NMOS关闭,此时VCC直接输出到引脚,此时可以形象的看成是在“推”,称为推相位,如下图所示:

 当逻辑低电平的时候PMOS关闭,NMOS打开,此时输出引脚直接连接到地,此时可以形象的看成是在“拉”,称为拉相位,如下图所示:

 1.推挽模式:

1.1 推挽特点

推挽模式是GPIO输出模式的默认状态。引脚可以使用PMOS晶体管或NMOS晶体管将信号“推”高或者“拉”低。低电平和高电平的时候GPIO都具备驱动能力。

这里有两个需要理解的名词,拉电流(SOURCING OUTPUT)以及 灌电流(SINKING OUTPUT)

拉电流:指代我们我们缓冲区产生的电流流到pin脚

灌电流:指代流入缓冲区地端的电流

GPIO的推挽模式:

高阻态:nmos关闭,pmos打开,拉电流

低阻态:nmos打开,pmos关闭,灌电流

1.2 推挽应用场景

推挽模式由于其直接输出高低电平的能力,非常适合用于需要确定性电平输出的场合。然而,需要注意的是,推挽模式的驱动能力有限,通常只适合驱动低功率的负载,如LED灯或小型继电器。对于高功率的负载,可能需要额外的驱动电路来提供所需的电流和电压。常用于:

  1. 点亮LED灯:推挽输出模式可以用于直接控制LED灯的亮灭,因为它能够提供足够的电流来驱动LED
  2. 驱动继电器:推挽模式可以输出足够的电压和电流来驱动继电器,从而控制较大功率的设备
  3. 控制小型电机:对于小型直流电机,可以使用推挽模式来控制电机的启动和停止
  4. 数字芯片控制:推挽模式可以直接控制一些数字芯片,例如ADC、DAC、触发器、锁存器、三极管控制引脚等
  5. 通用数字输出:推挽模式适用于通用的数字输出场景,因为它可以输出确定的高低电平而不需要外部电路的辅助

 2. 开漏模式:

在这种配置中,没有PMOS晶体管而NMOS晶体管的漏极保持在浮空状态。因此这种配置被称为开漏,此时漏极连接的pin脚状态不稳定。我们一般会在漏极上接一个上拉电阻

开漏模式的要点在于输出高电平的情况下,GPIO口不具备驱动能力,而且它的高电平依赖于外部的上拉电阻,因此具备灵活性,可以通过改变外部的上拉电路来实现不同电平的输出

 如上面的内容可以得知,这种模式仅支持灌电流(电流流入缓冲区地)

2.1 开漏特点:

GPIO的开漏模式:

高阻态:nmos关闭,驱动能力依赖于上拉电阻

低阻态:nmos打开,驱动能力来自于GPIO,此时上来电阻不起作用

2.2 开漏的应用场景:

开漏模式由于其灵活性和对外部电路的依赖性,在需要与其他设备共享通信线或进行电平转换的场合中非常有用。设计者需要根据具体的应用需求来选择合适的上拉电阻和外部负载。

我们可以仅通过开漏来进行开关,通过选型不同的上拉电阻实现不同场景要求下的高电平

  • I2C总线:I2C是一种多主设备总线,使用开漏输出和外部上拉电阻实现线与功能,确保总线上的设备可以共享通信线路。
  • 总线占用检测:在某些系统中,可以使用线与功能来检测总线上是否有设备正在通信。如果总线为低电平,则表示有设备正在使用总线。
  • 逻辑控制:在需要多个控制信号同时满足条件才能激活某个逻辑功能的情况下,可以使用线与功能来实现这种逻辑控制。
  • 2.3 线与功能介绍(***)

    1. 多个开漏输出连接:将多个开漏输出的GPIO引脚连接到同一条总线上,并且每个引脚都通过外部上拉电阻连接到高电平电源。
    2. 高电平状态:当所有连接到总线上的GPIO引脚都输出高阻态时,由于外部上拉电阻的作用,总线上的电平为高。
    3. 低电平状态:如果任何一个GPIO引脚输出低电平,电流将从总线流向地线,导致总线上的电平变为低。

    总结:

    以上内容仅作为知识分享,和自我总结,欢迎大家进行交流和指正

    后续会持续更新相关的自学内容 关于电子工程师相关的知识

    作者:Gatsby2023

    物联沃分享整理
    物联沃-IOTWORD物联网 » 【GPIO学习】推挽输出模式详解

    发表回复