数字电子重点难点提要
基于阎石
主编的《数字电子技术基础(第六版)
》。
一、数制和码制
- 有符号整数与无符号整数:
- 有符号整数的最高位是符号位。
- 有符号整数的移位叫算术移位(
Arithmetic Shift
)。 - 无符号整数的移位叫逻辑移位(
Logical Shift
)。 - 注意:
- 算术右移时,符号位不变,且空缺高位补符号位。
其余
3
种移位均是空缺位补0
,且允许符号位改变。 - 算术右移的结果值会向下取整(
Floor Division
),并且注意是数轴方向的向下, 而不是绝对值的向下。 - 整数除法使用的规则是“
向零舍入
(Truncation towards Zero
)”, 所以负
数的除法不能使用算术右移来代替。
- 算术右移时,符号位不变,且空缺高位补符号位。
其余
- 原码、反码、补码的关系:
- 正整数的三码是一样的:
- 最高位恒为
0
。 N
位有符号二进制数能表示的最大值为2^(N-1) - 1
,最小值为-2^(N-1)
。N
位无符号二进制数能表示的最大值为2^N - 1
,最小值为0
。
- 最高位恒为
- 负整数的三码不一样:
- 最高位恒为
1
,即在三码的互相转换时保持不变。 - 反码 = 原码逐位取反
- 补码的本质是取模运算(
Modulo
),其与反码的关系为:补码 = 反码 + 1
- 补码再按相同的操作,则可恢复成原码。
- 特别注意:
-1
的原码是两头1
、中间全0
,转换成补码则是全1
。- 符号位除外的全
0
N位二进制数的值为-2^(N-1)
,其补码与原码一样。
- 最高位恒为
- 扩展知识:大部分系统默认使用补码来表示整数,从
C23
和C++20
标准开始更是改为强制。
- 正整数的三码是一样的:
- 常用编码:
- 注意
5211
码与触发器输出脉冲分频比的对应关系。 - 注意
格雷
码能避免过渡噪声
的优点。 ASCII
码:American Standard Code for Information Interchange
,美国信息交换标准代码。
- 注意
二、逻辑代数基础
- 逻辑运算的别称:
- 与:相乘
- 或:相加
- 非:取反、反相
-
逻辑门的符号表示:需要记忆。
-
真值表:常用于可暴力穷举的场景,或公式法难以运用的场景。
- 基本公式:
- 注意特殊的
分配律
(可用真值表
推导):A + B·C = (A + B)·(A + C)
- 注意反演律(“与”和“或”之间的取反展开):
(A·B)' = A' + B'
(A + B)' = A' · B'
- 注意特殊的
-
若干常用公式:均由基本公式导出,直接使用可带来很大方便。
-
注意
对偶式
的定义,以及对偶定理
的应用。 - 逻辑函数:
2
种标准形式:最小
项之和
、最大
项之积
- 化简:
公式法
为主,卡诺图
和Q-M法
为辅。尤其是Q-M法
, 非常适合使用计算机编程来实现。 - 难点:具有
无关项
的逻辑函数及其化简,以及多输出
函数的化简。 - 实际应用中还需注意根据可购买到的元件来变换逻辑函数, 而不能一味地化成最简式。
三、门电路
-
出现
互补
型电路的原因:一开始的单管串电阻的接法,导通时会在电阻上产生不必要且较大的功耗, 改用另一只管来代替电阻并且让两管互斥通断就能大大降低功耗。 -
MOS管和三极管的基础工作原理可参考模拟电子摘要, 此处只需注意它们的工艺类型和符号表示(场效应管在
P73
,晶体管在P100
)。 CMOS
逻辑门:CMOS
名称的来历:Complementary Metal Oxide Semiconductor
,即互补金属氧化物半导体
, 重点在于“互补”二字——由两管协同工作且互斥通断, 这与单用PMOS
(工艺简单但速度较慢且使用负压电源)或NMOS
(速度快且比PMOS
稳定但功耗远大于CMOS
)的电路有很大的不同。- 反相器(即
非
门):- 在输出特性的分析中,注意应该是
d
极电流随d
-s
间电压变化而变化, 而不是反过来。 - 由于存在极间电容和负载电容,而电容的充放电需要一定的时间,所以输出相对于输入会有延迟,
记住一个近似关系式:
t ≈ RC
- 注意两管同时导通对应的阈值电压和瞬间尖峰电流,此时产生的功耗称为
瞬时导通功耗
, 它与负载电容充放电产生的功耗一起构成动态功耗
。 - 扇出系数:正因为前面所说的电容充放电耗时以及功耗, 导致输出端在动态条件下能接的负载数量有一定的限制,这个限制就叫扇出系数。
- 在输出特性的分析中,注意应该是
- 其他逻辑门:
- 常见的类型包括
或
门、非
门、与非
门、或非
门、与或非
门、异或
门等。 - 由于制作工艺和等效电路比
非
门更复杂,且具有不对称性, 因而在输出高、低电平时的内阻、电压传输特性也会不一样,所以需要加入额外的缓冲器。
- 常见的类型包括
- OD(漏极开路输出)门:
- 需求:为了满足电平转换(例如
3.3V
转5V
)、 吸收大负载电流以及实现“线与”连接(常用于总线)等需求。 - 接法:
- 在输出端加接一个
N
沟道增强型MOS
管。 - 该
MOS
管在使用的时候,必须在d
极接一个上拉电阻。 - 若有多个
OD
门,则它们共享一个上拉电阻。
- 在输出端加接一个
- 其他要点:
- 注意负载电阻的取值范围的求解。
- 需求:为了满足电平转换(例如
- 传输门:
- 需求:
- 与反相器一样,也是基本元件之一,两者可以组成复杂的逻辑电路, 例如异或门、数据选择器、寄存器、计数器等。
- 可作为模拟开关,传输连续变化的模拟电压信号,换用其他的逻辑门则难以实现。
- 接法:
- 两个相向(反相器是上下摆放)的
N
沟道和P
沟道增强型MOS
管。 - 一个的衬底接电源,另一个的衬底接地。
- 两个的
g
极分别接上一对互补控制信号C
和C'
s
极连s
,d
极连d
极,然后引出去,分别用作输入和输出端, 且可以互换。
- 两个相向(反相器是上下摆放)的
- 要点:
- 利用
C
和C'
信号来控制输入和输出端之间处于高阻态(截止)或低内阻(导通)状态。 当然,输入信号也需要处于一定的范围内。
- 利用
- 需求:
- 三态门:
- 目的:
- 实现总线结构(总线可理解为多个模块接到同一路公共的线路上, 而此总线通常是分时复用的)。
- 实现数据的双向传输,这就需要两个方向都接一个三态门,且互斥工作。
- 原理:
- 在原来的各种逻辑门的基础上进行改造,除了已有的输入端,还增加一个使能信号
EN
, 具体的电路结构因目标逻辑门而异,此处不必关心。 EN
既可以是高电平有效,也可以是低电平有效,其中后者的符号表示会有一个小圆圈。- 当
EN
信号有效时,逻辑门正常工作,与普通逻辑门无异。 - 当
EN
信号无效时,逻辑门的输出端的所有管均为截止状态, 对外表现为高阻态(多出的那个状态),这个状态既不是0
也不是1
, 而是相当于输入端与输出端完全隔绝、断开,互相之间没有影响。
- 在原来的各种逻辑门的基础上进行改造,除了已有的输入端,还增加一个使能信号
- 目的:
TTL
逻辑门:即Transistor-Transistor Logic
,三极管-三极管逻辑,分析过程与CMOS
相似, 但需要注意以下要点:- 在模拟电路中,三极管导通时通常工作在线性区,但在数字电路中则应工作在饱和区,
(也有工作在线性区的情况,但此时不叫
TTL
,详见后文)因为此状态下的压降和内阻很小。 - 输出级的电路结构也类似于
CMOS
的互补结构,也是两管互斥通断, 但两管之间还有二极管等额外元件,所以不叫互补,而叫推拉式(或推挽式)输出, 并且这个名称也很形象地反映出不同电平的电流方向。 - 注意三极管脱离深度饱和状态所需的时间较长,这会导致两个现象:
- 输出电平由高转低与由低转高的时间并不一样,不像
CMOS
那样可以合并成一个参数。 - 在状态切换时,截止管的导通必然先于导通管的截止,所以会出现较大的尖峰电流,
在工作频率较高时易产生噪声,必须采取措施进行抑制,这是
TTL
电路应注意的一个点, 相对应地,CMOS
也有一个注意事项,就是输入端通常不能悬空,因其构造原因容易感应电荷, 悬空的话有可能产生高压击穿。
- 输出电平由高转低与由低转高的时间并不一样,不像
- 与
CMOS
电路类似,TTL
也有一种OC
门,即集电极开路输出,使用场景与分析过程也与OD
门类似。 TTL
也有三态门,也与CMOS
的分析类似。
- 在模拟电路中,三极管导通时通常工作在线性区,但在数字电路中则应工作在饱和区,
(也有工作在线性区的情况,但此时不叫
ECL
电路:- 全称是
Emitter Coupled Logic
,发射极耦合逻辑。 - 与
TTL
电路一样,也是使用三极管,但TTL
在导通时工作在深度饱和或临近饱和状态, 目的是为了降低功耗和得到尽可能低的输出低电平,但却增加了传输延迟。ECL
则工作在线性区,所以速度很快,甚至是目前最快(传输延迟在1ns
以内)。 - 优点:
- 速度最快。
- 输出内阻低,带负载能力强。
- 开关噪声低。
- 缺点:
- 功耗大,所以主要用在高速或超高速计算机,以及中、小规模的集成电路。
- 输出电平的稳定性较差,因为线性区易受环境影响,尤其是温度。
- 噪声容限低,抗干扰能力差,因逻辑摆幅(输出高、低电平之差)只有
0.8V
。
- 全称是
Bi-CMOS
逻辑门:- 全称是
Bipolar-CMOS
,双极型CMOS
,即同时使用了三极管和MOS
管。 MOS
管导通电阻较大,导致在负载电流增大时,输出的高电平及低电平均会出现较大偏移, 且CMOS
工艺难以输出大电流,但优点是功耗低、集成度高。- 三极管的导通电阻很低,且开关速度快(因结电容小??),缺点是功耗大,且稳定性不如
MOS
管。 - 将两者结合,逻辑部分采用
CMOS
,输出级则采用三极管,同时获得低功耗和强驱动能力的优点, 主要用于总线接口、驱动器和锁存器等。
- 全称是
四、组合逻辑
-
定义:任何时刻的输出仅仅取决于该时刻的输入,而与历史状态无关。 由此也可推断,这种电路不需要储存(或记忆)单元。
- 典型电路模块:
- 编码器:多线变少线。可分为
普通
编码器和优先
编码器(有选通
输入)。 - 解码器:与编码器相反。常用的有
二进制
译码器、二-十进制
译码器(输入使用的是十六进制BCD
码)、显示
译码器(用于驱动数码管)。 - 数据选择器:注意
选通
(又叫片选、使能等名称)输入即可。 - 加法器:
- 半加器:不考虑来自低位的进位。仅作为最简单的示例来解释原理。
- 全加器:
- 串行进位加法器:最简单,但延时随位数的增加而线性增加。
- 超前进位加法器:利用逻辑函数来分析各级电路的关系, 使得进位信息在运算一开始时就知道,但电路的复杂度会急剧上升。
- 数值比较器。
- 编码器:多线变少线。可分为
-
PLD
:Programmable Logic Device
,可编程逻辑器件。略。 -
HDL
:Hardware Design Language
,硬件描述语言。目前最流行的是Verilog HDL
。略。 竞争
-冒险
现象:- 竞争:两个输入信号同时向相反的逻辑电平跳变。
- 尖峰脉冲:由于两个输入信号的变化不是完全同步,因此输出结果有可能短暂偏离稳态电平, 从外部看来就是一个在低电平稳态中凸起或高电平稳态中凹下的脉冲。
- 由于
竞争
而可能产生尖峰脉冲
的现象,就叫竞争
-冒险
。 注意只是“可能”,而不是“一定”。 - 检查方法:
- 化简逻辑函数:通过限定部分输入条件,若输出端逻辑函数能简化为
Y = A + A'
或Y = AA'
, 则可判定存在竞争
-冒险
现象。注意此法虽然原理简单,但实际中多数电路有多路输入, 并且也有多路跳变,所以操作难度很大。 - 在计算机运行模拟程序:不一定准确。
- 做实验:可作为最终结论,但要注意穷举所有输入可能性。
- 化简逻辑函数:通过限定部分输入条件,若输出端逻辑函数能简化为
- 消除措施:
- 在输出端加滤波电容:优点是简单易行,缺点是增加波形的升降时间(电容充放电时间
t ≈ RC
), 使波形变坏。 - 引入选通脉冲:缺点是该脉冲与输入信号要严格同步,难度较大。
- 修改电路,增加冗余项:缺点是适用范围很有限,有可能只是消除一部分的
竞争
-冒险
现象, 另一部分仍然存在。
- 在输出端加滤波电容:优点是简单易行,缺点是增加波形的升降时间(电容充放电时间
五、半导体储存电路
- 演进路线:
输出端反馈到输入端 增加带时钟的前置级门电路 并联 逻辑门 --------------------> 锁存器 ------------------------------> 触发器 ----------> 寄存器 | | 增加门控管 组成矩阵,并编址、加读写控制 +-------------> SRAM单元 -------------------------------> SRAM DRAM:独特的工艺逻辑,详见后文。 ROM:独特的工艺逻辑,详见后文。
SR
锁存器(Set-Rest Latch
,置位-复位锁存器):- 注意输出端有
2
个:Q
,以及其反相端Q'
,通常使用的是Q
。 Q
又分初态
和次态
,并将其初态
(原来的状态)记为Q
,次态
(新状态)记为Q*
, 所以SR
锁存器的真值表(又叫特性表
)的输入变量有3
个:S
、R
、Q
, 输出变量则为Q*
。S
端为有效电平、R
端为无效电平时,Q*
=1
,表现了S
端的置位功能。S
端为无效电平、R
端为有效电平时,Q*
=0
,表现了R
端的复位功能。S
、R
端均为无效电平时,Q*
=Q
,表现出保存的能力。S
、R
端均为有效电平时,Q*
无法确定,这也是使用SR
锁存器时必须避免的状态。- 使用
或非
门来组成SR
锁存器时,S
、R
的有效电平为1
。 - 使用
与非
门来组成SR
锁存器时,S
、R
的有效电平为0
。并且为了突出低电平有效, 这两个输入端通常记为S'
和R'
。后文如无特殊说明,均基于与非
门进行分析。
- 注意输出端有
- 触发器(
Flip-Flop
,注意要与后文的Trigger
区分开,其实更应该译成翻转器
):SR
触发器:电平
触发方式:增加一个与锁存器相似的前置电路,但该电路无反馈线, 而是加接时钟信号CLK
,仅当CLK
为有效电平时,输入信号才能通过, 所以叫电平触发。脉冲
触发方式:- 电平
SR
+ 电平SR
= 脉冲SR
- 后级时钟 = 前级时钟 + 反相器
- 与边沿触发类似,在一个时钟周期内,输出端也仅改变一次,
但由于是两级触发器且可能在触发沿出现“
S = R = 无效电平
”的保持态, 所以未必能凭触发沿瞬间的输入状态来确定输出状态。 - 后文边沿触发的
D
触发器也是采取两个电平触发器串联的接法, 但由于D
触发器的S
与R
端输入一定互斥, 所以在触发沿瞬间仅凭当时的输入状态就能确定输出状态。 - 此种触发方式的应用场景:待补充。
- 电平
- 特性方程:
Q* = S + R'Q
D
触发器(定型产品):- 为适应单端输入的需求而生。可由
SR
触发器改造而成。 电平
触发方式:将SR
触发器的S
端取反接到R
端即可。边沿
触发方式:- 电平
D
+ 电平D
= 边沿D
- 后级时钟 = 前级时钟 + 反相器
- 电平
- 特性方程:
Q* = D
- 为适应单端输入的需求而生。可由
JK
触发器(定型产品):- 为了消除
S = R = 有效电平
时Q*
的模糊态。 - 将
Q'
作为S
的并行输入、S
重命名为J
,将Q
作为R
的并行输入、R
重命名为K
,则保证在S = R = 有效电平
时Q* = Q'
,即次态一定是初态的翻转。 - 是最灵活的触发器:既可直接当成
SR
触发器使用,也可以将J
、K
连在一起变成T
触发器。 - 特性方程:
Q* = JQ' + K'Q
- 为了消除
T
触发器:- 功能特点:
- 当
T = 1
时,每来一个时钟信号,输出端就翻转一次。 - 当
T = 0
,输出端则保持不变。
- 当
- 特性方程:
Q* = TQ' + T'Q = Q'
- 功能特点:
- 逻辑功能与触发方式的关系:并无固定的对应关系。逻辑功能由特性方程决定, 触发方式则由电路结构决定。前面仅仅是列举了各类触发器其中一两种的电路实现方式, 实际上仍可使用其他的电路结构,亦即是说并非限定某种触发器只能具备固定的触发方式。
- 动态特性:
- 建立时间(
Setup Time
):输入信号应当先于时钟信号CLK
动作沿 到达的时间。 - 保持时间(
Hold Time
):CLK
动作沿 到达后,输入信号仍需保持不变的时间。 - 传输延迟时间(
Propagation Delay Time
):从CLK
动作沿 到达开始, 直至输出端新状态 稳定建立所需的时间。 - 最高时钟频率:需要满足以上三个参数的约束条件。
- 注意:以上参数在理想情况下可定量分析,但在实际中往往是通过实验测定, 给出一定的范围,而非某个确定值。
- 建立时间(
-
寄存器(
Register
):由N
个触发器并联可组成一个N
位寄存器。 SRAM
(Static Random-Access Memory
,静态随机访问储存器):- 储存矩阵:
- 由储存单元组成。
- 每个储存单元由
SR
锁存器和门控管(即模拟开关)组成。 - 由于基于锁存器,所以速度级别与寄存器差不多,但由于需要地址译码, 所以不及寄存器直接相连的速度快。
- 底层工艺通常采用
CMOS
,因其功耗非常小。某些超高速系统会使用双极型晶体管, 速度比CMOS
快(因结电容效应很弱??),但功耗也很大。
- 地址译码器:
行
地址译码器。列
地址译码器。
- 读写控制电路:
I/O
引脚:传输数据。- 片选信号线:控制是否与总线连通(不通则是高阻态)。
- 读写控制线:控制读写方向。
- 储存矩阵:
DRAM
(Dynamic Random-Access Memory
,动态随机访问储存器):- 储存矩阵:
- 由储存单元组成。
- 每个储存单元由一个
MOS
管(控制通断)和一个电容(储存电荷)组成, 亦即利用电容的充放电特性来改变电平值,因此有以下特点:- 电路简单,集成度高,所以容量也比
SRAM
高得多,成本也低得多。 RC
电路延时相对较高,所以速度也比SRAM
慢。- 由于电容不能太大(通常仅为几皮法),且漏电流虽弱却不为零,
因此电荷保存时间有限,需要定期补充(称为刷新或再生),
所以需要增加额外的刷新电路,使物理结构和操作逻辑更加复杂,
还会进一步拖慢速度,导致最终速度比
SRAM
至少慢一两个数量级。
- 电路简单,集成度高,所以容量也比
- 刷新电路:
- 以行为单位,逐行进行刷新。
- 刷新过程是硬件自动进行的,每隔
10ms
左右必须进行一次。 - 刷新过程中,
DRAM
不能进行读和写。
- 其余与
SRAM
类似。
- 储存矩阵:
ROM
(Read-Only Memory
,只读储存器):- 注意不是绝对的只读,而是不能随意地擦除或写入——“不能随意”通常指操作过程较复杂、 耗时较长。
- 核心思想是将每个储存单元的输出接到固定的高电平或低电平即可,
原理上等效于二级管的通断(但实际上不一定使用二极管)。如此一来,
就不需要锁存器或触发器,电路结构大为简化,容量也能做得比
RAM
大得多。 - 结构简析:
- 储存矩阵:利用
字
线与位
线的每一个交叉点
的通断
来表示0
和1
, 常见有以下工艺类型(主要是指储存单元的制作工艺):- 掩膜只读储存器(
Mask ROM
):出厂时就已固化好数据,客户不可修改,且周期长、 制作版图的成本高(但制好的版图可重复使用),所以适用于大批量的定型产品。 - 可编程的只读储存器(
Programmable ROM
):即最初的PROM
,客户可写入一次, 其中一种实现方法是在每一条字
线和位
线上接上一个三极管和熔丝(串在发射极), 将熔丝烧断可保存0
,保持完好则保存1
。 - 可擦除的可编程只读储存器(
Erasable Programmable ROM
):统称为EPROM
, 支持反复多次写入,且有若干实现方法:- 紫外线擦除的可编程只读储存器:即
UVEPROM
。原理略。 - 电信号擦除的可编程只读储存器:即
EEPROM
。原理略。 - 闪存(
Flash
):- 使用
MOS
管作为储存单元,且在栅极
和衬底
之间再增加一个栅极, 叫浮置栅
或浮栅
,原来那个栅极则叫控制栅
。 - 是否向
浮栅
充上电荷,决定MOS
管的通断,亦即0
或1
。 由于是靠储蓄电荷来保存数据,而这些电荷会缓慢泄漏,所以如果长期不通电, 数据可能消失。 浮栅
与源极
之间存在一个面积很小、氧化层极薄的交叠区, 叫隧道区,在电场大到一定程度时可产生隧道效应,释放浮栅
电荷, 以达到擦除数据的效果。- 要产生强电场,可在
源极
接上12V
电压(记为Vss), 并且所有储存单元的源极
都是连在一起的,在实际中可对储存单元进行分区域管理, 以便大大加快擦除速度——这就是擦除操作要以区块为单位的原因。 浮栅
下面的氧化层极薄,且经多次编程后会发生损坏, 这就是闪存有寿命限制的原因。- 目前闪存的读出周期为几十至
200
纳秒,写入一个字节的周期则要10
至50
微秒, 满足不了快速存取要求,再加上有寿命限制,所以只能用作ROM
而不是RAM
。
- 使用
- 紫外线擦除的可编程只读储存器:即
- 掩膜只读储存器(
- 地址译码器:略。
- 输出缓冲区:
- 提高储存器的带负载能力。
- 实现三态控制能力,以便与总线相连。
- 储存矩阵:利用
- 储存器容量的扩展:
- 位扩展:略。
- 字扩展:略。
六、时序逻辑
暂略
七、脉冲波形的生成及整形
- 矩形脉冲的主要参数:
- 周期(T)
- 幅度(Vm)
- 宽度:相邻两个0.5Vm的时间段。
- 占空比:
宽度
与周期
的比值。 - 上升时间:从0.1Vm升至0.9Vm所需的时间。
- 下降时间:从0.9Vm降至0.1Vm所需的时间。
施密特
触发电路(Smitter
Trigger,注意不要译成“触发器”以免和第五章内容混淆):- 特点:
- 产出高电平所需的正向阈值电压与产出低电平所需的负向阈值电压不一样
(注意这两个阈值差的绝对值叫
回差电压
)。 - 电路内部有正反馈,所以输出波形陡峭,非常接近矩形。
- 产出高电平所需的正向阈值电压与产出低电平所需的负向阈值电压不一样
(注意这两个阈值差的绝对值叫
- 电路原理:略。
- 应用场景:
- 波形变换:将边沿变化缓慢的周期性信号(例如正弦信号)转换成边沿陡峭的矩形脉冲。
- 脉冲整形:恢复在传输过程中产生畸变的矩形脉冲,以及消除尖峰噪声。
- 脉冲鉴幅。
- 特点:
- 其余暂略
八、数字信号与模拟信号之间的转换
暂略