本章一句话

真实世界的声音、图像和传感器输出通常是模拟信号;数字系统先用 ADC 把它们采样、量化成二进制,再由 DSP 运算处理,最后用 DAC 和重建滤波器还原为平滑的模拟信号。

🧭 初学者导航

  1. 模拟量如何变成数字量:采样、奈奎斯特频率、抗混叠和量化。
  2. 四类 ADC:Flash、双积分、逐次逼近和Σ-Δ。
  3. 数字量如何变回模拟量:二进制加权、R/2R 梯形网络及误差。
  4. DSP 信号处理链:实时处理系统的完整框图与典型应用。
  5. DSP 芯片内部:Harvard 架构、流水线和 TMS320C6000 系列。

模拟量如何变成数字量

采样:把连续波形“拍照”

采样是在时间轴上取足够多的离散值。每个样本表示该瞬间的幅度;样本越密,越能还原波形。

图 12-1 采样过程示意

**图 12-1 采样过程示意。**采样脉冲在各时刻“读取”模拟波形,输出一串幅度对应的离散脉冲。

现实波形通常包含基波和谐波。采样前先通过低通抗混叠滤波器,去掉过高频率的谐波,否则高频成分会伪装成低频信号。

采样定理与奈奎斯特频率

若模拟信号最高频率为 ,采样频率必须满足:

最高可被指定采样频率正确表示的信号频率称为奈奎斯特频率,等于采样频率的一半。工程上通常留出裕量,让采样频率明显高于两倍最高信号频率。

记忆口诀

“最高频率乘二是最低采样率”。只要采样率不足,就可能发生混叠。

“弹跳球”类比

只拍一张照片,只知道球此刻离地,无法判断上升、下降或弹跳高度;拍两张得到的信息仍很少;拍四张,运动轨迹开始显现。采样也是如此:样本越多,波形轮廓越清楚。

图 12-2(a) 单次采样的弹跳球

图 12-2(c) 四次采样的弹跳球

图 12-2 采样定理的弹跳球类比。(a) 一个样本几乎无法判断轨迹;(c) 四个等间隔样本已能勾勒出大致路径。

为什么一定要滤波:混叠

若模拟信号含有高于奈奎斯特频率的分量,采样频谱会彼此重叠,高频分量折叠成错误的低频分量,这种错误信号称为混叠(aliasing)。混叠一旦产生,后级数字处理无法可靠地把它从有效信号中分离出来。

图 12-3 采样率不足造成频谱重叠

**图 12-3 当 时的混叠。**采样脉冲的频谱与模拟信号频谱重叠,产生干扰。

抗混叠低通滤波器要在采样前削弱高于奈奎斯特频率的所有分量。提高采样率也能降低混叠,但 ADC 的速度和成本限制了采样率上限。

图 12-4 抗混叠滤波避免频谱重叠

图 12-4 经过低通滤波后,模拟频谱与采样频谱不重叠,混叠被消除。

应用:数字音频

常见音频采样率为 32 kHz、44.1 kHz 和 48 kHz。CD 使用 44.1 kHz,因此理论上可捕获约 22.05 kHz,覆盖通常认为的人耳 20 kHz 上限。语音若只保留到 4 kHz,8 kHz 采样率即可获得可懂的语音;若保留到 10 kHz,则至少需要约 20 kHz 采样率。

保持:给 ADC 留出转换时间

采样后,样本值必须保持不变直到下一个采样脉冲到来。这个**采样保持(sample-and-hold)**电路把瞬时值变成一段平顶电平,让 ADC 在转换期间面对恒定输入,输出呈阶梯状。

图 12-5 采样保持操作

**图 12-5 采样保持操作。**每个样本在一个采样周期内保持不变。

ADC 与量化

ADC 将采样保持输出转换为一串表示幅度的二进制码。量化就是把每个样本映射到有限的离散电平;位数越多,量化台阶越细,误差越小。

图 12-6 ADC 基本功能

**图 12-6 ADC 基本功能。**采样间隔内输入保持恒定,ADC 输出对应的二进制码。

