Note
现实世界是模拟的,处理、传输、存储却多用数字技术——两者之间必须有一座”翻译桥”。本章讲这座桥的完整工程:采样(sampling)→ 模数转换(ADC)→ 数字处理 → 数模转换(DAC)→ 重建,以及多路复用让一片转换器服务多路信号。
27.1 引言
数字系统抗噪、易处理、易传输、易存储,所以我们常把模拟量数字化。把(往往是多路的)模拟信息转成数字形式的过程称为数据采集(data acquisition),它由几个环节组成:先讨论如何对时变模拟量采样,再看把采样值变成数字量以及反向重建的硬件,最后看多路信号共用一套转换系统的复用技术。
一个典型的数据采集链路长这样:
传感器 → 放大/滤波(调理) → 采样保持 → ADC → 数字系统 → DAC → 重建滤波 → 执行器
本章按这条链从左到右走一遍:采样定理决定”多久测一次”,转换器决定”测多准”,采样保持保证”测的时候不变”,复用决定”一套硬件测几路”。
27.2 采样与奈奎斯特定理
要知道一个变化量如何变化,就得定期测量——这就是采样。信号变化越快,采样就要越密。那”多密才够”?答案由**奈奎斯特采样定理(Nyquist’s sampling theorem)**给出:
白话:采样率必须大于信号中最高频率的两倍。满足这一条件时,采样不丢失任何信息,可以从样本完整重建原始信号。最小采样率称为奈奎斯特速率(Nyquist rate)。

为什么是”两倍”就够了?直观理解:若已知信号不含高于 F Hz 的成分,那么经过各采样点的所有可能曲线中,只有原波形不含高于 F 的频率成分——其余重建都会引入超限成分,故唯一合法的重建就是原信号(图 27.1b)。

若采样率低于奈奎斯特速率,样本可以用多种曲线拟合,原始信号无法唯一确定。重建出来的波形像一个频率更低的信号产生的——这就是混叠(aliasing),表现为信号与采样波形之间的”拍频”效应。
抗混叠滤波:按”存在的最高频率”而非”感兴趣的频率”设计
关键细节:奈奎斯特速率由信号中实际存在的最高频率决定,而不是你感兴趣的最高频率。若信号含有不想要的高频噪声,不滤掉就采样,它们会在感兴趣频段内制造伪信号。
典型工程流程(以语音为例):人声其实含 10 kHz 以上成分,但 3.4 kHz 以下就有良好可懂度。于是先用滤波器去除 3.4 kHz 以上成分(抗混叠滤波器,anti-aliasing filter,典型用六阶巴特沃斯滤波器),再以约 8 kHz 采样——奈奎斯特速率本是 6.8 kHz,实际多留约 20% 余量,因为滤波器不理想、截止频率附近仍有残留成分。
Warning
混叠最阴险的地方:它不是”信号变差”,而是高频噪声伪装成低频信号混进有效频带,事后再也滤不掉。所以抗混叠滤波必须放在采样之前;采样率选定后倒推滤波器的截止频率,而不是相反。
一个完整的取舍例子:某信号频谱为 20 Hz–20 kHz,但应用只关心 10 kHz 以下的成分。若直接按 20 kHz 最高频率采样要 40 kHz 以上速率,数据量大且大部分是浪费。正确做法:先用抗混叠滤波器把 10 kHz 以上成分滤掉,再按 10 kHz × 2 × 1.2 ≈ 24 kHz 采样——数据量减半而有效信息一点不少。这就是”按感兴趣的带宽设计滤波器,再按滤波后的带宽定采样率”的标准思路。
27.3 信号重建
从样本重建模拟信号,本质是去除采样带来的阶梯跳变——也就是去除这些跳变所代表的高频成分。办法:低通滤波器,称重建滤波器(reconstruction filter),特性与采样前的抗混叠滤波器类似(也常用六阶巴特沃斯)。
27.4 数据转换器
采样是取瞬时值转成数字,重建是把数字值变回模拟量,两种操作由数据转换器完成:模数转换器(ADC)与数模转换器(DAC)。
分辨率(resolution):转换器使用的量化级数。n 位转换器用 2ⁿ 级:8 位 = 256 级,10 位 = 1024 级。相邻量化级之间的电压差(量化阶)为:
白话:n 位转换把量程切成 2ⁿ 格,每格宽度即分辨力——8 位在 5 V 量程下每格约 19.5 mV,相当于满量程的约 0.4%;20 位分辨约百万分之一,几乎满足一切应用。
Warning
分辨率 ≠ 精度(accuracy)。分辨率只是级数多少;精度衡量每个电平对应的实际误差(基准电压漂移、电阻误差、运放失调、非线性等都会拖低精度)。一个 12 位分辨率的转换器完全可以只有 8 位的实际精度——标称位数高不代表测得准,选型时两者都要看数据手册。
转换需要时间,称转换时间或建立时间(settling time),随分辨率与速度型号差别极大;一般 DAC 比 ADC 快。集成电路转换器价格便宜(随分辨率和速度上升),实际系统几乎都用成品 IC——自己用电阻、运放、比较器搭转换器,只有在教学或极端特殊场合才有意义。
27.4.1 数模转换器(DAC)
二进制加权电阻法:由电流-电压转换器(反相运放)发展而来。

