嵌入式之基础硬件知识(二)
推挽输出
推挽(Push-Pull)通常用于需要强驱动能力的场景。
推挽输出既可以向负载灌电流,也可以从负载抽取电流。推拉式输出既提高电路的负载能力,又提高开关速度。
下面是一个典型的推挽输出电路:上面的三极管是NPN型三极管,下面的三极管是PNP型三极管,分别有以下两种情况,请留意控制端、输入端和输出端。
输出低电平:从负载拉电流
当Vin电压为V-时,下面的三极管有电流流出,Q4导通,Q3截止,于是电流从上往下流过。经过下面的P型三极管提供电流给负载(Rload),这就叫「挽」。
输出高电平:向负载灌电流
当Vin电压为V+时,上面的N型三极管控制端有电流输入,Q3导通,Q4截止,于是电流从上往下通过,提供电流给负载。经过上面的N型三极管提供电流给负载(Rload),这就叫「推」。
开漏输出(开集输出)
开漏输出指的是场效应管(可以类比晶体管来理解,对于晶体管来说,也就变成了开集电极输出)的漏极开路输出,只能输出低电平和高阻态(只有接上拉电阻才能输出高电平)。
以下图为例,当内部输出为1时,经过非门变为0,也就是场效应管的栅极电压为0,此时场效应管截止(相当于开路),那么单片机IO的输出是什么呢?是没办法确定的,注意并没有上拉电路。如果有上拉电阻呢,当然就是VCC,也就是逻辑1。当内部输出0时,栅极电压为1,此时场效应管导通,单片机IO与地连接,输出为0。
开漏结构(OD)对比推挽结构:开漏结构只有一个三极管或者MOS管,推挽结构则有两个。
之所以叫开漏,是因为MOS管分为三极:源极、栅极、漏极。漏极开路输出,所以叫开漏输出;
如果是三极管:基极、集电极、发射极,集电极开路输出,就叫开集输出(OC)。
浮空输入
顾名思义,浮空就是浮在空中,既不上拉也不下拉;
通俗讲就是让管脚什么都不接,浮空着,呈高阻态。
浮空最大的特点就是电压的不确定性,它可能是0V,也可能是VCC,还可能是介于两者之间的某个值(最有可能)完全由外部输入决定,引脚悬空的情况下,该端口的电平是不确定的。
用途:
- 浮空可用来做
ADC输入,这样可以减少上下拉电阻对结果的影响。 - 用于外部按键输入。
高阻态
高阻状态是三态门电路的一种状态,三态为高电平、低电平、高阻态。
当处于高阻态时,无论该门的输入如何变化,都不会对其输出有影响。
高阻态近似为开路状态,控制信号无法控制引脚的电平,引脚测量电压可能为任意的电压值。
上拉 & 下拉
上拉就是将引脚通过一个电阻连接到VCC上;
上拉电阻的功能主要是为集电极开路输出型电路和开漏输出提供输出电流通道,将不确定的信号通过一个电阻钳位在高电平(可以结合上面的开漏输出来理解),电阻同时起限流作用。
所谓的强上拉、弱上拉,只是上拉电阻的阻值不同。
下拉就是将引脚通过一个电阻连接到GND上,将不确定的信号通过一个电阻钳位在低电平。
线与
线与:所有GPIO输出高就是高,只要有一个输出低,整条线上面的都是低,这就是“与”的意思。
RC振荡器
RC振荡器中的“RC”代表电阻(Resistor)和电容(Capacitor)。
RC振荡器是一种利用电阻和电容元件构成的振荡器,通过这些元件的组合来产生振荡信号。
RC振荡器的基本工作原理
RC振荡器的工作原理基于RC网络提供的相移。RC网络在电路中产生相位差,通常需要至少两个单极RC网络来获得180度的相移,从而产生振荡。在实际应用中,由于每个RC级很难精确获得90度的相移,因此通常使用多个RC级级联来达到所需的相移。通过调整电阻和电容的值,可以在特定频率下实现稳定的振荡。
RC振荡器的类型和应用
RC振荡器有多种类型,包括桥式振荡电路和双T式振荡电路等。桥式振荡电路是最常用的类型之一,它利用RC串并联选频网络来实现振荡。这些不同类型的RC振荡器在电子设备中有广泛的应用,例如在无线电、通信系统、时钟电路等中。