两位量化例子

把波形量化成 0、1、2、3 四个电平,需要 2 位编码。教材采用“向下取整”量化,样本区间对应关系如下:

采样区间量化电平代码
1000
2101
3210
4101
5101
6101
7101
8210
9311
10311
11311
12311
13311

图 12-7 四级量化的采样保持波形

**图 12-7 四个量化电平(2 位)的采样保持输出。**浅灰色为原模拟波形。

将这些 2 位码送入 DAC 重建,会得到明显失真的阶梯波形:

图 12-8 四级量化重建波形

**图 12-8 用四级量化(2 位)重建图 12-7。**位数少,误差较大。

四位量化例子

改用 16 个量化电平(4 位)时,样本码为:

区间电平代码区间电平代码
1000008101010
2501019141110
38100010151111
47011111151111
55010112151111
64010013141110
760110

图 12-9 十六级量化的采样保持波形

图 12-9 十六个量化电平(4 位)的采样保持输出。

图 12-10 十六级量化重建波形

**图 12-10 用十六级量化(4 位)重建图 12-9。**比 2 位量化更接近原波形。

核心结论

采样率决定“时间上看得够不够密”;量化位数决定“电压上分得够不够细”。两者是不同维度,不能互相替代。

四类 ADC

运算放大器基础

运算放大器(op-amp)是高增益、高输入阻抗、低输出阻抗的线性放大器,具有反相和同相两个输入端、一个输出端。

反相放大器闭环增益:

负号表示相位反转。负反馈使反相端近似 0 V,这个点称为虚地。作为比较器时,两个输入只要有很小差异,输出就会饱和到 HIGH 或 LOW,取决于哪一个输入更高。

图 12-11 运算放大器

图 12-11(b) 反相放大器

图 12-11(c) 比较器

图 12-11 运算放大器。(a) 符号;(b) 反相放大器;(c) 比较器。

Flash(并行)ADC

Flash ADC 用多个高速比较器同时把输入电压与一组参考电压比较,再由优先编码器生成二进制码。n 位 Flash ADC 需要 个比较器:3 位需 7 个,4 位需 15 个。比较器数量多是缺点,但并行工作使它拥有最高吞吐率(samples per second)。

图 12-12 三位 Flash ADC

**图 12-12 三位 Flash ADC。**电阻分压器产生参考电压,优先编码器选择最高的 HIGH 比较器输出。

Worked Example 12-1:读取三位 Flash ADC 输出

给定图 12-12 的 3 位 Flash ADC,参考电压 ,输入波形和使能脉冲见图 12-13。每次使能脉冲到来时,读取比较器阵列并编码。输出序列为:

100, 110, 111, 110, 100, 010, 000, 001, 011, 101, 110, 111

图 12-13 输入波形采样点

图 12-13 对波形采样并转换为二进制码。

图 12-14 Flash ADC 数字输出

图 12-14 采样保持值对应的数字输出。 是最低有效位(LSB)。

**相关问题:**若使能脉冲频率减半,只剩 6 个脉冲,输出为 100,111,100,000,011,110,部分波形信息会丢失。

双积分 ADC

双积分 ADC 常用于数字电压表。第一阶段,输入电压通过积分器,在固定时间内产生负向线性斜坡;计数器达到预定值后,切换到固定的负参考电压,积分器以固定斜率反向回到 0 V。第二阶段的回零时间与原输入电压成正比,计数器记录该时间并输出数字码。

图 12-15 双积分 ADC 框图

图 12-16(a) 固定时间负向斜坡

图 12-16(b) 切换参考电压

图 12-16(c) 回零斜坡与计数

**图 12-15、12-16 双积分转换。**固定积分时间消除输入幅度对斜率的影响,回零时间只由输入大小决定,抗噪性能好但速度较慢。

逐次逼近 ADC(SAR)

SAR ADC 由 DAC、逐次逼近寄存器(SAR)和比较器组成。它从 MSB 开始试探:先把 MSB 置 1,若 DAC 输出大于输入就清零,否则保留;再试下一位,直到 LSB。n 位转换固定需要 n 次比较,速度介于 Flash 和双积分之间。

