文章目录
概述
作为嵌入式软件开发工程师,我们不需要掌握嵌入式相关的全部硬件知识,没有必要,也没有时间精力去全面掌握。但一些基本的电学知识(初中物理),数模电知识,电器元件等硬件知识还是有必要了解的。本文将大致给大家罗列讲解一下必要的硬件知识。
电学基础(了解)
电流
要想弄清楚什么是电流,需要先了解电流是如何产生的。
电流的产生
电流(Current)本质上是电荷的定向移动。
以金属导体为例,其原子核中的质子带有正电荷和外围电子的负电荷是恰好相等的,整体表现为电中性。如下图所示:

这实际上就是一个金属钠原子,相对原子质量是23,共有11个质子和12个中子。
其中原子核外层电子数量,最多为2n2个,其中n代表电子层数,n = 1、2、3...
金属原子核最外层电子较少,难以自发形成稳定的电子结构,被称之为**"自由电子"**。
自由电子在外力(电场)的作用下 可以轻易从一个原子跳到另一个原子。
在宏观上看来,电子在外力(电场)的作用下,固定的朝向一个方向跳跃,这就形成了电流。

正是由于自由电子的存在,金属才是一种普遍的导体,这就是金属导体导电的原理。
导体当中能够在外力作用下定向移动,从而产生电流的粒子,被称之为**"载流子"**。
自由电子就是最常见的载流子类型之一。
还有某些材料的原子:
最外层电子数量比较多,外层电子结构十分稳固,想要施加外力来使得电子移动就十分困难,这就是绝缘体。
而半导体的导电性介于导体和绝缘体之间:
其导电性可通过掺杂其它材料或者外界条件来进行调控,是电子信息发展的基石。
假如存在下面一个简单电路:

干电池的正极储存正电荷,负极储存负电荷,电子经由导线连接用电器。
自由电子的移动方向是:负极 --> 正极
但人为规定电流的方向是:正极 --> 负极,即电子移动的反方向。
之所以会这样,是纯粹的历史原因,大家不用过于纠结。
注意实际应用中,我们更多会考虑电流的方向从正极流向负极,而不会考虑自由电子(载流子)的移动方向。
电流的单位
如何来表示电流的大小呢?
既然电流本质上是电荷的定向移动,于是人们就用单位时间内通过导体横截面的电荷量来表示电流的大小。
以金属导体为例,电子在导体中移动。
电流的基本单位是安培(A),1安培(A)代表1秒内有1库仑(C)电荷量的电子通过了导体横截面。
其中:
- 库伦,用字母C表示,它是电荷量的计量单位。
- 1C是6.242×1018个电子所携带的电荷量,即1个电子携带+1.602×10−19 C的电荷量。(了解)
当然1A是一个非常大的单位,生活中更常用的是mA(毫安)。
电流单位的换算关系:1A = 1000毫安(mA),1mA = 1000微安(uA),1uA=1000纳安(nA)
下图罗列了一些生活中常见的电流大小:

关于电流的相关概念,大家了解一下即可。
电压
电压也是一个电学的基本概念,那么什么是电压呢?
电压(Voltage),又称电势差,它表示单位电荷在电路中从一点移动到另一点所需或释放的能量。
我们都知道站在高处的人具有重力势能,跳来下就会释放重力势能,电压也是类似的概念。
电压反应了电场中的电荷具有的能量差异。
拿干电池举例,其工作原理基于内部复杂的化学反应,将正电荷集中存储在电源正极,负电荷存储在电源负极。
一旦用导线将正负极与用电器连接起来,就形成了一个完整且稳定的闭合回路。
在这个回路中:
- 由于电池正、负极存在电位差(即电压)
- 在电场力的作用下,负极的自由电子会沿着导线向电源正极定向移动,这一电子的定向移动形成了电流。
电流流经用电器时,电场力对电荷做功,使得干电池中存储的化学能逐渐转化为电能,为用电器提供能量。
在这个过程中:
负极的自由电子就会通过导线,移动到电源正极,形成电流并为用电器做功,干电池中存储的化学能就转换成了电能。
随着化学反应进行,电池内部物质逐渐消耗,电势差降低,最终电池的能量耗尽直到不可用。
一般而言,对于一节干电池,它的电压越大,就表示存储的剩余能量越多。
电压越大,也意味着电池能够提供更多的能量,驱动更高功率的设备。
电压的单位:
电压的基本单位是伏特(V),1V被定义为当1库仑(1C)的电荷在两点之间移动时,所需或释放的电能为1焦耳(1 J)
常用的电压单位及它们的转换关系如下:
1KV(千伏)= 1000V,1V=1000mV(毫伏),1mV=1000μV(微伏)
下图罗列了一些生活中常见的电压大小:

在STM32开发中,我们使用的供电电压都是3.3V的,极少数场景能用到5V。
电阻
在物理学中,用电阻(Resistance)来表示导体对电流阻碍作用的大小。
导体的电阻越大,表示导体对电流的阻碍作用越大。导体的电阻通常用字母R表示,单位是欧姆,简称欧,符号是Ω。
电阻的单位换算:1KΩ = 1000Ω = 103Ω,1MΩ = 1000000Ω = 106Ω
下面截取了初中物理教程中的一个实验:

通过实验我们会发现:
- 当铜丝接入电路时,小灯泡较明亮。
- 当把镍铬合金丝接入电路时,小灯泡较暗
灯泡越亮说明电流做功越多,表示通过灯泡的电流就越大。
那么为什么会有这种差异呢?
原来,导体虽然容易导电,但是对电流也有一定的阻碍作用。在相同的电压下:
- 通过铜丝的电流较大,表明铜丝对电流的阻碍作用较小。
- 通过镍铬合金丝的电流较小,表明镍铬合金丝对电流的阻碍作用较大。
这就是说两种材料的电阻不同,铜丝的电阻小,镍铬合金的电阻大。
实际上,任何物体都有一定的电阻,或者换句话说,绝缘体也能导电,但其电阻极高,以至于几乎阻止了电流的流动。
下图展示了常见材料的电阻大小:

实际上,人体也是导体,只不过电阻比较大罢了。人体的电阻阻值因条件而异:
- 干燥状态:人体电阻一般在 10kΩ ~ 100kΩ 之间,此时接触一些不特别大的电压通常不会有严重后果,不会导致大电流通过人体产生危险。
- 潮湿状态:人体电阻会迅速下降到几百到几千Ω,更容易在相同电压下形成较大电流,增加触电危险。
所以我们小时候都被教育过,不要湿手去触碰开关、插座,这是有道理的。
电路
物理学中将电池这类提供电能的装置叫做电源 ,将灯泡、电动机、蜂鸣器等这类消耗电能的装置叫做用电器。
电源、用电器,再加上导线,往往还有开关,组成了电流可以流过的路径------电路。如下图所示:

注意只有形成闭合的电路,电路中才会有电流流过。
电路图:
画图时,如果把电源、用电器等元件原样画出,既麻烦又不清楚。
为了方便研究,人们通常用图形符号来表示这些元件。下图截取了物理教材中,常见用电器元件的符号:

除此之外,在电路中表示正负极的方式有很多,这里简单罗列一下:
- 电源正极:Vcc和Vdd等。
- 电源负极:Vss和GND等。
详细内容可以参考下图:

其中VCC和GND是电路中典型的正负极表示方式。
VDD和VSS分别表示正负极则与NMOS管有关,这一点在下面讲MOS管时我们会讲解。
直流电和交流电
直流电:
**直流电(Direct Current,DC)**是指电流的方向和大小保持恒定不变的电流,其电流始终朝一个方向流动。

直流电最主要的三个特点是:
- 恒定性:电流方向和大小恒定,电压极性不变。
- 稳定性:直流电在传输过程中波动较小,适合需要稳定电压的设备。
- 存储性:直流电可以方便地储存在电池、蓄电池等储能装置中。
所以当有稳定电压需求的精密电子仪器,或者需要移动使用电能的设备,常常使用直流电。
比如:手机,笔记本电脑,台式机计算机,服务器等。
在嵌入式设备中,多数使用的还是直流电,比如我们使用STM32支持3.3V供电,都指的是3.3直流电供电。
但直流电的缺点是不便于变压,在长距离传输电力时损耗非常大,所以构建电网系统,还需要使用交流电。
这是为什么呢?
因为在电能传输过程中,主要的能量损耗来源于导线发热。
而根据焦耳定律Q = I2 × R × t,在时间、阻值条件不变时,电流越小损耗就越小。
再依据功率计算公式: P = UI,在传输电力能量功率不变的情况下,要想让电流减少就需要增大电压。
这就是**"高压电网输电"**的原理。
交流电:
**交流电(Alternating Current,AC)**是指电流的方向和大小随时间周期性变化的电流。

