3、信号采集基础:采样率与带宽的关系、触发模式设置、存储深度与时间窗口

做过多通道调试的工程师都知道,信号采集是第一步,也是决定成败的一步。很多人上来就按 Auto 键,波形出来了就以为万事大吉。其实不然。采样率、带宽、触发、存储深度——这几个参数要是没配好,你看到的波形可能就是假的。

我刚开始用示波器那会儿,就吃过这个亏。抓一个 SPI 的片选信号,怎么看怎么对,结果逻辑分析仪一拉,发现少了一个下降沿。后来才明白,是采样率没跟上。嗯,咱们今天就把这几个核心概念掰开揉碎了讲清楚。

3.1 采样率与带宽的关系

先问一个问题:示波器的带宽和采样率,哪个更重要?

答案是:两者必须匹配。带宽决定了你能测多快的信号,采样率决定了你能把信号还原得多真实。

核心公式:

  • 采样率 ≥ 2.5 × 信号最高频率(实际工程中建议 5 倍以上)
  • 示波器带宽 ≥ 5 × 信号最高频率(数字信号建议 10 倍)

举个例子。你要测一个 100MHz 的时钟信号。理论上奈奎斯特说采样率 200MSa/s 就够了,但实际中呢?我建议至少 500MSa/s。为什么?因为方波不是正弦波,它的高次谐波分量很丰富。你采样率不够,上升沿就变缓了,时序测量全偏。

信号类型 信号频率 推荐带宽 推荐采样率
低速串口 (UART) 1 MHz 10 MHz 50 MSa/s
SPI / I²C 10 MHz 100 MHz 500 MSa/s
DDR 时钟 200 MHz 1 GHz 5 GSa/s
高速 SerDes 1 GHz 4 GHz 20 GSa/s

避坑指南:我曾经遇到过一位同事,用 200MHz 带宽的示波器去测 100MHz 的时钟,采样率设了 1GSa/s。波形看起来挺漂亮,但眼图测试死活不过。后来换了一台 1GHz 带宽的示波器,问题立刻暴露——原来信号本身就有过冲。带宽不够,示波器帮你把高频分量滤掉了,你看到的其实是「假波形」。

3.2 触发模式设置

触发是示波器的灵魂。没有触发,你看到的波形就是乱跑的。多通道调试时,触发设置更是关键——你要让所有通道在同一时间基准上对齐。

3.2.1 边沿触发

最基础也最常用的触发模式。设定一个电压阈值,信号跨过这个阈值时触发。

我个人习惯:触发源选时钟信号,触发电平设在信号幅度的 50% 处。这样能保证触发点稳定,多通道波形对齐也最准。

小技巧:如果信号有噪声,触发电平附近容易误触发。这时候可以打开「噪声抑制」或「高频抑制」滤波,或者把触发电平稍微调高/调低一点,避开噪声区域。

3.2.2 脉宽触发

边沿触发搞不定的场景,就得靠脉宽触发了。比如你要抓一个异常窄的毛刺,或者一个超长的低电平。

我记得有一次调试一个电源管理芯片,它的使能信号偶尔会有一个 50ns 的毛刺,导致系统复位。用边沿触发根本抓不到,因为毛刺太窄了。后来设了脉宽触发:触发条件设为「小于 100ns 的正脉冲」,示波器立刻就把那个毛刺锁住了。

// 脉宽触发设置示例(以某品牌示波器为例)
// 目标:捕获宽度小于 100ns 的正脉冲
Trigger Type: Pulse Width
Source: CH1
Polarity: Positive
Condition: Less Than
Time: 100 ns

3.2.3 协议触发

做多通道调试时,协议触发是神器。它能让你直接定位到协议层的特定事件,而不是在物理层瞎猜。

常见的协议触发包括:

  • I²C:起始条件、停止条件、地址匹配、数据匹配
  • SPI:片选触发、特定数据模式
  • UART:起始位、特定字节、帧错误
  • CAN/LIN:帧起始、ID 匹配、错误帧

实战经验:多通道对比调试时,我通常这样设置触发:

  1. 主触发通道选时钟或帧同步信号(边沿触发)
  2. 辅助触发通道选协议触发(比如 I²C 地址匹配)
  3. 两个触发条件用「逻辑与」组合

这样既能保证时间基准对齐,又能精准定位到感兴趣的数据包。

3.3 存储深度与时间窗口

存储深度,说白了就是示波器能存多少个采样点。它直接决定了你能看多长的时间窗口。

公式很简单:

时间窗口 = 存储深度 ÷ 采样率

举个例子:

  • 存储深度 10 Mpts,采样率 1 GSa/s → 时间窗口 = 10 ms
  • 存储深度 100 Mpts,采样率 1 GSa/s → 时间窗口 = 100 ms

你想想看,如果你要抓一个每隔 50ms 才出现一次的异常脉冲,10 Mpts 的存储深度根本不够用。要么降低采样率(但会损失波形细节),要么换一台存储深度更大的示波器。

应用场景 所需时间窗口 采样率需求 最小存储深度
单次脉冲捕获 1 ms 1 GSa/s 1 Mpts
串行数据包分析 10 ms 500 MSa/s 5 Mpts
电源纹波测量 100 ms 100 MSa/s 10 Mpts
长时间异常监测 1 s 100 MSa/s 100 Mpts

避坑指南:我曾经犯过一个低级错误。调试一个 I²C 总线时,我想看完整的一帧数据(大约 2ms),但示波器时间窗口只显示了 500μs。我以为是触发没设好,折腾了半天。后来才发现——存储深度只有 1 Mpts,采样率设了 2 GSa/s,时间窗口自然只有 500μs。把采样率降到 500 MSa/s,时间窗口就变成 2ms 了。嗯,有时候问题就是这么简单,但就是容易忽略。

3.4 知识体系总览

下面这张图把本章的核心逻辑串起来了。你可以把它当作调试时的检查清单。

信号采集基础 · 知识体系 采样率 & 带宽 触发模式 存储深度 & 时间窗口 带宽 ≥ 5 × 信号频率 采样率 ≥ 2.5 × 带宽 欠采样导致混叠失真 边沿触发:电平阈值 脉宽触发:时间条件 协议触发:I²C/SPI/UART 时间窗口 = 存储深度 ÷ 采样率 深存储 = 长时窗 + 高采样率 浅存储 = 需权衡时窗与采样率 调试口诀 带宽够、采样足、触发准、存得深 —— 四者缺一不可 多通道调试时,所有通道共享同一触发源和时基 存储深度不足时,优先保证采样率,再调整时间窗口

我的调试习惯:拿到一个新信号,我一般先做三件事:

  1. 估算信号最高频率,设定带宽和采样率(留 5 倍余量)
  2. 选一个稳定的边沿触发,确认波形基本正常
  3. 根据要抓的事件长度,计算所需存储深度,调整时基

这三步走完,90% 的信号都能稳定捕获。剩下的 10%,再上脉宽触发或协议触发去定位异常。