图 12-17 逐次逼近 ADC

图 12-17 逐次逼近 ADC 结构。

Worked Example 12-2:4 位 SAR 转换 5.1 V

假设 4 位 DAC 各位权重为 8 V、4 V、2 V、1 V,输入为 5.1 V:

  1. 试 MSB:DAC=8 V,大于 5.1 V,MSB 清零。
  2. 试 4 V 位:DAC=4 V,小于 5.1 V,保留该位。
  3. 试 2 V 位:DAC=4+2=6 V,大于输入,清零该位。
  4. 试 1 V 位:DAC=4+1=5 V,小于输入,保留该位。

最终 SAR 码为 0101,对应约 5 V。

图 12-18 逐次逼近转换步骤

图 12-18 5.1 V 的四位逐次逼近过程。

ADC0804 实例

ADC0804 是 8 位 SAR ADC,使用 +5 V 电源,转换时间约 100 μs,带片上时钟,也可使用外部时钟;输出为三态,可直接接微处理器总线。内部等效为 256 电阻 DAC 网络,8 次比较后将结果送入输出锁存器并拉低 INTR。CS、WR、RD 控制复位、启动和三态输出。

图 12-19 ADC0804

图 12-19 ADC0804 模拟-数字转换器。

图 12-19 内部工作说明图

Σ-Δ ADC

Σ-Δ(sigma-delta)ADC 基于增量调制,量化的是相邻样本的差值而不是绝对值。其量化器只有 1 位,输出是高速 0/1 比特流;在固定时间窗内,1 的比例代表输入幅度:全是 1 表示最大正输入,约一半的 1 表示零输入,全是 0 表示最大负输入。

图 12-20 Σ-Δ 转换的简化示意

图 12-20 Σ-Δ ADC 的比特密度表示幅度。

输入与 DAC 反馈信号相减,差值经积分后送入 1 位量化器;反馈会努力使量化信号跟随输入。

图 12-21 Σ-Δ ADC 功能框图

图 12-21 Σ-Δ ADC 的部分功能框图。

计数器统计每个时间窗中的 1,再把计数值锁存为 n 位码:

图 12-22 一种 Σ-Δ ADC

**图 12-22 一种 Σ-Δ ADC 实现。**Σ-Δ 特别适合音频和通信,但通常需要过采样与数字滤波。

ADC 测试与错误

测试时给 ADC 输入线性斜坡,把输出码再送入 DAC,观察重建的阶梯斜坡与理想输入是否一致。

图 12-23 ADC 测试方法

图 12-23 用 DAC 回测 ADC。

  • 缺码(missing code):某个二进制码从不出现,阶梯会保持两段时间后跳过一级。
  • 错误码(incorrect code):某些位固定为 0/1 或权重异常,多个输出码错误。
  • 偏移(offset):整体转换曲线平移,ADC 认为输入比真实值大或小。

图 12-24(a) ADC 缺码

图 12-24(b) ADC 错误码

图 12-24(c) ADC 偏移

图 12-24 ADC 输出错误。

Worked Example 12-3:查找 Flash ADC 缺码故障

图 12-25 的 4 位 Flash ADC 测试结果缺少代码 0011。因此最可能是比较器 3 输出卡在无效的 LOW 状态。

图 12-25(a) 4 位 Flash ADC

图 12-25(b) 重建模拟输出

图 12-25 缺少 0011 码的测试结果。

数字量如何变回模拟量

二进制加权输入 DAC

每个输入位经不同阻值电阻接入反相运放。输入为 1 时产生电流,为 0 时无电流;电阻值按二进制权重成倍增加(R、2R、4R、8R),因此电流按 2 的幂次加权,反馈电阻把总电流转成输出电压。

图 12-26 四位二进制加权 DAC

**图 12-26 四位二进制加权输入 DAC。**最低阻值对应最高权重 MSB。

缺点是需要很多精确且跨度很大的电阻。8 位 DAC 要从 R 到 128R 的八种阻值,匹配要求高,量产困难。

