模拟与数字电子技术入门读物
自本世纪六十年代开始,数字半导体技术席卷了全球电子工业,伴随工艺与制程的持续演进,高频高速电子信号的处理需求愈加旺盛,电子技术的发展重心逐步由模拟时代,过渡至全面的数字化阶段。虽然模拟电路以及分立式电子元器件的使用频率逐年下降,但是在电磁兼容性处理、开关电源设计等场景当中,传统的模拟电子技术以及相关分立式元器件依然扮演着不可或缺的角色。
本文定位为一篇导论性质的文章,用于帮助当前开发团队里的嵌入式软件工程师,快速了解模拟数字电子技术相关的术语与概念,因此行文中并不涉及各类电路原理的深入数学分析,仅仅言简意赅的汇总了日常工作相关的模拟、数字电路知识。文章中的部分公式与原理图摘取自Wikipedia 维基百科,写作过程当中参考了《Understanding Basic Electronics》第 2 版一书。
基本概念与公式
电路的三类状态
- 通路/回路:指电流通过元器件或者用电器后流回电源的通路,通常是指闭合电路。
- 断短/开路:电路中两点之间无电流通过(开关没有闭合或导线未连接)或者连接了阻抗值/电阻值非常大的导体,即整个电路处于断开的状态。
- 短路:短路是指电路或电路中的一部分被短接。如负载与电源两端被导线连接在一起,就称为短路,短路时电源提供的电流将比通路时提供的电流大得多,一般情况下不允许短路,如果短路,严重时会烧坏电源或设备。
电子技术常用数量级单位
数量级是国际单位制当中衡量数量的尺度与大小级别的单位,同样也适用于表达电子技术所涉及单位的数量级,《中华人民共和国法定计量单位》当中规定了与国际数量级单位相对应的中文命名,具体对应关系请参见下表:
中文词头 | 英文缩写 | 英文前缀 | 进制 |
---|---|---|---|
尧 | Y | Yotta | \(10^{24}\) |
泽 | Z | Zetta | \(10^{21}\) |
艾 | E | Exa | \(10^{18}\) |
拍 | P | Peta | \(10^{15}\) |
太 | T | Tera | \(10^{12}\) |
吉 | G | Giga | \(10^{9}\) |
兆 | M | Mega | \(10^{6}\) |
千 | k | kilo | \(10^{3}\) |
百 | h | hecta | \(10^{2}\) |
十 | da | deca | \(10^{1}\) |
分 | d | deci | \(10^{-1}\) |
厘 | c | centi | \(10^{-2}\) |
毫 | m | milli | \(10^{-3}\) |
微 | μ | micro | \(10^{-6}\) |
纳 | n | nano | \(10^{-9}\) |
皮 | p | pico | \(10^{-12}\) |
飞 | f | femto | \(10^{-15}\) |
阿 | a | atto | \(10^{-18}\) |
仄 | z | zepto | \(10^{-21}\) |
幺 | y | yocto | \(10^{-24}\) |
电流 Current ['kʌr(ə)nt]
自由电子的定向运动产生电流,其方向与自由电子运动的方向相反,电流用字母I表示,基本单位是安培 A。
1 | 电流I(安培) = 电荷Q(库仑) / 时间t(秒) |
1 秒内通过导体横截面的电荷量为 1 库仑。
电压 Voltage ['voltɪdʒ]
高、低电位之间的电位差称为电压,用字母U表示,基本单位是伏特 V。
1 | 电压V(伏特) = 电荷Q(库仑) * 电功W(焦耳) |
1 库仑电荷做 1 焦耳的功形成的电位差等于 1 伏特。
电阻
Resistor [rɪ'zɪstə]
用来限制通过其所连支路的电流大小,电阻用字母R表示,基本单位为欧姆 Ω。电阻值通常与温度、材料、长度、导体横截面积有关,主要物理特性是将电能转换为热能,因此可以认为它是一个耗能元件,在电路中通常起到分压、分流作用。
1 | 电阻R(欧) = 电阻率ρ(欧·厘米) * [ 长度L(厘米) / 横截面积S(平方厘米) ] |
- 限流电阻:用来限制电阻所在支路电流的大小。
- 上拉电阻:输入端口未连接设备或处于高阻抗时,用于保证输入信号为指定逻辑电平。
- 下拉电阻:接地连接从而使逻辑信号保持在接近 0 伏特状态。
欧姆定律 Ohm's law
通过某段导体的电流跟该段导体两端的电压成正比,电阻成反比。
1 | 电压V(伏) = 电流I(安) * 电阻R(欧) |
电功与电功率
电功是指消耗电能的多少,电功率是指消耗电能的快慢。
电功 Electric work
电流所做的功叫做电功,用大写字母W表示,基本单位是焦耳 J。
1 | 电功W(焦) = 电功率P(瓦特) * 时间t(秒) |
电功率 Electric power
表示消耗电能快慢的物理量,用字母P表示,基本单位是瓦特 w。
1 | 电功率P(瓦) = 电压U(伏) * 电流I(安) |
基尔霍夫定律
Kirchhoff's law
- 电流定律:流向某一结点的电流之和恒等于该结点流出的电流之和(流入流出结点的电流相等)。
- 电压定律:某回路的电源电压恒等于各电阻之上的压降之和(回路中的电压总和是零)。
电容
Capacitor [kə'pæsɪtə]
一种可以容纳电荷的储能元件,由 2 块金属电极之间夹 1 层绝缘电介质构成,用字母C表示,基本单位是法拉第 F。
1 | 电容C(法) = 电荷Q(库) / 电极间的电压V(伏) |
选取电容时要注意其耐压值(即临界电压,过大电压会导致电容器损坏)。
电容器在开发板主要有如下几个作用:
- 耦合,充放电的特性可以阻止直流电通过,但是允许交流电通过,即通交隔直。
- 滤波,将一定频段内的信号从总信号中去除。
- 去耦,防止前后电路电流大小变化时,在供电电路中形成的电流波动对电路正常工作产生影响。
数字电路当中,所有 IO 器件的 VCC 和 GND 之间(包括电源)都会放置一个
0.1uF
的去耦电容。
电感
Inductor [ɪn'dʌktə]
电感是通过电流改变产生电动势,从而抵抗电流改变的一种特性,其基本单位是亨利H
,可由线圈的直径、长度、横截面积、线圈数等计算元件的电感量。而电感器是将电能转化为磁能存储起来的元件,具有一定的电感,一般由骨架、绕组线圈、屏蔽罩、封装材料、磁心或铁心等组成。电感器元件依据外观和功能的不同会有不同的名称:
- 线圈(Coil [kɔɪl]):漆包线绕制为多圈状,作为电磁铁和变压器中使用的电感。
- 扼流圈(Choke [tʃəʊk]):对高频提供较大电阻,通过直流或低频的电流,因而称为扼流圈。
- 绕组(Winding ['waɪndɪŋ]):配合铁磁性材料,安装在变压器、电动机、发电机中使用的较大电感。
- 磁珠(Bead [biːd]):导线穿越磁性物质,而无线圈状,常充当高频滤波作用的小电感,依据外观称为磁珠。
电感的计算方式与电阻类似,串联时逐个相加,并联时总电感的倒数等于各个电感的倒数之和。
基本串/并联电路
串联电路
series ['sɪəriːz]
多个电路元件沿着单一路径互相连接,每个连接点最多只连接 2 个元件,这种连接方式被称为串联。串联电路电源输出的电流等于通过每个元件的电流,输出的电压等于各个元件两端电压的代数之和。
电阻串联
下图将\({n}\)个电阻器串联在一起,并将电源连接于串联电路的两端。
根据欧姆定律,第\(k\)个电阻器两端的电压\(v_k\)等于通过的电流\(i_k\)乘以其电阻\(R_k\),即\({v_k} = {i_k}{R_k} = i{R_k}\)。根据基尔霍夫电流定律,从电源给出的电流\({i}\)等于通过每一个电阻器的电流\({i_{k}}\),即\({i=i_{1}=i_{2}=\cdots =i_{n}}\)。根据基尔霍夫电流定律,电源两端的电压等于所有电阻器两端的电压的代数和,即\({v=v_{1}+v_{2}+\cdots+v_{n}=i(R_{1}+R_{2}+\cdots+R_{n})}\)。所以,\({n}\)个电阻器串联的等效电阻\({R_{eq}=R_{1}+R_{2}+\cdots +R_{n}}\)。根据欧姆定律,电流源两端的电压等于给出的电流乘以等效电阻,即\({v=iR_{eq}}\)。
电容串联
下图当中将\({n}\)个电容器串联在一起,并将电源连接于串联电路的两端。
根据电容定义,通过\({k}\)个电容器的电流\({i_{k}}\),等于其电容\({C_{k}}\)乘以其两端的电压变化率,即\({i_k}={C_{k}}{\frac{d{v_k}}{dt}}\)。根据基尔霍夫电流定律,电源(直流或者交流电)释放的电流\({i}\)等于通过每一个电容器的电流\(i_{k}\),也即\(i=i_{1}+i_{2}+\cdots+i_{n}\)。根据基尔霍夫电压定律,电源两端电压等于所有电容器两端电压的代数之和,即\(v=v_{1}+v_{2}+\cdots+v_{n}\)。由此电源两端的电压变化率为\(\frac{d_v}{d_t} = \frac{d_{v1}}{d_t} + \frac{d_{v2}}{d_t} + \cdots + \frac{d_{vn}}{d_t} = \frac{i}{C_1} + \frac{i}{C_2} + \cdots + \frac{i}{C_n}\)。所以,\({n}\)个电容器串联后的等效电容\({C_{eq}}\)与每个电容\({C_n}\)的关系为\(\frac{1}{C_{eq}} = \frac{1}{C_1} + \frac{1}{C_2} + \cdots + \frac{1}{C_n}\)。
电容器的漏电阻(leakage resistance)是指在两个电容极板上添加电压后所呈现的电阻值,通常电容器生产厂家会标注其漏电阻最低值,但是实际值可能与最低值相差较多,因而无法确定每个电容器承受的工作电压,降低电路可靠性。这种情况下,可以给每个电容器并联一个电阻器,从而有效增加漏电流,降低电容器两端电压。
电感串联
下面图片示意了将\({n}\)个电感串联到一起的效果。
根据前面所述的方法,可以计算出多个电感器的等效电感\(L_{eq}=L_{1}+L_{2}+\cdots +L_{n}\);
由于电感器产生的磁场会与其邻近电感器的缠绕线圈发生耦合,从而产生互感\(M\)。等效电感是所有自感与互感的代数总和,但需要注意互感的磁场方向与电感器是否相同,从而进行相应的增减运算。
并联电路
parallel ['pærəlel]
多个电路元件的两端分别连接于两个节点,这种连接方式称为并联。并联电路电源输出的电流等于通过每个元件的电流的代数之和,输出的电压等于每个元件两端的电压。
注意:串联分压,并联分流。
电阻并联
如下图所示,\({n}\)个电阻器并联在一起,然后将电源连接到该并联电路的两端。
根据欧姆定律,第\({k}\)个电阻器两端的电压\(v_{k}\)等于通过的电流\(i_{k}\)乘以其电阻\(R_{k}\),即\(v_{k}=i_{k}R_{k}\)。按照基尔霍夫电压定律,电源两端的电压\({v}\)等于每一个电阻器两端的电压,即\(v=v_{1}=v_{2}=\cdots =v_{n}\)。根据基尔霍夫电流定律,从电源流出的电流\({i}\)等于通过每一个电阻器的电流代数之和,即\(i=i_{1}+i_{2}+\cdots+i_{n}={\frac{v}{R_{1}}}+{\frac{v}{R_{2}}}+\cdots +{\frac{v}{R_{n}}}\)。因而,\({n}\)个电阻器并联的等效电阻\(R_{eq}\)与每个电阻器\(R_n\)的关系为\(\frac{1}{R_{eq}} = \frac{1}{R_1} + \frac{1}{R_2} + \cdots + \frac{1}{R_n}\)。根据欧姆定律,电源两端的电压等于其电流乘以等效电阻\(v=iR_{eq}\)。
电容并联
如下图所示,\({n}\)个电容器并联在一起,现将电源连接于该并联电路两端。
由电容的定义可知,通过第\(k\)个电容器的电流\(i_{k}\)等于其电容\(C_k\)乘以两端电压的变化率,即\({i_k}={C_{k}}{\frac{d{v_k}}{dt}}\)。按照基尔霍夫电压定律,电源两端的电压等于每一个电容器两端的电压,即\(v=v_{1}=v_{2}=\cdots =v_{n}\)。根据基尔霍夫电流定律,电源流出的电流\(i\)等于通过每一个电容器电流的代数之和,即\(i=i_{1}+i_{2}+\cdots+i_{n} = (C_{1}+C_{2}+\cdots+C_{n}) \frac{dv}{dt}\)。所以,\(n\)个电容器并联的等效电容\(C_{eq}={C_{1}+C_{2}+\cdots+C_{n}}\)。
电感并联
下面展示的图当中,\(n\)个电感器并联在一起。
类似上面所述的方法,可以计算出其等效电感\(L_{eq}\)与每个电感器\(L_n\)的关系为\(\frac{1}{L_{eq}} = \frac{1}{L_1} + \frac{1}{L_2} + \cdots + \frac{1}{L_n}\)。
上述方程描述的是\(n\)个电感器无互感并联的理想状态,实际环境下,临近电感器之间的磁场会发生耦合。因此,对于具有三个或三个以上电感的并联电路,必需考虑到每个电感器本身的自感和互相之间的互感。
半导体元件
二极管 Diode ['daɪəʊd]
以硅(或锗)作为基板,将掺杂了磷和砷的Negative 型半导体(电子不足,空穴较多)和掺杂了硼和镓的Positive 型半导体(电子多余)结合在一起,就称为二极管(PN 结)。
二极管具有单向导电性(单向导通),因此具备整流作用,即让电流只朝一个方向运动。
三极管
Triode ['traɪəʊd]
三极管也称为双极性晶体管(bipolar
transistor),全称叫做双极性结型晶体管(bipolar
junction
transistor),缩写为BJT,因为种具有三个终端,所以俗称为三极管。将P
型、N 型半导体做成三明治状从而形成NPN
结与PNP
结,中间的那层称为基级Base
,两侧的称为发射级Emitter
或集电极Collector
,即三极管,也称为双极性结型晶体管。
三极管具有如下 3 种工作状态:
- 截止状态:当发射极电压小于PN 结导通电压,基极电流为零,集电极和发射极的电流都为零,此时三极管失去了电流放大作用,集电极和发射极之间相当于开关的断开状态。
- 放大状态:当发射极电压大于PN 结导通电压,并处于某一恰当值时,三极管发射结正向偏置,集电结反向偏置,此时基极电流对集电极电流起着控制作用,使三极管具有电流放大作用(放大倍数 β=ΔIc/ΔIb)。
- 饱和导通:当发射极电压大于PN 结导通电压,并当基极电流增大到一定程度时,集电极电流不再随着基极电流的增大而增大,而是处于某个确定值的附近不再变化,此时三极管失去电流放大作用,集电极与发射极之间电压很小,相当于开关的导通状态。
晶闸管
Thyristor [θaɪ'rɪstə]
晶闸管是晶体闸流管的简称,又被称为可控硅整流器,泛指具有四层及以上交错 PN 层的半导体元件,具体可分为单向晶闸管、双向晶闸管、可关断晶闸管等种类。
晶闸管是一种开关元件,具有可控的单向导电性(与之相比,普通的二极管只是一个单向导电器件)。晶闸管具有以小电流或电压控制大电流电压的作用,广泛用于无触点开关、可控整流、逆变、调光、调压、调速等。
晶闸管只能工作在开关状态,而场效应管既可以工作在开关状态也可以工作在放大状态。
场效应管
Field Effect Tube [tjuːb]
场效应管(缩写:FET)是一种通过电场效应控制电流的电子元件,也称为单极性晶体管。它依靠电场去控制导电沟道形状,能够控制半导体材料中某种类型载流子的沟道导电性。主要分为结型场效应管(junction FET,简称 JFET)和金属-氧化物半导体场效应管(metal-oxide semiconductor FET,简称 MOS-FET)两种类型,可应用于放大、阻抗变换、可变电阻、电子开关。
场效应管是电压控制元件,栅极基本不获取电流;而普通晶体管是电流控制元件,基极必须获取一定电流。
绝缘栅双极晶体管
Insulated [ˈɪnsjuleɪtɪd] Gate Bipolar [baɪ'pəʊlə] Transistor
绝缘栅双极晶体管(缩写:IGBT),由三极管 BJT 和场效应管 MOS 组成,是一种使用电压驱动的功率半导体器件,具有自关断特性,即功能类似于一个非通即断的开关。IGBT 不能放大电压,导通时可视为导线,断开时可视为开路。
三极管导通电阻小,但是驱动电流大;场效应管导通电阻大,但是驱动电流小;IGBT 则结合两者优点,不仅驱动电流小,导通电阻也较低。IGBT 是能源转换与传输的核心器件,主要用于电动车辆、铁路动车组的交流电机输出控制。采用 IGBT 进行功率转换,可以提高用电效率和质量,更加高效节能。
IGBT 和 MOSFET 都是目前半导工业比较主流的两款功率器件。
晶振 Crystal / Oscillator
晶振通常分为无源晶振(crystal,晶体)和有源晶振两种类型(oscillator,振荡器)。
- 有源晶振:一个完整的谐振振荡器,利用石英晶体的压电效应起振,因此仅需要外部供电,而无需外接其它器件即可主动产生振荡频率,并且能够提供高精度的频率基准,信号质量比无源晶振信号更好。有源晶振通常拥有 VCC 引脚、GND 引脚、晶振输出引脚、未使用的悬空引脚(有时也作为使能引脚)4 个引脚。
- 无源晶振:自身无法振荡,需要接入芯片内部的振荡电路才能振荡,信号质量和精度相对有源晶振较差,但是价格更便宜。无源晶振两侧通常会放置两个电容,容值选取在 10pF~40pF 之间,如果数据手册无明确要求,根据经验值通常选取 20pF 的电容。无源晶振有 2 或 3 个引脚,其中 3 引脚晶振的中间引脚通常连接至晶振外壳,使用时需要连接到 GND,而两侧的引脚作用相同,使用时无正负之分。
无源晶振可以直接连接至单片机的两个引脚,有源晶振仅需要连接至单片机的晶振输入引脚,而输出引脚可以选择不接。
基础模拟电路
电磁兼容性 EMC
EMC(Electro Magnetic [mæg'netɪk] Compatibility)电磁兼容性,指设备和系统能在电磁环境中符合要求的运行,并且不会对其它设备产生超出承受范围的电磁干扰,EMC 主要包含下面两个方面的指标:
- EMI(Electro Magnetic Interference
[ɪntə'fɪər(ə)ns])电磁干扰,指设备和系统在自身工作过程中,产生的电磁波对本身及外部其它设备造成的干扰。测试项包括:
RE辐射
、CE传导干扰
、Harmonic谐波
、Flicker闪烁
。 - EMS(Electro Magnetic Susceptibility
[sə,septɪ'bɪlɪtɪ])电磁敏感度,指设备抗电磁干扰的敏感程度,越敏感的设备,越容易受到干扰。测试项包括:
ESD静电
、EFT瞬态脉冲干扰
、DIP电压跌落
、CS传导抗干扰
、RS辐射抗干扰
、Surge浪涌
、PMS工频磁场抗扰度
。
因为 EMI,所以有 EMC;EMS 符合标准,才能实现 EMC。
交流电&直流电
直流电流(DC,Direct Current):方向、大小保持不变的电流称为直流电流,直流电流与时间的关系在坐标轴当中体现为一条与时间轴平行的直线。
交流电流(AC,Alternating Current):大小和方向都发生周期性变化的电流,通常波形为正弦曲线(家庭用电),此外还有三角形波、正方形波等。
频率Frequency
频率是事件在单位时间内重复发生的次数,通常以符号f
或v
表示,单位是赫兹(Hertz)简写为Hz
。
1 | 1赫兹 = 1次/秒 |
- \(1千赫(kHz) = 1^3 Hz\)
- \(1兆赫(MHz) = 1^6 Hz\)
- \(1吉赫(GHz) = 1^9 Hz\)
- \(1太赫(THz) = 1^{12} Hz\)
- \(1拍赫(PHz) = 1^{15} Hz\)
- \(1艾赫(EHz) = 1^{18} Hz\)
相位Phase [feɪz]
相位是用来描述电子信号波形变化的量,通常以度
为单位,当信号波形周期性变化时,波形循环一周即为360度
。相位差是指两个信号之间的相位之差。
RC/RL/LC/RLC 电路
电阻器R、电容器C、电感元件L这
3 种基本线性集成电路元件可以用来组成 4
种不同的电路:RC电路
、RL电路
、LC电路
、RLC电路
,电路名称源于其所使用的元件英文缩写。
RC 电路
电阻-电容电路,又称为 RC 滤波器或相移电路,最简单的 RC 电路由一个电容器和一个电阻器组成,称为一阶 RC 电路。
RL 电路
电阻-电感电路,也称为 RL 滤波器,是最简单的无限脉冲响应电子滤波器。由一个电阻器和一个电感元件串联或并联组成,并由电压源驱动。
LC 电路
电感-电容电路,也称为谐振电路或调谐电路,LC 电路既能产生特定频率的信号,也能从更复杂信号中分离出特定频率信号。用于振荡器、滤波器、调谐器、混频器电路当中,是无线电设备中的关键部件。
RLC 电路
电阻-电感-电容电路,常用来作为带通滤波器或带阻滤波器,RLC 电路中的电压或电流是一个二阶微分方程的解,因此也被称为二阶电路。
整流电路Rectification [,rektɪfɪ'keɪʃən]
将交流电能转换为直流电能的电路,主要由变压器、整流主电路(整流二极管)、滤波器组成。经过整流之后的电压不是交流电压,而是一种同时包含有直流电压和交流电压的混合电压,习惯上称为单向脉动性直流电压。
逆变电路Inverter [ɪn'vɜːtə]
逆变电路可以将直流电转变为交流电,其作用与整流电路相反,可用于构成各种交流电源,在工业中用途广泛。
滤波电路Filter
主要用于去除信号中不需的成分或增强所需的部分,即对电子信号中特定的波段频率进行滤除,信号中较高频率能够通过的滤波器称为高通滤波器,而较低频率能够通过的滤波器称为低通滤波器。
放大电路Amplifier ['æmplɪfaɪə]
放大电路也称为放大器,其输出信号的波形与输入信号一致,但具有更大的振幅,是一种使用较为广泛的电子电路,是构成复杂电子电路的基本单元电路。放大是指将输入的微弱信号(变化的电压、电流等)放大到所需幅度值并且与输入信号变化规律一致,即进行不失真的放大,仅增加信号的输出功率。实际的放大电路通常由信号源、晶体三极管构成的放大器、负载组成。
放大器电路按照功能可分为如下类型:
- 电压放大器:将较小的输入
电压
放大为较大的输出电压
。 - 电流放大器:将较小的输入
电流
放大为较大的输出电流
。 - 互导放大器:将变化的输入
电压
转换为相应的输出电流
。 - 互阻放大器:将变化的输入
电流
转换为相应的输出电压
。
放大器电路按照用途可分为如下类型:
- 功率放大器:简称功放,指给定失真率条件下,能产生最大功率输出以驱动某一负载(例如:扬声器)的放大器。
- 运算放大器:简称运放,具有非常高的放大倍数(最高可达数十万倍),通常以集成 IC 的形式存在,早期应用于模拟计算机用来实现数学运算,因而称为运算放大器。
谐振电路Resonant ['rez(ə)nənt]
由电感L和电容C组成的,可以在一个或若干个频率上发生谐振现象的电路,称为谐振电路。移动通信电路当中,谐振电路用来从诸多信号中选取指定的信号,并抑制或过滤其它信号。
包含电容、电感、电阻的无源一端口网络,端口可能呈现容性、感性、电阻性。当端口的电压和电流出现同相位,电路呈现电阻性时称为谐振现象。谐振实质是电容中电场能与电感中磁场能相互转换,此消彼涨,电场能与磁场能的总和保持不变,电源不必与电容或电感往返转换能量,只需供给电路中电阻所消耗的电能。
反馈电路Feedback
将电路的输出信号有选择的返回到输入当中,这个过程称之为反馈。反馈根据输出相位的不同,分为正反馈和负反馈:
- 负反馈:与输入信号的相位相反,稳定输出信号。
- 正反馈:与输入信号的相位相同,信号产生叠加,输出信号逐渐变大,最终发生振荡。
振荡电路Oscillation [,ɒsɪ'leɪʃn]
振荡电流是一种大小和方向都随周期发生变化并且频率很高的交变电流,能产生振荡电流的电路称为振荡电路。振荡电流无法通过线圈在磁场中转动产生,只能使用振荡电路产生。无线通信射频信号的产生,嵌入式硬件电路时钟信号的调整等都是常见的振荡器产生交流信号的例子。
电源表示符号
- VDD:
D=device
,表示器件, 即器件内部的工作电压; - VCC:
C=circuit
,表示电路, 即接入电路的电压; - VSS:
S=series
,表示公共连接的意思,通常指电路公共接地端电压; - GND:
Ground
代表接地,在嵌入式电路当中实际是指电源负极,而并非真正的接电。
电路图表示场效应管或 COMS 器件时,会称 VDD 为漏极 VSS 为源极,这里的 VDD 和 VSS 是指元件引脚,而非供电电压。
开关电源/线性电源
嵌入式系统当中的各种电子元件与外设主要依靠直流电源进行驱动,因为一套稳定可靠的电源对于嵌入式系统极为重要,直流电源主要分为开关电源与线性电源两大类。
开关电源(Switching Power Supply):使用电子开关器件(晶体管、场效应管、可控硅闸流管等),通过控制电路使开关器件的通断时间,使其对输入的电压进行脉冲调制,从而实现 DC/AC 或者 DC/DC 电压转换,以及输出电压可调与自动稳压。
线性电源(Linear Power Supply):先将交流电经过变压器降低电压幅值,再经过整流电路整流后得到脉冲直流电,后经滤波得到带有微小波纹电压的直流电压。
开关电源与线性电源两者的主要区别在于:线性电源的电压反馈电路工作在线性(放大)状态,而开关电源的电子开关器件则是工作在饱和与截止(开关)状态。线性电源技术很成熟的稳定,波纹较小,干扰和噪声较小,制作成本较低,但是工作在 50Hz 工频下其体积较大效率偏低(转换效率仅 80%左右)。开关电源体积较小,输出纹波相对较大,但是结构简单效率高(转换效率 90%以上)在很多场合已经替代了线性电源,是未来电源发展的趋势。
数制与码制
数制
数制是用一组固定符号和统一规则来表示数值的方法,通常包含基数和位权两个基本要素。其中基数是指使用数码的个数,例如:二进制的基数为2
,十进制的基数为10
。位权是指数制某位所表示的数值权重的大小,例如:十进制数123
,1
的位权是100
,2
的位权是10
,3
的位权是1
。二进制数1011
,从左至右1
、0
、1
、1
的位权依次是8
、4
、2
、1
。常用的数制有二、八、十、十六四种进制,书写时可以在相应数值尾部添加字母B、O、D、H或者下标2、8、10、16进行标识,计算机传输和保存数据通常使用的是二进制。
进制
- 十进制:Decimal
['desɪm(ə)l]
缩写为DEC,十进制数使用0
到9
共十个数码进行表示,计数基数为 10 逢十进一。 - 二进制:Binary
['baɪnərɪ]
缩写为BIN,十进制数使用0
和1
共两个数码来表示,计数基数为 2 逢二进一。 - 八进制:Octal
['ɒkt(ə)l]
缩写为OCT,十进制数使用0
到7
八个数码进行表示,计数基数为 8 逢八进一。 - 十六进制:Hexadecimal
[,heksə'desɪm(ə)l]
缩写为HEX,十进制数使用0
到9
和A
到F
共十个数码进行表示,计数基数为 16 逢十进一。
数制 | 符号 | 字符 | 进制 |
---|---|---|---|
二进制 | B | 0 、1 |
2 |
八进制 | O | 0 、1 、2 、3 、4 、5 、6 、7 |
8 |
十进制 | D | 0 、1 、2 、3 、4 、5 、6 、7 、8 、9 |
10 |
十六进制 | H | 0 、1 、2 、3 、4 、5 、6 、7 、8 、9 、A 、B 、C 、D 、E 、F |
16 |
目前的嵌入式微处理器普遍采用 8 位、16 位、32 位的二进制数据并行计算,而它们可以分别用 2 位、4 位、8 位的十六进制数表示,因此使用 16 进制书写程序更加方便与简洁。下面的表格,将会列出不同进制数值之间的对照:
十进制 Decimal | 二进制 Binary | 八进制 Octal | 十六进制 Hexadecimal |
---|---|---|---|
00 |
0 0 0 0 |
00 |
0 |
01 |
0 0 0 1 |
01 |
1 |
02 |
0 0 1 0 |
02 |
2 |
03 |
0 0 1 1 |
03 |
3 |
04 |
0 1 0 0 |
04 |
4 |
05 |
0 1 0 1 |
05 |
5 |
06 |
0 1 1 0 |
06 |
6 |
07 |
0 1 1 1 |
07 |
7 |
08 |
1 0 0 0 |
10 |
8 |
09 |
1 0 0 1 |
11 |
9 |
10 |
1 0 1 0 |
12 |
A |
11 |
1 0 1 1 |
13 |
B |
12 |
1 1 0 0 |
14 |
C |
13 |
1 1 0 1 |
15 |
D |
14 |
1 1 1 0 |
16 |
E |
15 |
1 1 1 1 |
17 |
F |
二 ➜ 十转换
将二进制展开后,将各项的值按照十进制数相加,即可得到相应的十进制数值。例如:下面例子中二进制数(1011.01)B
转换为十进制数的结果为(11.25)D
。
\[(1011.01)B = 1×2^3 + 0×2^2 + 1×2^1 + 1×2^0 + 1×2^{-1} + 1×2^{-2} = (11.25)D\]
十 ➜ 二转换
对于十进制数的整数部分,将十进制数除以2
之后,用所得到的商再反复除以2
,直至余数为0
时为止,每次得到的余数即为二进制数整数部分每一位的数值。对于十进制数的小数部分,则可以将该小数乘以2
,直至乘积小数部分全部为0
为止,每次得到乘积的整数部分即为该二进制数小数部分每一位的数值。例如:下面例子中十进制数(213)D
转换为二进制数的结果为(10101010.1101)B
。
1 | // 首先,处理整数部分 |
二 ➜ 十六转换
由于 4 位二进制数拥有\(2^{4} =
16\)个状态,其进位输出正好为逢十六进一,因而只需要将二进制数的整数部分从低位到高位、小数部分从高位到低位每
4
个二进制数分为一组,每组都转换为相应的十六进制值,最后组合起来的的结果即为最终的十六进制数。例如:下面例子中二进制数(010111011110.11010010)B
转换为十六进制数的结果为(5DE.B2)H
。
1 | 0101 1101 1110 . 1101 0010 |
十六 ➜ 二转换
将上面二进制转换十六进制数值的过程逆转过来,即十六进制数的每一位使用等值的
4
位二进制数代替。例如:下面例子十六进制数(C1B.C6)H
转换为二进制数的结果为(110000011011.11000110)B
。
1 | C 1 B . C 6 |
二 ➜ 八转换
转换方式与二转十六进制类似,将二进制数的整数部分从低位到高位、小数部分从高位到低位每
3
个二进制数分为一组,每组都转换为相应的八进制值,组合后即为最后的八进制结果。例如:下面例子二进制数(011110.010111)B
转换为八进制数的结果为(36.27)O
。
1 | 011 110 . 010 111 |
八 ➜ 二转换
同样的,将二转八进制的过程逆转,即八进制数的每一位都使用等值的 4
位二进制数代替。例如:下面例子八进制数(52.43)O
转换为二进制数结果为(101010.100011)B
。
1 | 5 2 . 4 3 |
十六 ➜ 十转换
将十六进制数按照位权进行展开,然后将各项数值按照十进制数相加,最后得到的结果即为十进制数。例如:下面例子十六进制数(2A.7F)H
转换为十进制的结果为(13.625)D
。
\[(2A.7F)H= 2×16^1+10×16^0+7×16^{-1}+15×16^{-2} = (13.625)D\]
十 ➜ 十六转换
一种方法是先将十进制数转换为二进制数,然后再将得到的二进制数转换为等值的十六进制数。另外一种方式则是将十进制数除以16
取余,直到商为0
为止,然后将余数从下往上组合即为转换后的十六进制结果。例如:下面例子十进制数(150)D
转换为十六进制的结果为(96)H
。
1 | 150 ÷ 16 = 144 余 6 |
十进制转八进制的方式也类似,只是此时十进制数需要除以的是数值
8
,然后从下至上进行取余即可。
码制
码制是计算机存储、传输数据所使用的编码规则;其中原码、反码、补码是计算机设备保存数值类型数据的编码方式,ASCII 与 Unicode 属于保存字符类型数据的编码格式;而 BCD 编码、格雷码则主要用于设备之间的数据传输以及转换。
bit 与 Byte
- bit
比特:二进制中的一位,数字信息的最小单位。其中缩略词
kb
(kilobit)表示千比特。 - Byte 字节:1 字节(Byte)= 8
比特(bit)。其中缩略词
KB
(kilobyte)表示千字节。
原码、反码、补码
二进制数前增加一个符号位来标识正负(符号位为0
表示+
正数,符号位是1
表示-
负数),这样的二进制数称为原码。如果原码为正数,则原码与其反码和补码相同。如果原码为负数,则将原码除符号位之外按位取反,所得的新二进制数称为该原码的反码,反码基础上再加1
即为该原码的补码。
真值 | 原码 | 反码 | 补码 | |
---|---|---|---|---|
正数 | +18 ,\(+N\) |
00010010 ,\(0N\) |
00010010 ,\(0N\) |
00010010 ,\(0N\) |
负数 | -18 ,\(-N\) |
10010010 ,\(1N\) |
11101101 ,\((2^n-1)+N\) |
11101110 ,\(2^n+N\) |
字符编码
字符编码(Character encoding)是对于特定字符集内字符的一种编码方式,以便于在计算机中存储或者通过网络进行传输,ASCII 和 Unicode 是目前计算机当中使用较为广泛的字符编码格式。
ASCII 码
ASCII([ˈæski],American Standard Code for Information
Interchange,美国信息交换标准代码)是一套主要用于显示现代美国英语的计算机编码系统,由
7 位二进制编码组成,共有 128
个,其中包括表示数字0
到9
的十个代码、大小写英文字母的
52 个代码、34 个符号代码以及 34 个控制代码,即仅能显示 26
个基本拉丁字母、阿拉伯数字、英式标点符号,具体的编码情况请见下表:
Unicode 码
Unicode(统一字符编码)能够对世界上大部分文字系统进行了编码,使得多国文字的处理和呈现更加简单。Unicode
标准至今仍在不断修订,最新版本为 2018 年 6 月 5
日公布的11.0.0
。Unicode 通常使用 2 个字节(即 16
个位)来表示一个字符,并且能够完整兼容 ASCII
码(高位补0
即可)。
二-十进制编码
二-十进制编码(BCD,Binary-Coded
Decimal)是一种十进制数字的编码格式,十进制数 0 至 9
拥有十个状态,至少需要 4 位二进制代码来表示(4
位二进制代码共有十六种状态,即从0000
到1111
),具体取这二进制当中的哪十种状态与
0 至 9 的十进制数对应,常用的有如下几种编码方式:
- 8421 码:最为常用的一种BCD
码,各位的权值分别为
8
-4
-2
-1
。 - 余 3 码:由 8421
码的每个编码组加
3
(0011
)形成,常用于 BCD 码运算电路。 - 2421
码:有权,从高位到低位的权值分别为
2
-4
-2
-1
,其0
和9
、1
和8
、2
和7
、3
和6
、4
和5
互为反码。 - 5211
码:有权,从高位到低位的权值分别为
5
-2
-1
-1
,5211 码每一位的权与 8421 码十进制计数器 4 个触发器输出脉冲的分频比相对应,这对于某些数字电路的设计非常有用。 - 余 3
循环码:位权可变,每一位的
1
在不同代码中代表不同的值,主要特点是两个代码之间仅有一位的状态不同。
十进数 | 8421 码 | 余 3 码 | 2421 码 | 5211 码 | 余 3 循环码 |
---|---|---|---|---|---|
位权 | 8 4 2 1 |
--------- | 2 4 2 1 |
5 2 1 1 |
--------- |
0 |
0 0 0 0 |
0 0 1 1 |
0 0 0 0 |
0 0 0 0 |
0 0 1 0 |
1 |
0 0 0 1 |
0 1 0 0 |
0 0 0 1 |
0 0 0 1 |
0 1 1 0 |
2 |
0 0 1 0 |
0 1 0 1 |
0 0 1 0 |
0 1 0 0 |
0 1 1 1 |
3 |
0 0 1 1 |
0 1 1 0 |
0 0 1 1 |
0 1 0 1 |
0 1 0 1 |
4 |
0 1 0 0 |
0 1 1 1 |
0 1 0 0 |
0 1 1 1 |
0 1 0 0 |
5 |
0 1 0 1 |
1 0 0 0 |
1 0 1 1 |
1 0 0 0 |
1 1 0 0 |
6 |
0 1 1 0 |
1 0 0 1 |
1 1 0 0 |
1 0 0 1 |
1 1 0 1 |
7 |
0 1 1 1 |
1 0 1 0 |
1 1 0 1 |
1 1 0 0 |
1 1 1 1 |
8 |
1 0 0 0 |
1 0 1 1 |
1 1 1 0 |
1 1 0 1 |
1 1 1 0 |
9 |
1 0 0 1 |
1 1 0 0 |
1 1 1 1 |
1 1 1 1 |
1 0 1 0 |
BCD 码的优点在于格式转换容易,十进制数值表达精度较高;缺点是增加了电路进行算术运算的复杂度,并且存储效率较低。
格雷码
格雷码(Gray
Code)又称为循环码,属于可靠性编码,是一种错误最小化的编码方式。早期主要用于通信,目前主要用于模数转换。格雷码的优点在于编码顺序变化,不会因为个别位的瞬态变化而导致信号出错。例如,下面表格中第
4 行的二进制代码0011
转换为第 5
行的0100
时,如果最右边一位的状态变化慢于其它两位,则会在瞬间出现一个0101
的中间状态,从而影响电路和信号的正常工作。但是如果改用第
4 行的格雷码0010
向第 5
行的0110
转换,由于发生变化的只有一位,因此并不会产生类似的中间状态,进而保证电路的正常工作以及信号的完整性。
编码顺序 | 二进制代码 | 格雷码 |
---|---|---|
0 |
0 0 0 0 |
0 0 0 0 |
1 |
0 0 0 1 |
0 0 0 1 |
2 |
0 0 1 0 |
0 0 1 1 |
3 |
0 0 1 1 |
0 0 1 0 |
4 |
0 1 0 0 |
0 1 1 0 |
5 |
0 1 0 1 |
0 1 1 1 |
6 |
0 1 1 0 |
0 1 0 1 |
7 |
0 1 1 1 |
0 1 0 0 |
8 |
1 0 0 0 |
1 1 0 0 |
9 |
1 0 0 1 |
1 1 0 1 |
10 |
1 0 1 0 |
1 1 1 1 |
11 |
1 0 1 1 |
1 1 1 0 |
12 |
1 1 0 0 |
1 0 1 0 |
13 |
1 1 0 1 |
1 0 1 1 |
14 |
1 1 1 0 |
1 0 0 1 |
15 |
1 1 1 1 |
1 0 0 0 |
奇偶校验位
奇偶校验位(parity
bit)用来表达一组二进制编码中0
或1
的个数是奇数还是偶数,是一种简单有效的错误检测方式。
逻辑门
逻辑门是大规模数字集成电路的基本构成单元,主要由晶体管组成,通过输入高、低电平得到相应的电平结果,从而实现逻辑运算。逻辑门常用的表示法有ANSI/IEEE(美国国家标准协会/电机电子工程师学会)和IEC(国际电工委员会)两种,如下面表格所示:
名称 | 逻辑代数 | ANSI/IEEE | IEC | 真值表 |
---|---|---|---|---|
AND 与 | \(A \cdot B\) | |||
OR 或 | \(A + B\) | |||
NOT 非 | \(\bar{A}\) | |||
NAND 与非 | \({A \cdot B}\) | |||
NOR 或非 | \({A + B}\) | |||
XOR 异或 | \(A \oplus B\) | |||
XNOR 同或 | \({A \oplus B}\) 或 \({A \odot B}\) | |||
BUF 是 | \(A\) | |||
IMPLY 蕴含 | \(A \to B\) | |||
NIMPLY 非蕴含 | \({A \to B}\) |
数字电路概念
高阻态
高阻抗状态(High impedance)表示电路中的某个节点具有相对电路中其它点更高的阻抗,电路分析时通常将高阻态作为开路理解。即可以将其视为输出/输入电阻极大,极限状态可以认为是悬空(断路)的状态,高阻态通常使用字母Z表示。
三态门
数字电路中的三态逻辑(Three-state
logic)是指其输出既可以是代表0
和1
的高低电平,也可以是其特有的高阻抗状态(相当于隔断状态,电阻极大,类似于开路)。
具有高电平、低电平、高阻态三种状态的元器件称为三态器件,三态器件都通过一个控制使能端
B
来控制整个三态门电路的通断。当使能端高电平有效时,三态器件可以正常的0
或1
输出,当使能端低电平无效时,三态电路将会输出高阻态。
输入端 A | 使能端 B | 输出端 C |
---|---|---|
0 |
1 |
0 |
1 |
1 |
1 |
X |
0 |
Z |
CMOS 与 TTL 电平
TTL 电路的工作电平称为TTL 电平,CMOS 电路的工作电平称为CMOS 电平。TTL 和 CMOS 是目前最主要的两种逻辑门集成电路,TTL 电路是电流控制器件,而 CMOS 电路是电压控制器件。TTL 速度较快,CMOS 速度慢但省电成本更低。但是近几年伴随 CMOS 技术的进步,其速度已经逐步超越 TTL。相对而言,TTL 目前发展比较缓慢,主要用于制作一些简单的数字电路。
- 互补金属氧化物半导体(CMOS,Complementary
Metal-Oxide-Semiconductor)是电压控制的一种放大器件,是组成 CMOS
数字集成电路的基本单元,生产工艺是在硅质晶圆上制作 NMOS(n-type
MOSFET)和 PMOS(p-type
MOSFET)基本元件,是硅芯片制作的主流技术。TTL
电平标准为输出(
低<0.8V,高>2.4V
)、输入(低<1.2V,高>2.0V
),输入低于 1.2V 为低电平,高于 2.0V 为高电平,输入低电平时噪声容限为(0.8-0)/2=0.4V,高电平时噪声容限为(5-2.4)/2=1.3V。 - 晶体管-晶体管逻辑半导体(TTL,Transistor-Transistor
Logic)主要由电阻器和晶体管组成,最早由德州仪器开发,当前的生产厂家沿用了德州仪器的编码命名规则,比如常用的
74 系列逻辑芯片。CMOS
电平标准为输出(
低<0.1×Vcc,高>0.9×Vcc
)、输入(低<0.3×Vcc,高>0.7×Vcc
),因为 CMOS 电源通常采用 12V,则输入低于 3.6V 为低电平,噪声容限为 1.8V;高于 3.5V 为高电平,噪声容限高为 1.8V,相比 TTL 噪声容限更高。
组合/时序逻辑电路
- 组合逻辑电路(Combinational Logic
Circuit),其任一时刻的稳态输出仅与该时刻输入的变量取值有关,而与该时刻之前输入的变量取值无关。组合电路主要由各种逻辑门(
半加器
、全加器
、半减器
、全减器
、数据选择器
、数据分配器
、编码器
、译码器
)组成,电路中没有记忆元件和反馈线。 - 时序逻辑电路(Sequential Logic
Circuit)任意时刻的稳态输出不仅取决于当前输入,还与前一时刻输入的状态有关,换而言之,时序逻辑电路必须拥有特定的储存元件来保存前一次的输入状态。因此,时序逻辑电路除包含有组合逻辑电路以外,还必须含拥有存储信息能力的电路(
触发器
、寄存器
、计数器
)。
微控制器技术
GPIO
通用输入输出(General-purpose
input/output),功能类似于 8051 单片机的 P0 到 P3
口,引脚输出的高低电平可由开发人员读写相应寄存器进行控制。该接口有时也称为总线扩展器,当开发板接口不够用时,可以通过转接板将其扩展为I²C
、SPI
等其它串行接口。
总线
嵌入式微处理器通常是根据时间片串行处理任务,因此对于外围 IO 设备的访问也是串行的(即单一时间内处理器只能访问一个外设)。
总线(Bus)是嵌入式微处理器连接外围 IO
设备的一条公共信号线,外围 IO
设备之间通过地址进行区分,因此总线又分为数据总线(Data
Bus)、地址总线(Address Bus)、控制总线(Control
Bus)。通常情况下,个人电脑 PC 的三类总线是分开的,但是 51
系列单片机复用了地址总线与数据总线(总线某些时刻的信号表示数据而另一些时刻表示地址)。总线带宽是指单位时间内可以传输的数据总量,等于总线位宽与工作频率的乘积。例如
64 位 800MHz
的前端总线,其数据传输率等于64bit × 800MHz ÷ 8Byte = 6.4GB/s
。
总线通常具有如下两种数据传输方式:
- 并行通信:各数据位在多条线上以字或字节为单位同时进行传输,优点是速度快,缺点是通信线路较多因而成本较高,不宜进行远距离传输。常见的并行总线有:
VGA
、DVI
、HDMI
。 - 串行通信:数据依次逐位在一条数据线上进行传递,每一位数据占据一个固定的时间长度,优点是适宜远距离通信,缺点是传输效率相对较低。常见的串行总线有:
I²C
、SPI
、USB
、SATA
。
串行通信的数据传输方式分为同步
、异步
两种:
- 同步:连续串行传送数据的通信方式,每次只传送一帧信息,每帧信息包含有
同步字符
、数据字符
、校验字符
。其中同步字符
位于帧开头,用于确认数据字符的开始;数据字符在同步字符之后,个数没有限制,由所需传输的数据块长度来决定;校验字符通常为 1 到 2 个,用于接收端对接收到的字符序列进行正确性校验。同步通信要求发送时钟和接收时钟保持严格的同步。 - 异步:数据逐帧进行传输,工作时钟相互独立,需要保证双方具有相同的波特率。帧与帧之间的时间间隔任意,间隙为高电平。异步通信的每帧数据都拥有固定格式,双方按照即定格式发送和接收,硬件结构比同步通信简单,还能利用校验位检测错误,嵌入式微处理器中广泛采用异步通信方式。
串行通信的数据传输方向分为单双工
、半双工
、全双工
三种:
- 单双工:数据只能由 A 发送至 B;
- 半双工:A 和 B 之间能够互相发送,但是不能在两个方向同时传送,每次只能一个设备发送另一个设备接收;
- 全双工:允许 AB 双方同时进行发送和接收。
波特率用来代表串行通信的传输速率,代表串口通信过程中二进制数据位的速率,即每发送一位二进制数据的持续时间。
I²C
集成电路总线(Inter-Integrated
Circuit),是由 PHILIPS
公司开发的两线式、多主从架构的同步串行通信总线,I²C
总线硬件上由时钟总线(SCL)和数据总线(SDA)两条线构成,SCL
时钟线负责收发双方的时钟节拍,SDA 数据线则负责传输数据。Linux 已经将 I²C
总线列入其内核模块的支持,可以通过/usr/include/linux/i2c.h
查找其说明。
I²C 主要用于板内通信,例如微处理器与外围芯片的通信。
UART
通用异步收发传输器(Universal Asynchronous
Receiver/Transmitter)是异步串行通信接口的总称,包括RS232
、RS449
、RS423
、RS422
、RS485
等接口标准规范和总线标准规范。台式电脑串行接口默认采用RS232
规范,笔记本上可以通过
USB 转串口工具进行代替。串口通信时,收发双方必须保持相同的波特率。
51
系列单片机提供P3.0
引脚(RXD,串行数据接收引脚)和P3.1
引脚(TXD,串行数据发送引脚)进行
UART 串行通信,下图当中通过 2 块 MCU 的 RXD 和 TXD
对应连接实现了相互之间的通信。
UART 通常用于板间设备间的通信,例如单片机与电脑或者设备与设备之间。
SPI
串行外设接口(Serial Peripheral Interface Bus),是一种应用于单片机系统中的全双工同步串行通信接口规范,类似于 I²C 总线。该接口首先由 Motorola 开发,然后发展为行业规范,典型应用包括 SD 卡和液晶显示屏。 SPI 设备之间使用全双工模式通信,包含一个主机和多个从机。主机产生待读写的帧数据,多个从机通过一条片选线路来决定哪个设备来响应主机的请求,标准 SPI 由 4 根连接导线组成:
- SCLK(Serial Clock):时钟信号,由主机发出,与 I²C 总线的 SCL 功能类似。
- MOSI(Master Output,Slave Input):主机向从机发送指令和数据的通道。
- MISO(Master Input,Slave Output):主机读取从机状态和数据的通道。
- SS(Slave Selected):从设备片选使能信号,通常低电位有效。如果从设备低电位有效,拉低该引脚从设备就会被选中。
某些场景下,可以将标准 SPI 剪裁至2 线或3 线进行通信,例如主机只向从机发送数据但不需要从机回复数据的时候可以省略 MISO,或者系统只拥有一个主机一个从机的时候,从机的片选可以固定为使能状态,则 SSEL 可以取消。
时钟/机器/指令周期
时钟周期:时序中最小的时间单位,计算的方法是1/时钟源频率
,例如采用12MHz
晶振的
8051 单片机系统,其时钟周期为1/12
秒。
机器周期:单片机系统完成一个操作的最小时间单位,主要针对汇编语言而言,汇编语言程序每条语句的执行时间总是机器周期的整数倍。C
语言程序语句执行时间并不确定,只能通过开发手册提供的公式进行计算;例如标准
8051
单片机架构1
个机器周期等于12
个时钟周期,即12*(1/12)
。对于其它运行速度更快的单片机系统,1
个机器周期可能等于1
个或4
个时钟周期。
指令周期:时序中的最大时间单位,是指取出一条指令并分析执行的时间,一般由若干个机器周期组成。传统
8051
单片机的指令周期是单周期指令,即指令周期 = 机器周期
,目前新推出的单片机已经不分频并且保持单指令周期,即指令周期 = 机器周期 = 时钟周期
。
时序
嵌入式微处理器的时序是指执行指令时所发出控制信号的时间序列,本质是一系列具有时间顺序的脉冲信号。CPU 发出的时序用于控制片内资源,也用于控制片外的存储器以及 I/O 端口,后者对于硬件电路分析极为重要,了解 IC 芯片的操作时序是嵌入式编程的一项重要工作内容。
片选
- 总线元器件的片选:嵌入式系统中许多元器件都挂载在一条总线上,如果需要对指定的元器件进行访问,就需要一个使能信号来告知元器件该信号是传递给哪个的。这个信号就叫做片选信号CS(Chip Select)、CE(Chip Enable)、SS(Slave Select)。数字电路当中,开路输入管脚通常呈现为高电平,因此片选信号多数情况下是一个低电平。
- 存储芯片的片选:存储器往往要是由一定数量的芯片构成,微处理器要实现对存储单元的访问,首先要选择存储芯片,即进行片选;然后再从选中的存储芯片依据地址码选中相应存储单元进行数据的存取,这称为字选。片内的字选是由 CPU 送出的 N 条低位地址线完成,地址线连接到全部存储芯片的地址输入端,而片选信号则大多是通过高位地址译码后产生的。
寄存器
寄存器(Register)是中央处理器内部的组成部分,存储速度极快。可用来暂存指令、数据、地址,中央处理器控制部件中包含有指令寄存器
和程序计数器
两类寄存器,中央处理器算术及逻辑部件中包含的寄存器主要是有累加器
。
译码器
译码器(Decoder)是一种多输入多输出的组合逻辑电路,负责将二进制代码翻译为特定的逻辑电平。译码器主要分为通用译码器(较少输入变为较多输出,例如\(n→2^n\)线译码器和 8421BCD 译码器)、数字显示译码器(将二进制数转换成对应的七段码,用于驱动 LED 或 LCD)两大类。
缓冲器
缓冲寄存器(Buffer),分为输入和输出两种类型,输入缓冲寄存器的作用是暂时存放外设发送过来的数据,便于嵌入式处理器取用;输出缓冲寄存器则暂时存放处理器发送给外设的数据。缓冲寄存器可以协调并缓冲高速工作的 CPU 与慢速工作的 IO 外设,以实现数据传送的同步。因为缓冲器直接挂载至数据总线,因而必须具备三态输出功能。
锁存器
锁存器(Latch)可以将信号暂时保存并维持特定的电平状态,从而能够去记录二进制数字信号0
和1
。4
位锁存器可以存储4Byte
数据,8
位锁存器可以存储8Byte
数据。
触发器
触发器(Flip-flop)是一个拥有记忆功能并且具备 2
个稳定状态(0
和1
)的信息存储器件,是构成多种时序电路的基本逻辑单元。数字电路中的存储单元常常需要在同一时刻进行协同工作,因此每个存储单元都使用时钟脉冲(CLK)作为控制信号,只有其才能触发电路开始工作并根据输入信号进行相应输出,这种时钟信号触发工作的存储单元电路即触发器。而上面描述的锁存器,是不需要时钟信号进行控制的。
比较器
比较器(Comparator)是通过比较两个输入端的电流或电压的大小,在输出端输出不同电压结果的电子元件。常用于模数转换电路中,可以将比较器理解为一个只有 1 位的 ADC 模/数转换器。
原理图常用缩写
下面的表格列出了电路原理图当中常用的英文缩写:
英文缩写 | 英文缩写 | 英文缩写 |
---|---|---|
CS:Chip Select ,片选 |
RST:Reset ,重启 |
TP:Touch Panel ,触摸屏 |
INT:Interrupt ,中断 |
PD:Power Down ,断电 |
CLK:Clock ,时钟 |
CTRL:Control ,控制 |
SW:Switch ,开关 |
PWM:Pulse Width Modulation ,脉冲宽度调制 |
FB:Feedback ,反馈 |
A/D:Analog/Digital ,模拟和数字的 |
D:DATA ,数据 |
A:Address ,地址线 |
TX/RX:Transmit/Receive ,发送和接收 |
P/N:Positive/Negative ,正和负 |
L/R:Left/Right ,常用于音频线区分左右 |
BB:Baseband ,基带处理器 |
P:Pin ,引脚 |
BAT:Battery ,电池 |
CHG:Charge ,充电 |
CAM:Camera ,摄像头 |
常用电路符号
线规
线规是导线截面尺寸的规范,中国采用的是公制线规,目前国际上通用的线规有 AWG、SWG、BWG:
- 美制线规(AWG,American Wire
Gauge):是一种区分导线直径的标准,也被称为
Brown & Sharpe 线规,这种标准化线规于
1857
年开始在美国使用,单位AWG
前面的数值(例如:24AWG
、26AWG
)表示的是导线形成最后直径前所要经过的孔的数量,数值越大导线经过的孔就越多,导线的直径也就越小; - 标准线规(SWG,Standard Wire Guage):也称为英制线规,属于电线电缆行业的标准;
- 伯明翰线规(BWG,Birmingham Wire Gauge):指的是材料的厚度或者线径;
无线通信术语
- 频谱:频谱是频率谱密度的简称,是频率的分布曲线;
- 时域:描述的是信号与时间的关系;
- 频域:描述的是信号与频率的关系;
- 带宽:通过信号的频谱图可以观察到其所包含的频率成分,将信号所包含谐波的最高与最低频率之差,即该信号所拥有的频率范围;
- 基带:由信源所发射的未经调制的原始信号,所固有的频率带宽,称为基本频带,简称为基带;
- 频带:对基带信号进行调制之后所占用的频率带宽;
- 载波:是一种在频率、幅度、相位方面被调制,以用于传输数据的电磁波,单位为赫兹
Hz
; - 信道:信号传输的通道;
- 调制:将各种
数字基带信号
转换成适于信道传输的数字调制信号
; - 解调:在接收端将收到的
数字频带信号
还原为数字基带信号
; - 扩频:将传输信号的频谱打散到较其原始带宽更宽的一种通信技术,防止干扰与窃听;
- 跳频:是指用伪随机码序列进行频移键控,使载波频率不断跳变而扩展频谱的一种方法;
注意:无线信号的频率越低,穿透能力越强;
模拟与数字电子技术入门读物