每位输入控制一个开关,把阻值递增的电阻接到基准电压 :最高位(MSB)开关接电阻 R。运放反相输入端是虚地(0 V),所以电阻两端电压就是 ,注入虚地的电流为:
下一位接 2R,电流减半:
依次减半,各位电流天然二进制加权。虚地不随注入电流变化,各开关互不影响,电流直接相加;运放再把总电流转成输出电压:
单独置位最低位(LSB)时:
缺点:电阻取值范围从 R 跨到 ,10 位转换器阻值比超过 500:1——不同阻值的电阻温度系数往往不同,比值随温度漂移,温漂稳定性差。位数越高问题越糟,所以这种方法实际只用于位数不高的场合。
R–2R 电阻链法:

只用两种阻值(R 与 2R,2R 还可以用两只 R 串联构成):开关电阻一端全部等值 R,另一端接入从运放虚地到地的 R–2R 链。设计使每个节点向链的两个方向看去都是 2R,所以每个开关的电流在链上每经过一个节点就被对半分流一次——到达运放时自然形成二进制加权,与加权电阻法等效。
白话版:把每个开关的贡献想成”一股水流”,链上每个节点都是”三岔口”,往下走与往虚地走电阻相同,各分一半;离虚地越远的开关,被对半分的次数越多,到达终点的水流越细——最远那位(LSB)正好被分了 n−1 次,贡献是最 MSB 的 1/2ⁿ⁻¹。
好处:只用等值或成对匹配的电阻,可做温度匹配,温漂大幅改善。实际 IC 的 DAC 多用此法。
建立时间:两种方法相近,取决于开关速度与运放响应。转换时间随分辨率上升:通用 8 位 DAC 约 100 ns–1 μs,16 位约几 μs,高速件可达几 ns(图形显示用 10 位 DAC 采样率可超 100 MHz,即建立时间 <10 ns)。有时厂商更愿意标”每秒可转换的样本数”而不是建立时间——视频级 100 MHz 采样率对应 <10 ns 建立时间。DAC 输出通常接低通重建滤波器平滑波形,截止频率的选取原则:滤掉采样频率成分而不衰减有效信号。
DAC 的典型应用:除了做 ADC 内部的”标准电压源”,DAC 还广泛用于任意波形发生、数字电位器、音频/视频回放(数据流 → 模拟波形)以及电机/执行器的模拟驱动信号源。
27.4.2 模数转换器(ADC)
四种主流结构,速度与复杂度各占一端。
计数式(counter)/伺服式(servo):

核心:一个加法计数器驱动 DAC,DAC 输出与模拟输入用比较器(输出 0 或 1,取决于哪端输入更正)比较。计数器从零开始加计数,DAC 输出随之阶梯上升;一旦追平输入,比较器翻转、停止计数并发出”转换完成”信号,此时计数器的并行输出就是转换结果;外设读走后计数器清零重来。
速度分析:每次计数后都必须给 DAC 和比较器留出建立时间,所以转换时间至少是 m 倍建立时间(m 为最终数字值),n 位转换最坏要 2ⁿ 倍建立时间——8 位就是最多 256 步——典型转换耗时几毫秒。最简单、最便宜,但效率最低。
把加法计数器换成加/减计数器,比较器输出改作加/减方向控制,计数器不再清零而是持续跟踪输入信号——这就是伺服式 ADC。输入缓变时它每步只需±1 的修正,速度快得多;适合跟踪变化平缓的信号。
逐次逼近式(successive approximation):把”线性搜索”换成”二分搜索”。类比查字典:从第 1 页逐页翻(计数式)远不如对半翻——先翻第 500 页判断在前半还是后半,再翻 250 页……每次排除一半,2¹⁰=1024,最多 10 次锁定目标页。