Worked Example 12-4:计算加权 DAC 输出

图 12-27 中,输入高电平为 +5 V,电阻对应 分别为 200 kΩ、100 kΩ、50 kΩ、25 kΩ,反馈电阻为 10 kΩ。各位单独为 1 时:

输入码 0000, 0001, 0010, 0011... 时,输出从 0 V 开始,每增加 1 个码,输出下降 0.25 V,直到 1111 对应 −3.75 V。

图 12-27(a) 加权 DAC 电路

图 12-27(b) 输入码序列

图 12-27 加权 DAC Worked Example 输入。

图 12-28 DAC 输出阶梯

图 12-28 图 12-27 DAC 的输出。

R/2R 梯形 DAC

R/2R 梯形网络只需要 R 和 2R 两种阻值,克服了二进制加权 DAC 的多阻值难题。对于 4 位网络,单独置位时输出权重依次减半:MSB 1000 为 −5 V,0100 为 −2.5 V,0010 为 −1.25 V,LSB 0001 为 −0.625 V。

图 12-29 R/2R 梯形 DAC

图 12-29 四位 R/2R 梯形 DAC。

图 12-30 R/2R 等效电路分析

**图 12-30 R/2R 梯形各位输入的等效电路。**运放虚地使等效电阻到地支路几乎无电流,电流全部流经反馈电阻。

DAC 性能指标

  • 分辨率:n 位 DAC 有 个离散步,常写成 ,也可直接用位数表示。
  • 精度:实际输出与理想输出的最大偏差,通常按满量程百分比表示,理想目标不超过 ±1/2 LSB。
  • 线性度:实际输出阶梯偏离理想直线的程度;全零时仍有输出属于偏移误差。
  • 单调性:输入码递增时,输出不能反向跳变。
  • 建立时间:输入码改变后,输出进入最终值 ±1/2 LSB 范围所需时间。

Worked Example 12-5:计算 DAC 分辨率

(a) 8 位:

(b) 12 位:

16 位相关问题答案为

DAC 测试与错误

将 0 到 的递增二进制码依次送入 DAC,理想输出是线性阶梯。

图 12-31 DAC 基本测试

图 12-31 DAC 的基本测试设置。

常见错误:

  • 非单调:输出出现反向台阶,可能某一位卡在 0/1。
  • 微分非线性:某些台阶过小或过大,常由某一位的电阻权重不正确造成。
  • 低/高增益:所有台阶统一偏小/偏大,可能是反馈电阻异常。
  • 偏移误差:输入 0000 时已有非零输出,且所有台阶整体平移,可能是运放故障。

图 12-32(a) 非单调输出

图 12-32(b) 微分非线性

图 12-32(c) 高、低增益

图 12-32(d) 偏移误差

图 12-32 DAC 的几类转换错误。

Worked Example 12-6:定位非单调故障

图 12-33 中,正常递增 4 位码被转换成:

0010, 0011, 0010, 0011, 0110, 0111, 0110, 0111, 1010, 1011, 1010, 1011, 1110, 1111, 1110, 1111

可见 位始终为 HIGH,导致非单调。先监视器件输入脚:若外部脚在变化,故障在 DAC 内部;若外部脚始终 HIGH,则检查是否有焊桥短接到 +V。

图 12-33 DAC 输出观察

图 12-33 非单调 DAC 的诊断例。

重建滤波器

DAC 输出的快速阶梯跳变包含高频成分。低通**重建滤波器(后置滤波器)**去掉这些高频分量,把阶梯平滑成近似原模拟波形。

图 12-34 重建滤波器平滑 DAC 输出

图 12-34 重建滤波器平滑 DAC 的阶梯输出。

DSP 信号处理链

数字信号处理(DSP)把声音、视频和传感器等模拟信息数字化,再用数字算法增强、修改或压缩。典型链路是:

模拟输入 → 抗混叠低通滤波器 → 采样保持 → ADC → DSP → DAC → 重建低通滤波器 → 模拟输出

图 12-35 模拟正弦与阶梯近似