交流电比较复杂,我们也不需要了解那么多。可以了解以下几点:
- 变压器的应用:交流电可以通过变压器方便地实现电压的升高或降低。
- 例如,可以将电压升高到非常高的电压(如110 kV、220 kV或更高)
- 在相同传输功率的前提下,减少了长距离传输电路中的电流。
- 从而减少电能损耗,实现远距离、低损耗的电力传输。
- 对精密电子设备的影响:交流电的电压和电流随时间变化。
- 可能对某些精密电子设备造成干扰。
- 因此,电子设备通常通过整流和稳压将交流电转换为直流电,以提供稳定的工作电源。
- 存储的复杂性与电费区间计费:
- 交流电不易存储,存储交流电不仅复杂而且成本较高。这也是大多数国家采用区间电费计费的原因之一:
- 高峰期:电力需求高,电价正常。
- 低谷期:电力需求低,电价较低,鼓励用户在低需求时段使用电力,以平衡电网负荷。
- 某些城市道路系统的灯会点到很晚,这不是浪费电,很有可能是考虑交流电存储成本后的省钱做法。
- 火线与零线:交流电系统中没有固定的正负极,只有火线和零线之分。
- 零线通常接地,理论电压为0V。零线的作用是为电流提供回路,使电气设备正常工作。
- 火线电压是周期性变化的,会出现相对于零线的正负交替的电压。
- 由于火线的电压交替变化,电流的方向也会随之周期性反转。
- 当火线电压为正时,电流从火线流向零线;
- 当火线电压为负时,电流方向反向,从零线流向火线。
- 这样,电流在电路中不断交变,使电器设备能够正常工作。
- 交流电的频率:
- 交流电的频率(Hz,赫兹)指的是电流方向每秒变化的次数。
- 例如,中国国家民用电网的交流电就是50Hz 的,表示电流方向每秒改变 50 次(即 25 个完整的正负周期)。
- 由于交流电的电压会周期性的降低、升高。
- 拿一盏电灯来说,会存在周期性变亮变暗的闪烁过程,只不过这个过程很迅速,人肉眼是察觉不出来的。
交流电仅供了解即可,后续我们讲的STM32相关的电路都是直流电路。
常用定律和规律
下面介绍一些常用的电学相关的定律或者规律,理解这些内容对后续的课程学习都有很大帮助。
欧姆定律
欧姆定律是电学当中最基础的定律。
欧姆定律指出,在一定温度下,通过导体的电流(I)与导体两端的电压(U)成正比,与导体的电阻(R)成反比。用公式表示为:
U = I × R
其中:
- U:电压,单位为伏特(V)
- I:电流,单位为安培(A)
- R:电阻,单位为欧姆(Ω)
例如:电路中一个电阻R的阻值为100Ω,电源的电压为 U = 12V,那么通过这个电阻的电流 I 是多少?
电流 I = U / R = 12 / 100 = 0.12 A(安培)
功率计算
功率也是电学当中的一个重要的概念。
在电学中,**功率(Power)**表示电能转化为其他形式能量的速率,是用来表示用电器消耗电能的快慢的物理量。
功率 的国际单位是瓦特(W) ,符号为W。其他相关单位包括:
- 千瓦(KW):1千瓦 = 1000瓦
- 兆瓦(MW):1兆瓦 = 1,000,000瓦
在电力系统中,常用千瓦(kW)或兆瓦(MW)来表示较大的功率值。
功率常常使用大写字母P表示,它最常用的计算公式如下:
P = I × U
其中:
- P:功率,单位为欧姆(W)
- U:电压,单位为伏特(V)
- I:电流,单位为安培(A)
这个公式表明,电流和电压越大,电路中的用电器消耗电能就越快,电能转换成其它能量就越多。
再比如,上述文档中提到的高压传输交流电,当传输电力的功率不变的情况下,电压越大,电路中的电流就越小。
那么为什么电流越小,传输时的损耗就小呢?
这还需要理解焦耳定律。
焦耳定律
焦耳定律指出,在恒定电流通过导体时,导体产生的热量(Q)与电流(I)的平方、电阻(R)以及时间(t)成正比。
公式如下:
Q = I2 × R × t
其中:
- Q :产生的热量,单位为焦耳(J)。
- I :电流,单位为安培(A)。
- R :电阻,单位为欧姆(Ω)。
- t :时间,单位为秒(s)。
当进行交流电力传输的时候,主要的损耗就是导线发热消耗电能。
根据焦耳定律,电流越小,产生的热量就越小,消耗的电能自然就越少,而在电力传输时,怎么才能够减少电流呢?
在电力传输时,保证电能传输功率P不变的前提下下,P = UI,只需要升高电压,就能高减少电流。
这就是高压电传输电力减少损耗的主要原理。
串联电路
串联电路是指电路中的各元件依次连接在同一条路径上,电流依次通过每个元件。
换句话说,电流在各元件间没有分流。
串联电路具有下列三个特点(其中R1、R2、R3表示电路中的用电器电阻):
- 电流相同:在串联电路中,流过每个元件的电流相同。即I总= IR1 = IR2 = IR3
- 电压分配:总电压等于各元件两端电压之和,每个元件的电压与其电阻成正比(欧姆定律)。即U总= UR1 + UR2 + UR3
- 总电阻累加:串联电路的总电阻等于各元件电阻的总和。R总= RR1 + RR2 + RR3
例如,电路中总电压是9V,串联的两个电阻阻值分别是300欧和600欧,求电路中的总电流是多少?
求每个电阻两边的电压是多少?

总电阻 R总 = 300 + 600 = 900Ω
总电流 I总 = 9V /900Ω = 0.01A
电阻R1两端电压 VR1 = 300Ω * 0.01A = 3V
电阻R2两端电压 VR2 = 600Ω * 0.01A = 6V
并联电路
并联电路是指电路中的各元件分别连接在同两点之间,形成多个并行的路径,电流可以在不同的路径中分流。
并联电路具有下列三个特点(其中R1、R2、R3表示电路中的用电器电阻):
- 电压相同:在并联电路中,所有元件两端的电压相同,等于电源电压。。即U总= UR1 = UR2 = UR3
- 电流分配:总电流等于各支路电流之和。每个支路的电流与其电阻成反比(欧姆定律)。即I总=IR1 + IR2 + IR3
- 总电阻减小:并联电路的总电阻小于任何一个支路电阻。
并联电路的电阻计算方式如下:
图
举个例子:
电路中总电压是9V,并联的两个电阻阻值分别是300欧和600欧,求电路中的总电流是多少?
求每个电路支路的电流是多少?

并联电路直接求总电阻会很麻烦,考虑到它们的电压相同,我们可以考虑先求各自的电路:
IR1 = 9V / 300Ω = 0.03A
IR2 = 9V / 600Ω = 0.015A
I总 = IR1 + IR2 = 0.03A + 0.015A = 0.045A
所以总电阻:
R总 = U总 / I总 = 9 / 0.045 = 200Ω,电路总电阻比任何一个分支电阻都要小。
数字电路基础
电子电路是单片机硬件部分的基础知识,我们都知道电子电路又分为:
- 数字电路
- 模拟电路
高电平和低电平(重点)
由于数字电路只有高电平(1)、低电平(0)两种状态,简单且可靠。
在单片机学习中的电路大都属于数字电路。
只有使用ADC(Analog to Digital Converter,模拟数字转换器)模块的个别场景中才会接触到模拟电路。
数字电路和模拟电路的对比,可以参考下图(不够全面准确,但对小白来说了解这点就够了):