逻辑:DAC 输入字先全清零,置 MSB=1(对应半量程),比较 DAC 输出与输入——DAC 低则保留该位 1,否则清 0;然后置次高位,再比较……每位依次定夺,n 位转换约需 n 倍(而非 2ⁿ 倍)建立时间。典型 8 位 1–10 μs、12 位 10–100 μs。复杂度略高于计数式,但速度优势使它成为 IC 转换器最常用的结构。
走一遍 4 位例子(假设输入对应数值 10,即二进制 1010):
- 置 1000(=8):DAC 输出 8 < 10,保留 MSB=1;
- 置 1100(=12):12 > 10,清掉该位;
- 置 1010(=10):10 = 10,保留;
- 置 1011(=11):11 > 10,清掉。
四步锁定结果 1010。每一步都是”试探 + 保留/否决”,与查字典的对半翻法一模一样——这正是”逐次逼近”四个字的含义。
双斜率式(dual slope):

运放积分器先对输入积分一段固定时间,电容上的电荷正比于输入电压;再改接恒流源以恒定速率放电,用稳定时钟计数测出放完电荷所需时间——该时间正比于电荷即正比于输入电压。
“双斜率”因此得名:上升斜率由输入电压决定(斜率 ∝ ),下降斜率恒定,两段斜率一比较,输入电压就折算成了计数值。它还有个隐藏福利:积分本身就是对固定时间窗内信号取平均,工频干扰(50/60 Hz)在一个整周期窗口内被平均抵消——这正是数字万用表普遍采用双斜率结构的原因之一。
优点:精度高、成本低,分辨率可超 20 位;缺点:慢(高分辨率件每秒仅 10–100 次转换)。数字面板表(DPM)的经典选择。
并行式(flash):

用精密电阻链产生量程内每一个电压台阶,每个台阶配一个比较器,所有比较器同时与输入比较,再用组合逻辑从比较器输出模式算出数字值。速度之王:转换只需几 ns,采样率可超每秒 1.5 亿次。代价:n 位需要 2ⁿ 个比较器——8 位就是 256 个——硬件随位数指数增长,贵,位数也做不高(常见 6–10 位)。适合示波器、视频采集等”速度压倒一切”的场合。
Success
ADC 选型口诀:要快选 flash,要准选双斜率,通用选逐次逼近,图省事用计数式。速度排序 flash > 逐次逼近 > 计数;精度排序双斜率 > 逐次逼近 > 计数。
四种结构横向对比:
| 类型 | 转换时间量级 | 分辨率典型范围 | 优点 | 缺点 |
|---|---|---|---|---|
| 计数/伺服 | ms 级 | 低–中 | 电路最简单 | 最慢(最坏 2ⁿ 步) |
| 逐次逼近 | μs 级 | 8–16 位 | 速度/复杂度折中好,IC 最常用 | 逻辑较复杂 |
| 双斜率 | 10–100 ms | 可超 20 位 | 精度高、成本低、抗扰好 | 慢 |
| 并行 flash | ns 级 | 6–10 位 | 最快,比较全并行 | 比较器 2ⁿ 个,贵、位数上不去 |
27.5 采样保持门(sample and hold gate)
信号变化快时,转换期间输入还在变,会搅乱转换器——需要先把信号”拍快照”并保持住。ADC 前加采样保持门,保证转换期间输入恒定;DAC 输出侧同理,需要保持两次更新之间的输出值。
工作原理一句话:一个模拟开关 + 一个保持电容 + 一个高输入阻抗缓冲器。采样阶段开关闭合,电容跟踪(跟踪)输入电压;进入保持阶段开关断开,电容把采样瞬间的电压”冻”住,供转换器从容处理。
典型 IC 采样需几 μs,保持期间电压以几 mV/ms 的速度衰减,称跌落(droop)——缓冲器输入电流和电容自身漏电都在一点点放掉电荷。视频级高速件采样只要几 ns,但跌落率也升到几 mV/μs——快与保持长久不可兼得,选型要按”采样快、保持够久”两头的需求折中。
27.6 多路复用(multiplexing)
多路模拟输入/输出,每路配一个转换器当然可以,但更经济的是复用——分时共用。转换器是采集系统里最贵的部件之一,而绝大多数应用并不需要多路同时转换,只需要多路都被转换——“分时”与”并发”的区分正是复用可行性的根基。