图 12-35 原模拟信号与阶梯近似。

图 12-36 数字信号处理系统框图

图 12-36 典型数字信号处理系统。

DSP 是面向专用任务的高速微处理器,必须实时跟上 ADC 的采样率。它可完成滤波、回声消除、频带增强、编码、压缩、纠错和图像增强等。

DSP 的应用

通信、音频与语音

电话语音常以 8 ksample/s 采样(奈奎斯特频率 4 kHz),每个样本 8 位时,原始数据率为 64 kbps。压缩到 32 kbps 通常听感变化不大,压到 8 kbps 音质明显下降,2 kbps 仅适合有限的词语识别。DSP 还能消除长途通信回声、执行多路复用和解复用。

声卡先用 ADC 把麦克风或 CD 音频转换成数字量,DSP 压缩后存储;播放时 DSP 解压,再经 DAC 和扬声器还原。音乐处理中还可实现滤波、混音、编辑、人工回声和混响。

语音识别与生成

语音生成通常播放事先数字化的语音;语音识别则要分割词语、提取参数并与样本匹配,复杂得多。

雷达与图像

DSP 可通过压缩提高雷达距离测量精度,通过滤波降低噪声、扩大探测范围,并改善目标分类;声呐也使用相似技术。CT 将多个方向的 X 射线采样并重建人体切片,MRI 利用磁场和射频信号成像,视频电话和数字电视则使用压缩减少比特数。

数字蜂窝电话

图 12-37 DSP 数字输入与输出

图 12-37 DSP 接收数字输入并产生数字输出。

图 12-38 数字蜂窝电话框图

图 12-38 数字蜂窝电话的简化框图。

麦克风语音经 codec 中的 ADC 数字化,DSP 完成压缩、协议处理、纠错和加密,再交给 RF 部分调制发射。接收路径相反:RF 解调后进入 DSP,最后经 codec 的 DAC 和扬声器还原。

典型 DSP 功能包括:语音压缩、语音解压、协议处理、错误检测与纠正、加密与解密。

DSP 芯片内部

Harvard 架构

许多 DSP 采用 Harvard 架构:CPU 同时连接独立的程序存储器数据存储器,可并行取指和读写数据,提高吞吐率。

图 12-39 DSP Harvard 架构

图 12-39 采用 Harvard 架构的 DSP。

DSP 可分为定点和浮点两类。定点器件成本低、通常更快;浮点器件动态范围大,适合复杂数值运算。

TMS320C6000 系列

TMS320C62xx、C64xx、C67xx 是 TI TMS320 系列示例:C62xx/C64xx 为定点,C67xx 支持浮点。C64xx 有 64 个 32 位通用寄存器,C62xx/C67xx 有 32 个;芯片包含 8 个功能单元(2 个乘法器和 6 个 ALU)。

图 12-40 TMS320C6000 系列框图

图 12-40 TMS320C6000 系列 DSP 的通用框图。

DSP类型应用处理速度乘加速度
C62xx定点通用1200–2400 MIPS300–600 MMACS
C64xx定点专用3200–4800 MIPS1600–2400 MMACS
C67xx浮点通用600–1000 MFLOPS200–333 MMACS

MIPS 是每秒百万条指令,MFLOPS 是每秒百万次浮点运算,MMACS 是每秒百万次乘加。

数据通路与功能单元

CPU 分为 A、B 两条数据通路,每条含一半通用寄存器和四个功能单元:

  • M 单元:乘法。
  • L 单元:算术、逻辑及杂项运算。
  • S 单元:比较、移位及杂项算术。
  • D 单元:加载、存储及杂项操作。

流水线

流水线让多条指令同时处于不同处理阶段,主要分为 Fetch、Decode、Execute。

图 12-41 Fetch 的四个阶段

图 12-41 流水线取指的四个阶段。

  1. PG(Program address generate):生成程序地址。
  2. PS(Program address send):把地址送入存储器。
  3. PW(Program access ready wait):等待存储器读操作完成。
  4. PR(Program fetch packet receive):CPU 接收指令包。

