资讯详情

几个重要的GPIO基础知识

GPIO基础知识

为什么每次都用?STM32相应的功能是否能够使相应的时钟?

泄漏输出和推拉输出的区别

推挽输出

开漏输出

GPIO8中输入输出模式

基本构造以及模式工作的基本原理-toc" style="margin-left:40px;">GPIO模式工作的基本结构和基本原则

浮空输入的基本原理

输入上拉模式

输入下拉模式

模拟输入

开漏输出

开漏复用输出模式

推挽输出模式

输出模式用于推挽复


GPIO基础知识

为什么每次都用?STM32相应的功能是否能够使相应的时钟?

在学51单片机的时候,基本上接触不到I/O外设时钟的方向和概念,I/O想输入就直接读,想输出就直接赋值,串口,AD转换、外部中断等。也是想用就用,不需要单独配置时钟。这在初学的时候真的方便多了。芯片可以跑起来,没有凌乱的设置,但随之而来的是所谓的功耗问题。

然而,随着电子产品越来越高,功耗和加热越来越严重,芯片制造商非常无助,开始找到避免这个问题的方法,当然,最直接的想法是使用多少功能,每个外部时钟设置开关,让用户能够准确控制,关闭不必要的设备,达到节约电源的目的。如果你不使用它,完全关闭它,尽可能减少芯片功耗,所以有这么多时钟和时钟IO配置。说白了,时钟的功能就像一个小开关,你要用什么寄存器就先打开相应的开关,即:即使是相应的时钟。

时钟信号是电路中,时钟信号是驱动模块工作的动力源。时钟信号是时间逻辑的基础,用于决定何时更新逻辑单元中的状态,即时钟信号是否决定了相应的模块是否正常工作,时钟信号的频率周期特征决定了模块工作周期。

泄漏输出和推拉输出的区别

推挽输出

推挽电路是两个参数相同的三极管或 MOSFET, 在电路中以推挽的方式存在, 负责波形放大任务的正负半周, 当电路工作时,两个对称的功率开关管每次只有一个导管,因此导管损耗小,效率高。输出不仅可以向负载灌注电流,还可以从负载中提取电流。推拉输出级不仅提高了电路的负载能力,而且提高了开关速度。

举例说明:

如图所示,推拉放大器的输出级别有两个臂(两组放大元件)。当一个臂的电流增加时,另一个臂的电流减少,两者的状态轮流转换。就负载而言,似乎是一个臂在推,一个臂在拉,共同完成电流输出任务。当输出高电平时,即下载门输入高电平时,输出端的电流将是下级门通过本级电源 VT3 拉出。这样,平时输出高低电,VT3 一路和 VT5 一路交替工作,降低功耗,提高各管的承载能力。而且因为走哪条路,管道的导电阻都很小,所以 RC 常数很小,转变速度很快。因此,推拉输出级不仅提高了电路的负载能力,而且提高了开关速度。

推挽的缺点

一条总线只能有一条push-pull输出设备。

推挽的优点

当电路工作时,两个对称的功率开关管每次只有一个导管,因此导管损耗小,效率高。输出不仅可以向负载灌注电流,还可以从负载中提取电流。推拉输出级不仅提高了电路的负载能力,而且提高了开关速度。

开漏输出

泄漏输出:输出端相当于三极管的集电极. 需要上拉电阻才能获得高电平状态. 适用于电流驱动,其吸收电流的能力相对较强(一般 20ma 以内).

开漏的弊端

开漏Pin不连接外部上拉电阻,只能输出低电平。当输出电平较低时,N沟道三极管是导通的,这样在Vcc'和GND上拉电阻R和三极管之间有连续电流Q1。这将影响整个系统的功耗。上拉电阻电阻可以降低电流。然而,大阻值会减缓输出信号的上升时间。即上拉电阻R pull-up的阻值 它决定了逻辑电平转换沿的速度。电阻越大,功耗越低。反之亦然。

开漏的优点

一个很好的优点是,传输电平可以通过改变上拉电源的电压来改变。并利用外部电路的驱动能力降低 IC 内部驱动 IC 内部 MOSFET 导通时,驱动电流来自外部VCC 流经 R pull-up ,MOSFET 到 GND。IC 内部仅需下的栅极驱动电流。

