数字电子技术:速成包

公式表、每个专题的关键方法步骤和 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 位补码0−12806403201608040201

设置各位,使其以 8 位补码存储 −41。按无符号数读取,该位模式的值 U 是多少?

N = −418 bit
U =
2.数制困难
8 bit1 px1024 px768 pxM = ? KiB

一幅未压缩图像为 1024 × 768 像素,每像素 8 位。它占用多少内存 M(以 KiB 计,1 KiB = 1024 字节)?

1024 × 768 px8 bit/px1 KiB = 1024 B
M = KiB
3.数字逻辑:门电路、卡诺图与触发器中等
MUXC′I0​1I1​C′I2​0I3​ABS1​S0​F

一个 4 选 1 多路选择器的选择输入为 S₁ = A 和 S₀ = B,数据输入分别接 I₀ = C′,I₁ = 1,I₂ = C′,I₃ = 0。在 A、B、C 的 8 种组合中,有多少种使输出 F = 1?求 N。

I₀ = C′I₁ = 1I₂ = C′I₃ = 0
N =
4.数字逻辑:门电路、卡诺图与触发器困难
FFQ0​Q0​FFQ1​Q1​FFQ2​Q2​FFQ3​Q3​CLKMOD-12

模 12 计数器由最少个数的触发器构成。可能的状态中有多少个 U 从未被用到?

N = 12
U =
5.数据采集与采样中等
tTs​ = 1/fs​f = 67.5 kHzfs​ = 50 kHz

一个 67.5 kHz 的正弦波在没有抗混叠滤波器的情况下以 50 kHz 采样。它在采样中出现在哪个频率 fa?以 kHz 给出。

f = 67.5 kHzfs = 50 kHz
fa = kHz
6.数据采集与采样困难
SD0​D1​D2​D3​D4​D5​D6​D7​1/fbaud​4 MHz / (16·D)

一个时钟为 4 MHz 的微控制器把其 UART 波特率设为 fclk/(16·D),其中 D 是四舍五入到最接近值的整数。目标是 38400 波特。求实际波特率的百分比误差(偏快时为正)。

fclk = 4 MHz目标 = 38400 Bd
e = %

3溶液

1.数制

答案: U = 215

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

取反加一

41 = 0010 1001
取反后: 1101 0110
+1 → 1101 0111

按无符号数读取

1101 0111₂ = 256 − 41 = 215

答案

U = 215
2.数制

答案: M = 768 KiB

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

位和字节

1024·768·8 = 6291456 bit = 786432 B

换算为 KiB

786432/1024 = 768 KiB

答案

M = 768 KiB
3.数字逻辑:门电路、卡诺图与触发器

答案: N = 4

多路选择器:2ⁿ 选 1 多路选择器把其数据输入之一传到输出;选择线按二进制数读取,决定选哪一个。对于选择端 S₁S₀ = AB 的 4 选 1 MUX,F = A′B′·I₀ + A′B·I₁ + AB′·I₂ + AB·I₃。把数据输入接到 0、1、C 或 C′,可使 MUX 产生 A、B、C 的任意函数,这是用一块芯片实现逻辑的常用方法。

输出表达式

F = A′B′C′ + A′B + AB′C′

F = 1 的行

ABC = 000, 010, 011, 100
N = 4

答案

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

答案: U = 4

触发器与计数器:触发器只在时钟的有效边沿改变。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 个。

触发器的个数

2ⁿ ≥ 12 → n = 4 (2⁴ = 16)

未使用的状态

U = 16 − 12 = 4

答案

U = 4
5.数据采集与采样

答案: fa = 17.5 kHz

采样:ADC 每秒测量信号 fs 次。根据奈奎斯特–香农定理,只有当 f < fs/2(奈奎斯特频率,也称折叠频率)时,频率 f 才能被正确采集,因此采样率必须超过最高信号频率的两倍。更高的频率不会丢失:它会作为混叠出现在 fa = |f − k·fs|,其中整数 k 使结果落在 0 到 fs/2 之间。采样点无法区分二者,因此必须在 ADC 之前用模拟抗混叠滤波器滤除 fs/2 以上的全部成分。

奈奎斯特频率

fs/2 = 25 kHz < f = 67.5 kHz

最接近的采样率整数倍

k = round(67.5/50) = 1

混叠频率

fa = |67.5 − 1·50| = 17.5 kHz

答案

fa = 17.5 kHz

图中的虚线曲线就是混叠:它恰好通过相同的采样点。

6.数据采集与采样

答案: e = −6.994 %

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

分频系数

D = 4·10⁶/(16·38400) = 6.51 → 7

实际波特率

4·10⁶/(16·7) = 35714 Bd

误差

(35714 − 38400)/38400·100 = −6.994 %

答案

e = −6.994 %

误差超过约 2 % 会使链路不可靠:请选择另一个时钟或波特率。

ExamProblems · examproblems.com/courses/digital-electronics