图 12-42 Decode 的两个阶段

**图 12-42 流水线译码的两个阶段。**DP 将指令包拆成执行包并分配给功能单元,DC 对指令进行译码。

图 12-43 Execute 的五个阶段

**图 12-43 流水线执行阶段。**执行最多包含 E1–E5 五个阶段,具体指令不一定使用全部阶段。

存储器、接口和封装

程序存储器按 256 位(8 条 32 位指令)组织,容量 64 kB;数据存储器也为 64 kB,可按 8、16、32 或 64 位访问。DMA 可绕过 CPU 搬运数据,EMIF 支持外部存储器,另有串行 I/O 和两个通用定时器。TMS320C6000 系列采用 352 引脚 BGA、CMOS 工艺。

图 12-44 352 引脚 BGA 封装顶部

图 12-44 352 引脚 BGA 封装底部

图 12-44 352 引脚 BGA 封装。(a) 顶视图;(b) 底视图;(c) 侧视图。

教材习题配图(原图保留)

以下图片来自本章课后练习与答案,保留原教材图号,便于对照练习题。

图 12-45 采样练习波形

图 12-45 采样练习波形。

图 12-46 Flash ADC 练习波形

图 12-46 Flash ADC 练习波形。

图 12-47 Flash ADC 练习波形

图 12-47 Flash ADC 练习波形。

图 12-48 练习用 DAC 电路

图 12-48 练习用 DAC 电路。

图 12-48(b) DAC 输入序列

图 12-48(b) DAC 输入序列。

图 12-49 DAC 练习输入

图 12-49 DAC 练习输入。

图 12-50 DAC 输出故障练习

图 12-50 DAC 输出故障练习。

图 12-51 DSP 系统框图练习

图 12-51 DSP 系统框图练习。

图 12-52 相关问题答案

图 12-52 相关问题答案图。

图 12-53 相关问题答案

图 12-53 相关问题答案图。

图 12-54 相关问题答案

图 12-54 相关问题答案图。

  • 采样把模拟波形变成离散样本;采样率必须高于最高频率的两倍。
  • 抗混叠滤波器去掉奈奎斯特频率以上的成分;采样保持让 ADC 有时间转换。
  • 量化把样本映射成二进制码,位数越多,幅度分辨率越高。
  • Flash、双积分、逐次逼近和 Σ-Δ 是四种典型 ADC。
  • 二进制加权和 R/2R 梯形是两类典型 DAC;重建滤波器平滑其阶梯输出。
  • ADC 常见错误有缺码、错误码和偏移;DAC 常见错误有非单调、微分非线性、增益误差和偏移。
  • DSP 是面向实时处理的专用微处理器,常用于音频、通信、雷达、医学成像和图像压缩。
  • Harvard 架构把程序存储器和数据存储器分开;流水线包含取指、译码、执行。

自测题

  1. 若模拟信号最高频率为 20 kHz,最低采样频率是多少?为什么工程上还要留裕量?
  2. 抗混叠滤波器应放在 ADC 前还是 DAC 后?它分别解决什么问题?
  3. 4 位 Flash ADC 需要多少个比较器?为什么 Flash ADC 快但面积大?
  4. 双积分 ADC 的第二阶段回零时间与哪个量成正比?
  5. 用 4 位 SAR ADC 转换 5.1 V(位权 8、4、2、1 V),最终代码是什么?
  6. Σ-Δ ADC 的单比特流中,“1”的密度如何表示模拟幅度?
  7. 8 位 DAC 的理想分辨率百分比是多少?
  8. 如何从 DAC 阶梯波形判断非单调、偏移和低增益?
  9. 为什么 DSP 系统需要 DAC 后的重建滤波器?
  10. Harvard 架构的两块内部存储器分别保存什么?流水线的三个主阶段是什么?

最后检查

看到“模拟 → 数字 → 模拟”,先问三个问题:采样率是否满足奈奎斯特?量化位数是否足够?滤波器是否放在正确位置?这三问能覆盖本章最常见的设计错误。

自测一下