- 输入复用(图 a):模拟多路选择器(electronic-controlled analog switch,见第 17.7.3 节的模拟开关)依次把各路信号接到一个 ADC,切换时序由控制信号决定。
- 同步采样(图 b):图 a 的方案各路采样时刻不同,无法直接比较信号间的相位关系。解决:给每路配一个采样保持门,先同步采样、再依次读出——时间关系不丢。
- 输出复用(图 c):一片 DAC 依次接收各通道数据,每次转换完成后用控制信号激活对应的采样保持门,把该次输出”存”给相应通道。各输出按顺序轮询刷新。
实际系统中输入输出还要加抗混叠/重建滤波器(图中为清晰而省略)。
单芯片数据采集系统(single-chip data-acquisition system):ADC + 多路选择器集成一片,常为微机系统专门设计,控制线齐全,便于接口。名字略有夸张(系统不止这两块),但两功能合一确实方便,是微机数据采集板的主力器件。
27.6.1 例 27.1:8 入 8 出微机系统的完整设计
8 路 1 kHz 带宽传感器、1% 精度;8 路 100 Hz 带宽执行器、1% 精度。完整推演一遍,把本章各要点串起来:
输入侧:模拟多路选择器(3 根控制线从 8 路中选 1)+ 逐次逼近 ADC(两根控制线:处理器发出的”开始转换”与 ADC 回报的”转换结束”)。传感器信号先经 1 kHz 截止的六阶巴特沃斯抗混叠滤波;采样率按奈奎斯特速率(2 kHz)加 20% 余量取 2.4 kHz/通道;8 通道共需 8 × 2.4 kHz = 19.2 kHz 转换率,即 52 μs/次——通用逐次逼近 ADC 轻松胜任;1% 精度需 7 位分辨率,按惯例直接取 8 位器件。
输出侧:单 DAC 依次转换各通道数据,配 8 个采样保持门(各由处理器一根控制线激活;若 I/O 口紧张,可用 3–8 译码器把 3 根线扩展成 8 根)。保持门输出的阶梯跳变含高频成分,经 100 Hz 截止的六阶巴特沃斯重建滤波器后再驱动执行器。
控制信号小结:多路选择器 3 线(通道选择)、ADC 2 线(启动/完成)、采样保持门 8 线(或 3 线 + 译码器)——这些控制线正是微机并行 I/O 端口的典型用途。
Warning
多路复用系统算采样率时别忘乘通道数:每通道 2.4 kHz、8 通道就是 19.2 kHz——按单通道速率选 ADC 是常见低级错误。输出侧同样要注意:通道越多,每通道的刷新率越低(DAC 速率被 8 个通道分摊),刷新不足会导致输出”肉眼可见地”阶跃。
Success
数据链口诀:先滤波再采样(防混叠),先保持再转换(防漂移),先重建再输出(防阶梯)——三个”先”,对应系统里三个滤波器/保持器的位置。
自测五题(点击展开)
- 奈奎斯特定理的内容是什么?一个频谱到 4 kHz 的信号最小采样率是多少?低于该速率会怎样? 采样率必须大于信号最高频率的两倍才能完整重建。最高 4 kHz 的信号最小采样率 8 kHz。低于它会产生混叠——高频成分伪装成低频信号出现在重建结果中,原始信号无法唯一恢复。
- 为什么语音要滤到 3.4 kHz 再以 8 kHz 采样,而不是直接采? 人声含 10 kHz 以上成分,若不滤波,这些成分会混叠进可懂频段。3.4 kHz 已有良好可懂度,故先用抗混叠滤波器去除高频,再采样;8 kHz 比奈奎斯特速率 6.8 kHz 高约 20%,是给非理想滤波器的滚降留余量的惯例。
- 二进制加权电阻 DAC 与 R–2R DAC 各有什么优缺点? 加权电阻法元件少,但电阻值跨度达 (10 位超过 500:1),不同阻值电阻温度系数不同,比值随温漂变化,稳定性差。R–2R 法只用 R 和 2R 两种值(2R 可由两只 R 串联构成),可做温度匹配,每个节点双向看都是 2R、电流逐节点减半,同样实现二进制加权而温漂小——实用 IC 的主流。
- 逐次逼近 ADC 为什么比计数式快?各需多少次比较? 计数式是线性搜索,从零数起,n 位最多 2ⁿ 步;逐次逼近是二分搜索,每位一次比较即可定夺,n 位只需约 n 步(各步含一次 DAC 建立与比较)。1024 级的量程前者最多 1024 步、后者只要 10 步。
- 多路复用中,为什么有时要在每路输入前加采样保持门? 简单多路选择器轮流采样各通道,各路采样时刻不同,无法获得信号间的时间关系(如相位差)。用采样保持门对所有输入同时采样、再依次经 ADC 读出,通道间的相对时间关系就完整保留了下来。