模拟电路:
模拟电路处理的信号是连续的,表示为一个不断变化的、连续的电压或电流。
信号值可以是任何实数值,在一定范围内连续变化。
模拟电路适合用于处理自然界中存在的连续信号,如声音、温度等。
在嵌入式系统中:
我们使用模拟电路的主要目的是获取各种自然传感器的数值,比如噪音传感器、温度传感器、光照传感器等。
数字电路:
数字电路处理的信号是离散的,二进制的。
信号使用离散的二进制数(0 和 1),信号只有两种状态,即高电平(1)和低电平(0)。
数字电路虽然规定了电路的信号只有两种状态:
但实际上电压不会瞬间从0V跳变到3.3V,也不会瞬间从3.3V降到0V,总会有一个上升和下降的过程。
此外,电压不可能绝对稳定,必然会存在一定的波动。因此高低电平实际上是一个电压区间,而不是固定的值。
在STM32的实际编程中,我们主要关注的就是芯片的某个引脚输出了高低电平、或者输入了高低电平。
所以高低电平的定义对我们而言至关重要。
关于数字电路中的电平标准,主要涉及到两个技术:
- CMOS(互补金属氧化物半导体, Complementary Metal-Oxide-Semiconductor)
- TTL(晶体管-晶体管逻辑, Transistor-Transistor Logic)
如果你想要了解它们,可以参考STM32官方资料《STM32F103 系列数据手册》的5.3.12-I/O端口特性这个小节。
通过这个小节你可以完整了解STM32的引脚输入高低电平的具体范围,以及输出高低电平的具体范围。
关于手册的问题,我们到下面的小节再详细讲。
为了简化理解,并避免过多涉及硬件细节,你可以采用以下简化的观点,以STM32为例:
- 引脚输出高电平(输出信号1):引脚输出了接近3.3V,或者就是3.3V的电压。(由于供电就只有3.3V,输出时不可能输出超过VDD的电压)
- 引脚输出低电平(输出信号0):引脚输出了接近0V或者就是0V的电压。
- 引脚接收输入的高电平(接收输入信号1):向引脚输入了3.3V、接近3.3V,甚至轻微超过3.3V的电压,部分引脚可以容忍5V的高电平输入。
- 引脚接收输入的低电平(接收输入信号0):向引脚输入了0V、接近0V,甚至略低于0V的电压。
这样简单理解虽然不完全准确,但对于编写软件程序而言,是足够且实用的。
下面我们通过两个例子,让大家理解两个问题:
- 什么时候使用高电平,什么时候使用低电平?
- 高电平的效果是什么,低电平的效果是什么?
点灯实践1
通过操控STM32的某一引脚,通过"输出电平",使得LED灯点亮熄灭的实验。电路图如下所示:

程序员编写程序控制芯片的IO引脚,输出电平来控制LED灯的点亮或者熄灭,很明显:
- 引脚输出高电平(1)时,IO引脚(3.3V)与GND(0V)之间存在电压差,电路连通,LED灯点亮。
- 引脚输出低电平(0)时,IO引脚(0V)与GND(0V)之间无电压差,电路断开,LED灯熄灭。
此时这个IO引脚具有输出高电平/低电平的作用,这就是IO引脚的通用推挽输出工作模式。
点灯实践2
我们还可以按照下面的方式实现"输出电平",使得LED灯点亮熄灭:

程序员编写程序控制芯片的IO引脚,输出电平来控制LED灯的点亮或者熄灭,这个时候就完全不同了:
- IO口输出高电平(1)时,引脚(3.3V)与VCC(3.3V)之间不存在电压差,电路断开,LED灯熄灭。
- IO口输出低电平(0)时,引脚(0V)与VCC(3.3V)之间存在电压差,电路闭合,LED灯点亮。
也就是说:
即便引脚的工作逻辑是一样的,都是输出高电平/低电平,但只要电路接线不同,实际的实验现象也会有所不同。
常见电子元器件
随着学习的深入,我们会用到很多电子元器件,为了让大家更好的使用这些元器件,在这里讲解一下。
注意,只有当你需要使用某个元器件时,才需要来查看文档,如果还没有用过这个元器件,建议不要看。
杜邦线
杜邦线是一种用于电子电路实验和开发的连接线,由于这种连接线及其连接器最初是由美国杜邦公司(DuPont)开发和推广的,所以名为杜邦线。
杜邦线的接头,有公母之分:
- 公头:带有一个针脚(插针),通常是金属制成,排列在塑料外壳中。
- 母头:带有一个插孔(插座),可以插入一个针脚。
杜邦线实际上就是一根导线,根据两端头的公母不同,分为母对母、公对公、公对母。下面具体介绍一下:
母对母杜邦线
两端都是杜邦母头,即两端都是插孔式的连接器。最常见的就是,我们把ST-LINK仿真器和最小系统板连接起来使用的杜邦线。
其实物如下图所示:

公对公杜邦线
两端都是杜邦公头,也就是两端都是一个针脚的连接器。公对公杜邦线可以用来作为导线连接面包板上的两个插孔。其实物如下图所示:

公对母杜邦线
一端是杜邦公头,另一端是杜邦母头。即一端是一个插孔,另一端是一个针脚的杜邦线。
这是最常用的一种杜邦线类型
因为它可以方便地将具有杜邦母头的器件(如开发板上的引脚、面包板上的插孔等)与具有杜邦公头的器件(如传感器、模块等)连接起来。
其实物图如下所示:

这些内容了解知道就可以了,本身也属于非常简单的知识点。
半导体
要了解半导体的基本原理,首先需要从硅(Si)原子的结构和特性讲起。
尽管半导体材料种类繁多,但硅是最常见且应用最广泛的一种,因此本文以硅为例进行说明。
硅原子最外层有4个电子,一群硅原子组成的硅单质通过共享各自最外层的电子,形成稳定的8电子结构。
如下图所示:

当然由于由于热运动等因素的影响,少数最外层的电子可能获得足够能量挣脱束缚,成为自由电子。
同时在原来的位置留下一个空位,称为空穴:
- 自由电子带负电
- 空穴则等效为带正电
自由电子和空穴都可以作为导电的载体,称之为**"载流子"**。
当然自由电子是实际存在的粒子,而空穴是一种 "等效" 的载流子,而且它们传输电流电流的方向也不同,下面会有详细讲解。
这些少量的载流子并不会影响硅单质自身导电的性质,硅单质仍然是纯粹意义上的绝缘体。
为了让硅导电,于是对硅晶体进行掺杂,形成了一种介于导体和绝缘体之间的材料,即半导体。
根据掺杂内容的不同,形成了两种不同的半导体,即P型半导体和N型半导体。
N型半导体
在硅原子中掺入少量的五价元素,如磷(P)、砷(As)、锑(Sb)等,就构成了N型半导体。
以磷原子为例:
磷原子最外层有5个电子,如果把磷原子掺杂进硅原子中,在它们共享最外层电子时,最外层就会多出一个电子,如下图所示:

此时这个电子就是一个自由电子,它可以作为电流的载流子。
在外部电场的作用下(比如在N型半导体的两端施加电压),这些自由电子就可以定向移动形成电流。
当然自由电子的移动方向和电流方向是相反的。
同样的,由于热运动等自身因素,N型半导体的内部肯定也存在少部分的"空穴"作为载流子,但空穴并不影响N型半导体的性质。
这种半导体,由于主要的载流子是自由电子,带有负电,于是被称之为N型半导体,意为带有负电,Negative负的。
P型半导体
在硅原子中掺入少量的三价元素,如硼(B)、铝(Al)、镓(Ga)等,就构成了P型半导体。以硼原子为例:
硼原子最外层有3个电子,如果把硼原子掺进硅原子中,这样它的最外层就少了一个电子。
如下图所示:

在术语上,把硼原子缺少1个电子的位置称之为"空穴",空穴具有吸引自由电子的特性,对外呈现正电属性。
当有外部电场作用时,空穴附近的硅原子的最外层电子就会丧失稳定状态,使得其中一个电子摆脱束缚,成为自由电子。
这个自由电子就会去填补硼原子周围的空穴,同时电子原来的位置又会产生新的空穴。
如此循环往复,从宏观角度看,仿佛是空穴在定向移动一样。
空穴的这种定向移动就形成了电流,并且空穴带有正电荷,空穴的移动方向就是电流的方向。
所以空穴也是一种等效载流子,和自由电子一样,不过它带有正电荷。
同样的,由于热运动等自身因素,P型半导体的内部肯定也存在少部分的自由电子作为载流子,但这些自由电子并不影响P型半导体的性质。
这种半导体,由于主要的载流子是空穴,带有正电,被称之为P型半导体,叫P型是因为它的载流子是空穴,带有正电,Positive正的。
总结
总结如下:
- **N型半导体主要载流子是自由电子,带有负电,电流的方向和载流子的运动方向是相反的。**但由于自身热运动等原因,N型半导体中也存在极少数的空穴。
- **P型半导体主要载流子是空穴,带有正电,电流的方向和载流子的运动方向是相同的。**同时P型半导体中也存在极少数的自由电子。
- 为了简化理解,我们可以直接把自由电子看成带负电荷的载流子,空穴看成带正电荷的载流子,它们的定向移动就产生了电流!
- 无论什么半导体,多数载流子对电流的贡献占主导地位,但少部分载流子的作用也不可忽视,这一点我们在下面的内容中都会讲到。
二极管
明白了P型半导体和N型半导体,那么二极管就非常好理解了,首先我们来看一下PN结,因为二极管本质上就是一个PN结。
PN结
所谓的PN结,即一个P型半导体,和一个N型半导体组装拼接在一起形成的,如下图所示:

P型半导体中多数载流子为空穴,N型半导体中多数载流子为自由电子。把它们结合到一起,就像**"干柴遇烈火"**,在它们的结合部分:
- 结合处P型半导体的一端,N型半导体中的自由电子会和P型半导体中的空穴结合。
- 于是在结合处的P端就形成了一片带有负电荷的离子区域,比如B-硼离子。
- 也就是N型半导体的自由电子扩散到了P型半导体中。
- 结合处N型半导体的一端,P型半导体中的空穴会和N型半导体中的自由电子相结合。
- 于是在结合处的N端就形成了一片带有正电荷的离子区域,比如P+磷离子。
- 也就是P型半导体的空穴扩散到了N型半导体中。
这些离子由于接收电子或丢失电子而形成了一种稳定的状态,比如:
- P型半导体中的硼原子,由于希望获取一个电子构成了空穴这种主要的载流子。
- 在PN结的结合处,一些硼原子获得了它渴望的自由电子(来自于N型半导体),形成了B-离子的稳定结构
- 阻止了N型半导体中自由电子的进一步扩散。
- N型半导体中的磷原子,由于自身多了一个电子而形成了自由电子这种主要的载流子。
- 在PN结的结合处,一些磷原子就失去了它的自由电子(来自于P型半导体),形成了P+离子的稳定结构
- 阻止了P型半导体中空穴的进一步扩散。
在没有外力的作用下,这样的互相渗透肯定不可能彻底完成。
只会在结合处形成一片没有载流子,只有离子的空间电荷区**(也叫耗尽区)**,这样PN结就形成了一种平衡状态。
如下图所示:

为了让PN结导通,能够完成导电的功能,那就需要破坏这种平衡状态,怎么打破呢?
P型半导体的结合处充斥着负电荷,N型半导体的结合处充斥着正电荷。
这样它们的结合就近似构成了一个**"内置电池"**(只是类比,实际上这里会形成一个内建电场)。
结合处的P端是"内置电池"的负极,结合处的N端是"内置电池"的正极。
打破这种平衡显然是需要外力的:
- 如果在P端连接电源正极,N端连接电源负极,在PN结内部施加一个和内置电池反向 的"电场"。
- 这样就会打破内部电场形成的平衡,使得PN结导通,载流子定向移动,形成电流。
- 我们把在P端连接电源正极,N端连接电源负极的方式,称之为"正向偏置",即PN结导通。
- 如果在P端连接电源负极,N端连接电源正极,在PN结内部施加一个和内置电池同方向 的"电场"。
- 这样反而会加固内部电场,使得PN的平衡状态更加稳固,难以形成电流,即电路处于断开状态。
- 我们把在P端连接电源负极,N端连接电源正极的方式,称之为"反向偏置",即PN结断开截止。
所以很明显,PN结的最大特点是单向导通,即电流只能从P端流向N端,P端必须施加电源的正极。反之,则PN结处于断开状态,无法导通!
二极管的作用
二极管(Diode)主要的结构就是一个PN结,那么这样的一个二极管有什么作用呢?
二极管具有单向导电性:
- 当二极管的正极 (也叫阳极,其实就是PN结的P端)连接到电源的正极,负极连接到电源的负极时,电流可以通过二极管流动,二极管导通。
- 当二极管的正极 (也叫阴极,其实就是PN结的N端)连接到电源的负极,负极连接到电源的正极时,电流无法通过二极管流动,二极管会阻塞电流。
二极管可以对电路起到保护的作用,避免电路出现反接,它的电路符号如下所示:

二极管的电路符号其实非常形象:
- 三角形的箭头表示电流允许流过的方向,即二极管的正极。
- 三角形的旁边是一个"竖杠",即二极管的负极。这个竖杠就表示若电流从这个方向过来,就会阻止电流流过。
以上,我们就简单了解了二级管的工作原理,这对我们而言是足够的。
LED灯
每一个STM32的高手都是从点灯开始的,我们也不例外,所以这里简单介绍一下LED灯。
**LED灯(Light Emitting Diode)**其实就是一个可以发光的二极管,只不过由于它可以发光的特性,广泛用于照片、显示屏等多个领域。
关于LED灯,它其实就是一个可以发光的二极管,本质上仍然是PN结的结构,只不过它可以在导通时通过特殊的材料实现发光,且可以在使用材料不同时,发出不同颜色的光。
文档这里无意讲它的工作原理,大家感兴趣可以自行查阅一下,B站上有很多视频讲这个。
这里简单罗列一下,关于LED灯我们需要知道的一些电气特性。
首先,我们发给大家进行点灯实验的LED灯,都属于小功率的、插针式的LED灯,拥有多个颜色。如下图所示:

正负极:
既然是二极管,LED就有正负极(阳阴极)之分。以上图中我们使用的插针式的LED灯为例:
- **正极:**长引脚是LED的正极
- **负极:**短引脚是LED的负极
所以在使用在LED进行面包板实验时,不要插错了正负极。否则轻则不亮,重则会有烧毁LED的风险。
工作电流:
我们使用的小型LED对工作电流是有要求的,不能过高。一般在5mA ~ 20mA之间是安全的工作电流,且电流越高,灯越亮,反之则越暗。
工作电压:
不同颜色的LED具有不同的工作电压,例如:
- 红色、黄色、橙色 LED 工作电压一般在约 1.8V ~ 2.2V之间。
- 绿色、蓝色、白色 LED 工作电压一般在约约 2.8V ~ 3.6V之间。
注意,当LED正向导通,但低于工作电压时,LED灯一般不会亮起。但我们一般也不需要这一点,因为我们的供电都是3.3V/5V,足够驱动LED。
需要注意的是,在使用LED时,正常情况下都要在电路中加上电阻进行限流,以避免高电压/电流烧毁LED。
MOS管
MOS管 ,全称为金属氧化物半导体场效应晶体管 (Metal-Oxide-Semiconductor Field-Effect Transistor,简称MOSFET)
是一种广泛应用于电子电路中的场效应晶体管,可以说MOS管是现代电子技术中,最基础、最关键的元件之一。
本教程的初衷不是让大家完全理解掌握硬件,所以对于MOS管,我们希望大家能够有一定的了解,理解就足够了。
下面简单介绍一下MOS管以及它的原理,我会尽量讲的简单一些。
MOS管主要由金属电极、氧化物绝缘层和半导体材料三部分组成,进一步可以分为两种类型:
- N型MOS管
- P型MOS管
同时为了让MOS管能够与外部电路连接起来,每个MOS管都具有三极:
- 栅极(G,Gate) :
- 与金属电极相连,是MOS管的控制端。
- 一般情况下,栅极连接控制电路,控制电路输出高低电平来控制 MOS 管的通断。
- 栅极的作用就跟门一样,决定了MOS管的通断,所以命名为Gate(门)极。
- 源极(S,Source)
- 当MOS管导通时,需要载流子来进行电流的传输。
- 源极是MOS管中载流子移动形成电流的起源,所以我们把这个极,叫做源极。
- 漏极(D,Drain) :漏极是MOS管中载流子移动形成电流的终点,所以我们把这个极,叫做漏极。
也就是说,当MOS管正常导通时,载流子一定从源极流向漏极,这一点请大家务必记住。
下面分别讲解一下两种MOS管。
N型MOS管
N型MOS管的结构组成,可以参考下图:

NMOS管的三个极,如下图所示:

注意源极同时接通左边的N型半导体和P型半导体(衬底)的末端。
现在我们设计电路,将栅极G连接上电源正极,施加电压,S极接上电源负极,如下图所示:

通过开关的通断就可以控制NMOS管的通断,这是什么原理呢?
我们在上面讲过,作为衬底的P型半导体,它的主要载流子是空穴,但也存在少数自由电子。
空穴可以直接看成正电荷,少数自由电子可以视为负电荷。
当开关闭合时,NMOS管导通。
此时NMOS管的栅极和源极之间虽然没有直接导通,但由于电场的作用,衬底中的少部分自由电子被吸引到绝缘体和衬底的接触部分。
这样一群自由电子聚集在一起,就形成了一条导电通道。如下图所示:
图
那么此时自由电子的移动方向是什么呢?电流的方向是什么呢?
源极S一般连接电源负极,或者接地,在电势差的影响下,自由电子作为载流子会从S源极流向D漏极,形成电流。
再强调一下:当MOS管正常导通时,载流子一定从源极流向漏极。
当然电流的方向和负电荷移动的方向相反,此时电流的方向是从D漏极到S源极的。
总结:
- 当加在NMOS管G栅极的电压高于S源极的电压(高于某个阈值,源极一般接负极或接地,这个阈值要求并不高)时,NMOS管导通。
- NMOS管导通后,自由电子作为载流子从源极流向漏极,电流的方向是漏极到源极。
然后我们断开开关,加到栅极和源极之间的电压消失,衬底中的自由电子不再聚集,导电通路消失,此时NMOS管断开。
讲到这里,NMOS管的最基本原理你就知道了,在继续讲解下一部分知识前,我们还有一个问题:
NMOS管就一定要按照上面给出的电路连接吗?可不可以源极S接正极,栅极G接负极呢?
反接NMOS管,如下图所示:

反接时,NMOS管实际上就变成了一个普通的二极管,此时电路的通断无法控制NMOS管的通断!
原因如下:
- 衬底和漏极到N型半导体形成了一个PN结,也就是一个二极管。所以任何MOS管内部都会隐藏一个二极管,我们把这个二极管叫做"寄生二极管"。
- 既然存在寄生二极管,反接电路会使得电流直接从PN结流过,那么NMOS的通断就无所谓了。
- 如果不反接,电流想从这个PN结走,会恰好被阻塞,此时电流就只能依靠NMOS的通断来流动了。
总之:
使用NMOS管,源极一般要接入电源负极或接地,通过控制栅极加压与否来控制NMOS通断。除非特殊情况,否则不要将源极接入电源正极,不要反接!
原理图如下:


在电路图中,最规范的NMOS管的画法如下图所示:

从这张图就可以看出:
当电流从漏极D流向源极S时,寄生二极管阻塞,通过控制栅极施加的电压可以控制NMOS管的开闭。
通过上面的描述,不难发现,NMOS管在电路中是可以作为一个开关使用的,此时可以直接把NMOS管简化成下图:

当栅极加压时,NMOS管导通,开关闭合。当栅极没有加压时,NMOS管不导通,开关断开。
P型MOS管
理解了N型MOS管,那么P型MOS管,在原理上也是大差不差的。
其材料结构如下图所示:

使用NMOS管时,常常把源极接入电源负极或者接地,PMOS管则恰恰相反,使用PMOS管时,常常把源极接入电源正极。
现在设计一个简单的电路,来使用PMOS管:

通过控制对栅极是否加压,有两种情况:
- 对栅极加压,此时栅极G和源极S都是3.3V,它们之间没有电势差。
- 对栅极不加压,此时栅极G和源极S之间存在电势差。
那种何种情况意味着PMOS管导通呢?当然是不加压导通,原因如下:
当栅极G和源极S之间存在电势差时,由于电场的作用,N型半导体衬底中极少数空穴被"吸引"到绝缘层和衬底的交界处.
这样一群空穴聚集在一起,就形成了一条导电通道。如下图所示:

同样的,在电路图中PMOS管可以用下列图标来表示:

很明显:
在源极S接入电源正极时,栅极G不加压时,PMOS管接通,电流从源极S流向漏极D。
且由于寄生二极管的存在,一般情况下也不要反接PMOS管,否则PMOS也会变成一个普通二极管。
同样的,如果把PMOS管视为一个开关,则可以简化为下图:

