数字电子技术:速成包

公式表、每个专题的关键方法步骤和 6 道练习题,完整解答附在最后。

新题目返回课程

在打印窗口中选择“另存为 PDF”,即可在设备上保存一份副本。

1公式与方法

数制

位权
二进制 2k,八进制 8k,十六进制 16k
转为十进制
Σ dk·bk
从十进制转换
除以基数,余数从下往上读
十六进制 ↔ 二进制
一位十六进制数 = 4 位二进制
二进制补码
按位取反后加 1

数字逻辑:门电路、卡诺图与触发器

基本逻辑门
A·B, A + B, A′, (A·B)′, (A + B)′, A ⊕ B
布尔规则
X + X′ = 1, X·X′ = 0, X + XY = X, XY + XY′ = X
德摩根律
(X·Y)′ = X′ + Y′, (X + Y)′ = X′·Y′
卡诺图的顺序
00, 01, 11, 10 (Gray code)
由 2ᵏ 个格子组成的圈
消去 k 个变量
4 选 1 多路选择器
F = A′B′I0 + A′BI1 + AB′I2 + ABI3
触发器
D: Q⁺ = D, T: Q⁺ = T ⊕ Q, JK: Q⁺ = JQ′ + K′Q
计数器
n 位:2ⁿ 个状态; 模 N:满足 2ⁿ ≥ N 的最小 n; fout = fclk/N
行波计数器
fmax = 1/(n·tpd)
环形计数器与约翰逊计数器
n 个和 2n 个状态

方法

  1. 对于电路,从输入到输出一个门一个门地分析,并在每根线上写出值;或者写出它的表达式并填写真值表。
  2. 化简时,把 1(以及标为 X 的无关项)填入行列按格雷码 00, 01, 11, 10 排列的卡诺图。
  3. 用尽可能少而大的圈(由 1、2、4、8 或 16 个格子组成)覆盖所有 1,可以绕过边界;每个圈对应一个乘积项,由保持不变的变量构成。求 POS 形式时圈 0。
  4. 对于触发器和计数器,在每个有效时钟边沿读取输入,写出每个边沿之后的状态,并记住 n 位计数器在 2ⁿ 个状态之后回绕。

数据采集与采样

奈奎斯特准则
fs > 2·fmax, fN = fs/2
混叠频率
fa = |f − k·fs|, k = round(f/fs)
步长
1 LSB = VFSR/2ᴺ
量化误差(四舍五入)
±½ LSB
截断式 ADC 码值
D = ⌊Vin/LSB⌋
分辨率 r 所需的位数
2ᴺ ≥ span/r
理想 SQNR,满量程正弦波
SQNR = 6.02·N + 1.76 dB
数据速率
通道数 × fs × N 比特/秒
多路复用 ADC
fs = 1/(n·(tc + tset))
UART
Tb = 1/波特率;8N1 = 每字节 10 位;字节/秒 = 波特率/每帧位数
波特率分频器
baud = fclk/(16·D)

方法

  1. 先写出已知量:采样率、信号频率、位数、输入量程、波特率。
  2. 采样类题目,把每个频率与 fs/2 比较;更高的频率会出现在 fa = |f − k·fs|,其中取最接近的 fs 整数倍。
  3. 分辨率类题目,求 1 LSB = VFSR/2ᴺ,或求满足 2ᴺ ≥ 量程/分辨率 的最小 N。
  4. 数据速率和 UART 链路类题目,要数清所有发送的内容:通道数、每秒采样数、每个采样的位数或整字节数,以及每帧的起始位、校验位和停止位。

2练习题

1.数制中等
8 位补码?−128?64?32?16?8?4?2?1

把 −28 写成 8 位补码模式。再把该模式当作无符号二进制数读出:它的十进制值 U 是多少?

N = −288 bit
U =
2.数制困难
点击各位来设置012806403201608040201

把各位设置为 0110 1000 OR 1101 0011 的 8 位结果。该结果的十进制值 R 是多少?

0110 1000OR1101 0011
R =
3.数字逻辑:门电路、卡诺图与触发器中等
ABCD000111100001111010010302041507061120131151140809011110

用卡诺图求 F(A, B, C, D) = Σm(0, 5, 10, 12, 14, 15) 的最简积之和 (SOP) 形式。它总共包含多少个文字 L(带撇的变量算一个文字)?

F(A, B, C, D) = Σm(0, 5, 10, 12, 14, 15)
L =
4.数字逻辑:门电路、卡诺图与触发器困难
CLKD12345678

一个上升沿触发的 D 触发器从 Q = 0 开始,接收到所示的输入。点选 Q 第一次从 1 回到 0 的时钟边沿。

Q₀ = 0D
  1. 1时钟边沿 1
  2. 2时钟边沿 2
  3. 3时钟边沿 3
  4. 4时钟边沿 4
  5. 5时钟边沿 5
  6. 6时钟边沿 6
  7. 7时钟边沿 7
  8. 8时钟边沿 8
5.数据采集与采样中等
Vin​N = 103.3 V2ᴺ − 101 LSB0.665 V?

一个输入量程为 0 到 3.3 V 的 10 位 ADC 采用截断:其输出码为 ⌊Vin/LSB⌋,其中 1 LSB = VFSR/2ᴺ。求输入 0.665 V 时的十进制输出码 D。