GPIO的8中输入输出模式

 

 

 

144个引脚中只有112个引脚有输入输出功能,但是他们虽然均为IO引脚,他们所能识别的电压最大值,即电压容限却不同,一般IO引脚承受/所能识别的最大电压为3.3V,特殊的IO引脚承受。所能识别的最大电压为5V,区分如下:

 

带有FT标识的为能最大承受/识别电压为5V的IO引脚。

GPIO模式的英文名称

8中IO模式

GPIO_Mode_AIN

模拟输入

GPIO_Mode_IN_FLOATING

浮空输入

GPIO_Mode_IPD

下拉输入

GPIO_Mode_IPU

上拉输入

GPIO_Mode_Out_OD

开漏输出

GPIO_Mode_Out_PP

推挽输出

GPIO_Mode_AF_OD

复用开漏输出

GPIO_Mode_AF_PP

复用推挽输出

GPIO的基本构造以及模式工作的基本原理

 

浮空输入的基本原理

 

我们看到这里的浮空输入无任何上拉下拉电阻,在浮空时输入信号仅仅取决于外部的输入信号,在未接收确定信号时,我们不清楚输入电压是高电平还是低电平。此外,TTL施密特触发器是用来将输入模拟量转化为精准的高低电平用的,原理如下图所示:

 

 

输入上拉模式

 

我们看到输入上拉与输入浮空最大的区别在于,输入上拉有了上拉电阻,这样在引脚不用时,引脚拥有确定的状态,这样可以避免外界向引脚传入不可预测的电磁干扰所导致的误操作。

输入下拉模式

 

工作原理与输入下拉模式一样,只不过在引脚未使用时,引脚电平处于低电平状态。

模拟输入

 

模拟输入就是我们所说的“模拟量数字量转换(ADC)”,系统读取模拟输入量不是为了将其转换为高低电平,而是为了根据参考电压将模拟量转化为数字的形式。

开漏输出

 

注意:这里的输出控制电路只向N-MOS管传递信号,因为开漏输出只有两个状态“低电平/高阻态”。

 

当内部电路向IO口写入一个高电平时,以N载流子为注主的沟道形成,最终N-MOS管导通,IO口钳位至Vss低电平状态,但当IO口写入一个低电平时,电压不足以形成可以导通的N沟道,因此N-MOS管不导通,IO口的电平状态取决于IO口外接电压的水平。

开漏复用输出模式

 

复用功能说白了就是这个管教除了可以作为IO使用,也可以作为其他功能使用,比如串口功能……等。其原理和开漏输出模式一样,不同点在于向IO口传递信号的模块不同了,不再是IO操作模块了,可能是串口操作模块……等等。

复用功能是指用户共享公用信道的一种机制,单个信号传递通道不止一种用处。

推挽输出模式

 

与开漏输出最大的不同在于:输出控制电路将信号传递给P-MOS和N-MOS两个场效应管。我们应该了解过功率放大器(数字电子技术基础中有讲解),咱们以三极管的弊端为例讲述MOS管构成推挽电路的优点:

 

我们看到如果不将正半部分与负半部分分开,那么加在晶体管两端的直流电压调整范围就会很小,而且如果不分开,我们必须保证直流量在合理范围内,这样才不会产生信号失真,但是直流量大了会导致晶体管消耗能量过多,因此我们采用N-MOS与P-MOS构成推挽输出电路用来分离正负半轴信号以控制流经管子的等效直流量尽可能的小。

推挽复用输出模式

 

推挽复用输出模式与前面的推挽输出模式差不多,区别就在于内部向引脚传递的信号不同。

顺便提一下:顺便提一下:多路复用选择器(multiplexer或mux)能从多个模拟或数字输入信号中选择某个信号并将其转发,将不同的被选信号输出到同一个输出线路中。说白了就是当你输入多个信号时,只有一个有效信号会被传输至输出端,其余会被屏蔽掉。

 

标签: 三极管分离正负电流

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台