扩展:VDD为什么表示正极?
首先VDD是词组Voltage Drain Drain的首字母缩写,其中Voltage 就是电压的意思,而Drain就是MOS管的漏极的意思。
为了让大家更好的记住VDD表示电源正极,VSS表示电源负极,咱们可以直接粗暴的认为这种命名规则是按照NMOS管的电流方向划定的。
对于NMOS管来说,载流子是自由电子,虽然载流子的运动方向是从源极到漏极,但电流的方向确实从漏极到源极。
所以在基于MOS管的电路中,我们经常看到:
- 使用VDD表示电源正极,或者高电势。
- 使用VSS(Source,源极)表示电源负极、接地,或者低电势。
总结
如果你觉得上面的描述太过于麻烦,或者看不懂,或者你干脆懒得看,那么你可以先记住以下结论:
- 当MOS管导通时,实际上就是MOS管内部形成了由源极到漏极的载流子通道,注意是由源极到漏极的载流子通道。
- NMOS管的载流子是自由电子,所以电流的方向是漏极到源极。
- PMOS管的载流子是空穴,所以电流的方向就是源极到漏极。
- 正常使用NMOS管时,源极需要接入电源负极或接地,也就是源极需要保持低电平。在这种情况下:
- 向栅极加压(输出高电平),则NMOS管导通。
- 不向栅极加压(输出低电平),则NMOS管断开。
- 正常使用PMOS管时,源极需要接入电源正极,也就是源极需要保持高电平。在这种情况下:
- 向栅极加压(输出高电平),则PMOS管断开。
- 不向栅极加压(输出低电平),则PMOS管导通。
以上,关于MOS管的讲解就先告一段落了,坦白来说,这段描述正确但有点简陋,但秉承着够用就好的原则,我们先到此为止,祝你学习愉快。
三极管
二极管是由一个PN结组成的,MOS管是PN型半导体在衬底结构上嵌套另一种类型半导体组成的,而三极管则是由两个PN结组成的:
- NPN 型三极管:由两层 N 型半导体夹着一层 P 型半导体组成。
- PNP 型三极管:由两层 P 型半导体夹着一层 N 型半导体组成。
如下图所示:

和MOS管类似,三极管自然有"三级",分别是:
- **基极(Base,常缩写为B):**基极是三级管的控制端,类似MOS管的栅极:
- 基极可以通过控制与发射极之间有无电流通过,从而控制发射极和集电极之间有无电流流过。
- 这就是三极管的作用之一,控制发射极和集电极之间的电流通断,起着一个开关的作用。
- 通常基极和发射极之间的电流只是小电流,而发射极和集电极之间的电流是大电流。
- 这就是三极管的作用之一,用小电流控制大电流,实现电流放大的效果。
- 发射极(Emitter,常缩写为E) :类似MOS管的源极,是发射载流子的源头。
- 对于三极管来说,它的发射极总是掺杂浓度更高,拥有更多的载流子。比如:
- PNP型三极管,它的发射极P型半导体掺杂浓度高,比集电极就拥有更多的载流子空穴。
- NPN型三极管,它的发射极N型半导体掺杂浓度高,比集电极就拥有更多的载流子自由电子。
- 集电极(Collector,常缩写成C):类似MOS管的漏极,是接收载流子的目的地。相比于发射极,掺杂浓度低,载流子更少。
下面我们分别讲解一下两种类型的三极管。
PNP 型三极管
我们主要来讲一下PNP型三极管的开关作用。
基极和发射极是否能够导通,就关乎发射极和集电极是否能够导通。
那么如何让基极和发射极导通呢?
很简单,单独看基极和发射极组合在一起,它们不就是一个PN结嘛?而PN结必须正向偏置,电流从P端流向N端时才可以导通。
于是我们可以做下列的接线:

发射极接入电源正极,基极接入电源负极,此时这个PN结正向偏置导通,发射极一端的载流子空穴会向基极区域扩散。
在集电极也接入电源负极的情况下,就会出现下面的情况:
- 一部分载流子空穴和基极区域的自由电子结合,定向移动形成流向基极的电流。
- 由于基极区域很窄很小,而且发射端的空穴浓度大于集电极区域,大多数发射极的载流子空穴会继续定向移动到集电极区域,从而形成流向集电极的电流。
- 增大发射极和基极之间的电流,会有更多的空穴从发射极扩散到集电极区域,从而使得集电极电流增大。
总之大家需要记住这个三极管导通的电路设计,对于PNP型三极管:
- 发射极接入电源正极
- 基极和集电极接入电源负极
- 发射极和基极之间导通,发射极和集电极之间就会导通。
在电路图中,PNP型三极管通常画成以下样式:

若只把PNP型三极管当成电路的控制开关的话,只需要基极**保持低电平(接入电源负极或接地)**就能够使得三极管导通了。
NPN 型三极管
搞清楚PNP型三极管,NPN型三极管就也大差不差了。
对于NPN型三极管来说,单独看基极和发射极组合在一起,它们也是一个PN结。而PN结必须正向偏置,电流从P端流向N端时才可以导通。
于是我们可以做下列的接线:

发射极接入电源负极,基极接入电源正级,此时这个PN结正向偏置导通,载流子自由电子会从发射极扩散到基极区域。
在集电极也接入电源正极的情况下,就会出现下面的情况:
- 一部分载流子自由电子和基极区域的空穴结合,自由电子定向移动到基极,即形成从基极流向发射极的电流。
- 由于基极区域很窄很小,而且发射端的自由电子浓度大于集电极区域,大多数发射极的载流子自由电子会继续定向移动到集电极区域,从而形成从集电极流向发射极的电流。
- 增大发射极和基极之间的电流,会有更多的自由电子从发射极扩散到集电极区域,从而使得集电极电流增大。
总之大家需要记住这个三极管导通的电路设计,对于NPN型三极管:
- 发射极接入电源负极
- 基极和集电极接入电源正极
- 发射极和基极之间导通,发射极和集电极之间就会导通。
在电路图中,NPN型三极管通常画成以下样式:

若只把NPN型三极管当成电路的控制开关的话,只需要基极**保持高电平(接入电源正极)**就能够使得三极管导通了。
总结
**对于PNP型三极管:**基极输入低电平,即接地或接入电源负极时,PNP型三极管导通。
**对于NPN型三极管:**基极输入高电平,即接入电源正极时,NPN型三极管导通。