Learning objectives
- 用电压区间、noise margin 与 Boolean algebra 设计而非只背逻辑门;
- 区分组合逻辑与有状态时序系统,完成 setup、hold 与最高时钟频率检查;
- 从采样定理、抗混叠滤波、量化步长和 ENOB 评估 ADC/DAC;
- 计算接口吞吐、缓存需求和延迟预算;
- 区分触发时间、采样时钟、软件时间戳与绝对时间基准;
- 为自动实验设计状态机、错误处理、元数据与可重复性链条。
Prerequisites
- Analog Electronics:模拟前端、带宽、阻抗与噪声;
- 二进制、十六进制与基本概率;
- 正弦频率、傅里叶频谱和 Nyquist 观念;
- 有限状态机、数据率与缓存的基本概念。
Scope and conventions
- 逻辑 0/1 是电压区间和协议状态,不是精确 \(0\ \mathrm V\) / \(V_{DD}\);
- 时序图的时间向右,所有延迟均从数据手册定义的阈值交叉处测量;
- ADC 码范围采用单极性 \([0,V_{\rm FS})\) 示例;双极性和 offset-binary/two's-complement 必须另行声明;
- 采样率 \(f_s\) 是每通道有效采样率;多路复用 ADC 还要考虑切换与建立时间;
- 数据吞吐用 bit/s;存储容量需另计协议、时间戳和文件格式开销;
- 实验安全联锁不只依赖普通软件状态机。
Notation and modeling contract
| Symbol | Meaning | Unit / convention |
|---|---|---|
| \(V_{IL},V_{IH}\) | 保证识别为 low/high 的输入界限 | V |
| \(V_{OL},V_{OH}\) | 输出 low/high 的最坏保证值 | V |
| \(t_{pd}\) | 传播延迟 | s |
| \(t_{su},t_h\) | setup、hold time | s |
| \(f_s,T_s\) | 采样频率、采样周期 | Hz, s |
| \(N\) | ADC/DAC 位数 | bit |
| \(\Delta\) | 理想量化步长 | V 或被测量单位 |
| ENOB | 有效位数 | bit |
| \(R_b\) | 比特率 | bit/s |
| \(t_j\) | timing jitter | s rms |
1. Logic levels, gates, and Boolean operations / 逻辑电平、门与布尔运算
Knowledge ID: P14-U01-L02-K01
1.1 数字的物理基础是裕度
驱动器保证输出 low 不高于 \(V_{OL}\),输出 high 不低于 \(V_{OH}\);接收器保证 \(V\le V_{IL}\) 为 low,\(V\ge V_{IH}\) 为 high。静态噪声裕度为
\[NM_L=V_{IL}-V_{OL}, \qquad NM_H=V_{OH}-V_{IH}.\]
中间区不是“第三种稳定逻辑”,而是未保证区;慢边沿还可能增加短路电流或重复触发。
图 1 把“0/1”画成有容差的区间;真正设计对象是最坏情况裕度。
1.2 Boolean algebra 与最小实现
AND 写作 \(AB\),OR 写作 \(A+B\),NOT 写作 \(\overline A\)。例如
\[Y=AB+A\overline B=A(B+\overline B)=A.\]
代数简化减少门数、功耗和延迟,但必须保持完整 truth table。现实门电路还需检查 fan-out、传播延迟、输入上拉/下拉和上电默认态。
图 2 展示逻辑正确不等于实现高效;简化后可以直接连 \(A\)。
2. Combinational and sequential circuits / 组合与时序电路
Knowledge ID: P14-U01-L02-K02
2.1 组合逻辑没有记忆
组合系统满足
\[\mathbf y(t)=F[\mathbf x(t)]\]
(实际有传播延迟)。多路选择器、编码器、加法器属于此类。设计流程是:规格 → truth table → Boolean 化简 → 延迟和冒险检查。
图 3 给出 2:1 MUX 的功能方程;输出依赖当前输入而不保留历史。
2.2 时序逻辑把时间纳入规格
触发器与寄存器存储状态:
\[\mathbf q_{k+1}=F(\mathbf q_k,\mathbf x_k), \qquad \mathbf y_k=G(\mathbf q_k,\mathbf x_k).\]
同步路径的最高频率近似受
\[T_{\rm clk}\ge t_{cq}+t_{\rm logic,max}+t_{su}+t_{\rm skew}\]
限制;同时必须独立检查最短路径
\[t_{cq,\min}+t_{\rm logic,min}\ge t_h+t_{\rm skew}.\]
setup 违规不能靠降低频率修复 hold 违规;hold 是同一时钟边沿附近的最短路径问题。
图 4 的红线在 setup/hold 窗口内保持稳定;虚线边沿只是定义时刻,不代表输出立即变化。
2.3 状态机使自动流程可审计
有限状态机(FSM)用有限状态和明确转移组织协议或实验步骤。每个状态应定义输出、安全条件、超时与异常转移。
图 5 把异常显式导向 SAFE;若错误只写在注释里,自动化并不完整。
3. ADC, DAC, sampling, and quantization / 模数、数模、采样与量化
Knowledge ID: P14-U01-L02-K03
3.1 采样前先限带
对带限信号,避免频谱副本重叠要求
\[f_s>2f_{\max}.\]
真实抗混叠滤波器有过渡带,因此 \(f_s\) 必须留裕度。若频率 \(f\) 的正弦被 \(f_s\) 采样,观测到的混叠频率可写成
\[f_a=\min_{k\in\mathbb Z}\lvert f-kf_s\rvert\]
并取到 Nyquist 区间。采样定理不消除输入噪声,也不保证采样时刻准确。
图 6 表明 ADC 只看离散时刻;点间曲线要靠带限模型重建,而不是由样点自动“知道”。
3.2 量化是映射,不只是舍入
理想 \(N\) 位单极性 ADC 的 LSB 尺度
\[\Delta=\frac{V_{\rm FS}}{2^N}.\]
若量化误差在 \([-\Delta/2,\Delta/2]\) 内近似均匀且与信号不相关,其 rms 为
\[\sigma_q=\frac{\Delta}{\sqrt{12}}.\]
但小信号、确定性正弦或过载时该随机噪声模型会失效。ENOB 综合噪声与失真,通常小于标称位数。
图 7 中横向台阶宽为一 LSB;offset、gain error、DNL 与 INL 会改变真实阶梯。
3.3 DAC、采样保持与参考
完整转换链包括:
图 8 提醒转换精度由前端、参考、时钟和 ADC 共同决定。DAC 的输出还需重建滤波与建立时间。
4. Microcontrollers, interfaces, and timing / 微控制器、接口与时序
Knowledge ID: P14-U01-L02-K04
4.1 数据率、延迟与缓存是三个不同量
\(M\) 个通道、每通道采样率 \(f_s\)、每样本传输 \(b\) bit,则裸数据率
\[R_{\rm raw}=Mf_sb.\]
协议开销系数 \(\eta_{\rm ov}\) 后,
\[R_{\rm link}\ge R_{\rm raw}(1+\eta_{\rm ov}).\]
总线峰值速率不等于可持续有效吞吐;中断延迟、DMA、文件系统抖动和主机调度会造成突发。缓存深度至少覆盖最坏服务间隔 \(t_{\rm gap}\):
\[B_{\min}\ge R_{\rm raw}t_{\rm gap}.\]
4.2 接口必须有物理层与事务层
SPI、I²C、UART、CAN、Ethernet 等在电气、时钟、寻址、仲裁和错误检测方面不同。选择接口应回答:距离、节点数、带宽、确定性、隔离、接地差与错误恢复。
图 9 将数据、控制与硬件时序信号分开;把所有功能塞进一个软件串口会增加不可控延迟。
5. Triggering, synchronization, and experimental automation / 触发、同步与实验自动化
Knowledge ID: P14-U01-L02-K05
5.1 触发不是采样时钟
- 采样时钟 决定样本间隔;
- 触发 定义记录窗口与事件的相对位置;
- 时间戳 记录某个事件相对于时基的估计时刻;
- 同步 让不同设备共享频率、相位或绝对时间。
若各设备只接受同一软件命令,它们的启动时间仍受操作系统与链路抖动影响。需要亚微秒确定性时,应分发硬件时钟/触发并测量线缆延迟。
图 10 展示环形缓存如何保留触发前数据;触发落在样点之间时还需插值或时间数字转换器。
5.2 可重复自动化需要元数据和失败语义
每次记录至少保存:配置版本、校准、单位、通道映射、时区/时基、触发条件、缺失样本标志与错误日志。状态机应实现:
- 配置验证;
- 设备自检与安全联锁;
- arm → trigger → acquire → validate → save;
- timeout、overrange、buffer overflow 与通信错误的确定行为;
- 原始数据只追加、派生数据可重算。
Worked examples / 完整例题
Worked Example 1 — Boolean 化简与硬件含义
已知: \(Y=AB+A\overline B+\overline A B\)。
对象: 纯组合逻辑;输入只取 0/1。
求: 化简,并解释门级意义。
\[Y=A(B+\overline B)+\overline AB=A+\overline AB.\]
利用吸收律 \(A+\overline AB=A+B\):
\[Y=A+B.\]
检查: 当 \(A=B=0\) 时 \(Y=0\);其余三种输入至少一个为 1,\(Y=1\),与 OR truth table 一致。原实现需要反相与三个乘积项,简化后一个 OR 门即可。
Worked Example 2 — 同步路径最高频率与 hold
已知: \(t_{cq,\max}=2.0\ \mathrm{ns}\),组合逻辑最大延迟 \(6.0\ \mathrm{ns}\),\(t_{su}=1.0\ \mathrm{ns}\),最坏 skew \(0.50\ \mathrm{ns}\);最短 \(t_{cq,\min}=0.80\ \mathrm{ns}\)、逻辑最小延迟 \(0.40\ \mathrm{ns}\)、\(t_h=0.70\ \mathrm{ns}\)。
时基: 同一时钟域,skew 按最坏方向加入。
求: \(f_{\max}\) 与 hold 裕度。
\[T_{\min}=2.0+6.0+1.0+0.50=9.50\ \mathrm{ns},\]
\[f_{\max}=\frac{1}{9.50\ \mathrm{ns}} =1.05\times10^8\ \mathrm{Hz}=105\ \mathrm{MHz}.\]
保守 hold 条件
\[0.80+0.40-(0.70+0.50)=0.00\ \mathrm{ns}.\]
结论: 标称恰好无裕度,工程上不可接受;应增加最短路径延迟或改善 skew。降低时钟频率不会修复同边沿 hold 风险。
Worked Example 3 — 12-bit ADC 的量化尺度
已知: 理想单极性 ADC,\(N=12\),\(V_{\rm FS}=5.000\ \mathrm V\)。输入未过载,量化误差按均匀模型。
求: LSB 与量化噪声 rms。
\[\Delta=\frac{5.000}{2^{12}} =1.2207\ \mathrm{mV},\]
\[\sigma_q=\frac{\Delta}{\sqrt{12}} =0.3524\ \mathrm{mV}.\]
检查: 数值小于 1 LSB 且单位为伏特。它不包括参考噪声、INL、热噪声与前端噪声,因此不是总测量不确定度。
Worked Example 4 — 多通道 DAQ 的链路与缓存
已知: \(M=4\) 通道,每通道 \(20.0\ \mathrm{kS\,s^{-1}}\),每样本传输 16 bit;协议开销 \(25\%\);主机最坏 \(50.0\ \mathrm{ms}\) 不取数。
系统边界: ADC 输出到 MCU 缓存及链路,不含文件压缩。
求: 裸数据率、最低链路有效吞吐与最低缓存。
\[R_{\rm raw}=4(20.0\times10^3)(16) =1.280\times10^6\ \mathrm{bit\,s^{-1}}.\]
\[R_{\rm link}\ge1.280(1.25)=1.600\ \mathrm{Mbit\,s^{-1}}.\]
\[B_{\min}=R_{\rm raw}t_{\rm gap} =(1.280\times10^6)(0.0500) =6.40\times10^4\ \mathrm{bit}=8.00\ \mathrm{kB}.\]
检查: 实际应再留环形缓冲管理、时间戳和突发裕度;标称 2 Mbit/s 总线若有效效率不足 \(80\%\) 仍可能丢数。
Lesson synthesis
可靠 DAQ 的建模链为:
- 物理信号: 幅度、带宽、动态范围、源阻抗;
- 模拟前端: 增益、偏置、保护与抗混叠;
- 采样时基: \(f_s\)、jitter、同步关系;
- 量化: 范围、位数、ENOB、过载与校准;
- 数字时序: setup/hold、状态机、触发窗口;
- 数据移动: 带宽、缓存、丢包检测;
- 可追溯记录: 单位、时间戳、配置、错误与校准元数据。
Formula-and-decision table
| Decision | Relation | Valid use | Check |
|---|---|---|---|
| 静态噪声裕度 | \(NM_L=V_{IL}-V_{OL}\),\(NM_H=V_{OH}-V_{IH}\) | 兼容逻辑族 | 动态噪声、慢边沿 |
| 同步最高频率 | \(T\ge t_{cq}+t_{\rm logic}+t_{su}+t_{\rm skew}\) | 单时钟同步路径 | 最坏 PVT 与 jitter |
| hold | \(t_{cq,\min}+t_{\rm logic,\min}\ge t_h+t_{\rm skew}\) | 同边沿最短路径 | 降频通常无效 |
| Nyquist | \(f_s>2f_{\max}\) | 严格带限信号 | 抗混叠过渡带 |
| 量化步长 | \(\Delta=V_{\rm FS}/2^N\) | 理想均匀 ADC | ENOB、DNL/INL、参考 |
| 量化 rms | \(\sigma_q=\Delta/\sqrt{12}\) | 均匀独立误差模型 | 小信号/相干输入会失效 |
| 数据率 | \(R=Mf_sb\) | 固定格式连续采集 | 协议与时间戳开销 |
| 缓存 | \(B\ge Rt_{\rm gap}\) | 已知最坏服务间隔 | 突发、写盘抖动 |
Model boundaries
- 数字电平仍是模拟电压,受边沿、反射、串扰与地弹影响;
- Boolean 等价不自动保证无 glitch;异步输入需同步或握手;
- 时序参数必须取 datasheet 的 PVT 最坏值;
- Nyquist 条件要求先定义信号带宽,未知高频干扰会混叠;
- 均匀量化噪声模型不适合所有确定性输入;
- MCU 软件定时受中断、缓存与调度影响,不能替代硬件时钟;
- 安全联锁、紧急停止与过压保护应有独立硬件路径。
Misconception clinic
Practice and retrieval / 练习与检索
- [K01] \(V_{IL}=0.8\ \mathrm V\)、\(V_{OL}=0.2\ \mathrm V\)、\(V_{IH}=2.0\ \mathrm V\)、\(V_{OH}=2.7\ \mathrm V\),求两个 noise margins。
- [K01] 化简 \(Y=A+\overline AB\)。
- [K02] 路径 \(t_{cq}=1.5\ \mathrm{ns}\)、逻辑 \(4.0\ \mathrm{ns}\)、setup \(0.8\ \mathrm{ns}\)、skew \(0.2\ \mathrm{ns}\),求 \(f_{\max}\)。
- [K02] 为什么降低时钟频率通常不能修复 hold violation?
- [K03] \(1.00\ \mathrm{kHz}\) 正弦以 \(1.50\ \mathrm{kS\,s^{-1}}\) 采样,最低混叠频率是多少?
- [K03] 16-bit、\(\pm10\ \mathrm V\) 总 span 的理想 ADC,求 LSB。
- [K04] 8 通道、每通道 \(10\ \mathrm{kS\,s^{-1}}\)、24 bit/样本,求裸数据率。
- [K04] 若第 7 题系统最长暂停 \(0.20\ \mathrm s\),求不含开销的缓存字节数。
- [K05] 解释 pre-trigger 数据为什么需要环形缓存。
- [综合] ADC 标称 \(1\ \mathrm{MS\,s^{-1}}\),8 路顺序复用。若每路都要求 \(200\ \mathrm{kS\,s^{-1}}\),指出矛盾并给出两种修法。
1. Answer
\(NM_L=0.8-0.2=0.6\ \mathrm V\),\(NM_H=2.7-2.0=0.7\ \mathrm V\)。
2. Answer
用吸收律: \[A+\overline AB=(A+\overline A)(A+B)=A+B.\]
3. Answer
\(T_{\min}=1.5+4.0+0.8+0.2=6.5\ \mathrm{ns}\), \[f_{\max}=1/(6.5\ \mathrm{ns})=154\ \mathrm{MHz}.\]
4. Answer
hold 检查的是同一捕获边沿后的最短数据路径;下一时钟边沿的位置不参与基本不等式,因此延长周期不增加这段最短延迟。
5. Answer
取 \(k=1\): \[f_a=\lvert1.00-1.50\rvert\ \mathrm{kHz}=0.500\ \mathrm{kHz}.\]
6. Answer
总范围 \(20.0\ \mathrm V\), \[\Delta=\frac{20.0}{65536}=305\ \mu\mathrm V.\]
7. Answer
\(R=8(10^4)(24)=1.92\times10^6\ \mathrm{bit\,s^{-1}}\)。
8. Answer
\(B=Rt=1.92\times10^6(0.20)=3.84\times10^5\ \mathrm{bit}=48.0\ \mathrm{kB}\)(十进制 kB)。
9. Answer
触发发生前系统不知道哪个历史区间需要保存;环形缓存持续覆盖最旧样本,触发后冻结指定的历史窗口。
10. Answer
总需求为 \(8(200\ \mathrm{kS\,s^{-1}})=1.6\ \mathrm{MS\,s^{-1}}\),超过 ADC 总吞吐。可降低每路采样率/通道数,或使用更快 ADC、并行多 ADC 或 simultaneous-sampling ADC。
Exit ticket
- 为一个脉冲实验写出从模拟带宽到采样率、位数、触发前窗、数据率与缓存的完整预算。
- 解释一次数据文件为什么必须同时保存 timebase、校准、单位和 dropped-sample 标志。
References and source notes
以下资料均于 2026-08-31 实际打开核验:
- MIT OpenCourseWare 6.071J, Introduction to Digital Electronics — 逻辑电平、门与数字系统入门。
- MIT OpenCourseWare 6.111, Sequential Logic and Verilog — 触发器、同步时序与状态系统。
- MIT OpenCourseWare HST.582J, Chapter 1: A/D Conversion — 采样与 ADC 基础。
- Microchip Developer Help, ADC Conversion Triggers — 硬件触发源与 MCU ADC 时序。
Source-to-content map
| Source | Used for | Knowledge ID / Section | Model boundary or convention |
|---|---|---|---|
| MIT 6.071J | 电平、门、组合逻辑 | K01–K02 | 具体阈值由逻辑族 datasheet 决定 |
| MIT 6.111 | 触发器、时序与状态 | K02 | FPGA/ASIC 需 PVT 时序收敛 |
| MIT HST.582J | ADC、采样与量化 | K03 | 理想 ADC 模型需加真实误差预算 |
| Microchip ADC triggers | 硬件触发和采样启动 | K04–K05 | 特定 MCU 实现,原则可迁移 |
复习与拓展
- 下一课将采集链纳入反馈环,讨论传递函数、稳定性和估计;
- 可扩展 asynchronous clock-domain crossing、metastability 与形式验证;
- 可加入 oversampling、dither、noise shaping 与 sigma-delta ADC;
- 可与时间频率学连接:GPS、PTP、White Rabbit 和不确定度传播。