N = 10VFSR = 3.3 VVin = 0.665 V
D =
6.数据采集与采样困难
SD0​D1​D2​D3​D4​D5​D6​D7​PTb​11·Tb​38400 Bd, 8E1

一个 10 位 ADC 通过 UART 以 38400 波特、8E1 格式(起始位、8 个数据位、偶校验、1 个停止位)发送每个采样点。每个采样点以 2 个整字节发送,且链路一直处于忙碌状态。求能无混叠采样的最高信号频率 fmax,单位 Hz。

baud = 38400 BdN = 108E1
fmax = Hz

3溶液

1.数制

答案: U = 228

位置计数制:每个数位的值等于该数字乘以基数的某次幂。二进制各位的权为 1、2、4、8、16、……;十六进制为 1、16、256、……,A–F 代表 10–15。在 8 位补码中,最左边一位的权是 −128 而不是 +128,负数就是这样存储的。

取反加一

28 = 0001 1100
取反后: 1110 0011
+1 → 1110 0100

按无符号数读取

1110 0100₂ = 256 − 28 = 228

答案

U = 228
2.数制

答案: R = 251

设置比特位:每一位对应 2 的一个幂(128、64、…、1)。一个十六进制数字恰好是四位,在 8 位补码中最左边的位权重为 −128。按位运算对每个位位置分别进行。

逐位计算

OR 在至少有一位为 1 时得 1。

0110 1000
OR 1101 0011
= 1111 1011

结果的值

1111 1011₂ = 251

答案

R = 251
3.数字逻辑:门电路、卡诺图与触发器

答案: L = 17

卡诺图:各格按格雷码(00, 01, 11, 10)排列,所以相邻的格子(包括跨越边界的格子)恰好只有一个变量不同。把 1 圈成由 1、2、4、8 或 16 个格子组成的矩形,圈尽可能大、尽可能少,直到每个 1 都被覆盖。每个圈对应一个乘积项:圈内保持不变的变量。由 2ᵏ 个格子组成的圈会消去 k 个变量。无关项 (X) 可用来使圈变大,但不必被覆盖。改为圈 0 则得到最简 POS 形式。

ABCD000111100001111010010302041507061120131151140809011110

圈 1

每个圈都是由 2ᵏ 个格子组成的矩形;边上的格子与对边上的格子相邻。

ACD′
ABD′
ABC
A′B′C′D′
A′BC′D

最简 SOP 形式

F = ACD′ + ABD′ + ABC + A′B′C′D′ + A′BC′D
L = 17

答案

L = 17
4.数字逻辑:门电路、卡诺图与触发器

答案: 时钟边沿 7

触发器与计数器:触发器只在时钟的有效边沿改变。D 复制其输入 (Q⁺ = D);T 在 T = 1 时翻转;JK 在 00 时保持,01 时复位,10 时置位,11 时翻转。n 位二进制计数器有 2ⁿ 个状态,按模 2ⁿ 计数;模 N 计数器依次计 0, 1, …, N − 1 然后回到 0,需要满足 2ⁿ ≥ N 的最小 n 个触发器。行波计数器的每一级使频率减半,所以模 N 计数器的最后一级输出频率为 fclk/N。n 个触发器的约翰逊计数器有 2n 个状态,环形计数器有 n 个。

每个边沿之后的 Q

D 触发器在每个上升沿复制 D:Q⁺ = D。

1: D = 0 → Q = 0
2: D = 1 → Q = 1
3: D = 1 → Q = 1
4: D = 1 → Q = 1
5: D = 1 → Q = 1
6: D = 1 → Q = 1
7: D = 0 → Q = 0
8: D = 0 → Q = 0

第一次从 1 变为 0

时钟边沿 7

答案

时钟边沿 7
5.数据采集与采样

答案: D = 206

ADC 分辨率:N 位转换器把满量程 VFSR 分成 2ᴺ 个码,从 0 到 2ᴺ − 1。一个台阶为 1 LSB = VFSR/2ᴺ:转换器能显示的最小变化。截断式 ADC 给出码 ⌊Vin/LSB⌋;四舍五入式 ADC 与真实值的偏差永远不超过 ½ LSB,即它的量化误差。每增加一位,LSB 减半,对满量程正弦波而言,理想信号量化噪声比 SQNR = 6.02·N + 1.76 dB 约增加 6 dB。要在量程内达到分辨率 r,选取满足 2ᴺ ≥ 量程/r 的最小 N。

步长

1 LSB = 3.3/210 = 3.223 mV

码值

Vin/LSB = 665/3.223 = 206.4
码值 = ⌊206.4⌋ = 206

答案

D = 206

用二进制表示是 0011001110。

6.数据采集与采样

答案: fmax = 872.7 Hz

UART:异步串行链路把每个字节作为一帧发送:一个起始位(低电平)、若干数据位、一个可选的校验位以及一个或两个停止位(高电平)。波特率是每秒的位数,所以一位持续 Tb = 1/波特率,n 位的一帧持续 n/波特率。常见的 8N1 格式每个字节占 10 位。波特率发生器对时钟分频:波特率 = fclk/(16·D),其中 D 为整数,因此实际波特率与目标值略有差别;误差在约 2 % 以内通常可以接受。

线路上每个采样点的位数

2·11 = 22 bit

最高采样率

fs,max = 38400/22 = 1745 Hz

奈奎斯特极限

fmax = 1745/2 = 872.7 Hz

答案

fmax = 872.7 Hz

ExamProblems · examproblems.com/courses/digital-electronics