2、逻辑分析仪基础:采样率、存储深度、触发条件、探头选择

好,咱们进入正题。逻辑分析仪这东西,说白了就是数字电路的「示波器」。但跟示波器看模拟波形不同,它只看高低电平——0 和 1。你可能会问:「那直接用示波器不就行了?」嗯,我刚开始也这么想,直到有一次调试一个 8 位并行总线,示波器四个通道根本不够用,而且触发条件设得我头大。从那以后,逻辑分析仪就成了我工作台上的常驻设备。

今天咱们聊四个核心参数:采样率、存储深度、触发条件、探头选择。这四个参数搞明白了,你基本就能用好逻辑分析仪了。

2.1 采样率:你到底能看多快?

采样率,单位是 Sa/s(Samples per second),意思是一秒钟采多少个点。比如 100 MHz 采样率,就是一秒采 1 亿个点。

那采样率怎么选? 有个经验法则:采样率至少要是被测信号最高频率的 4 倍。为什么是 4 倍?因为你要看到信号的边沿,至少得在上升沿和下降沿各采到几个点。我个人习惯是 5~10 倍,留点余量。

关键点: 采样率不够,你看到的波形就是「假的」。比如一个 50 MHz 的时钟,你用 100 MHz 采样率去采,理论上刚好满足奈奎斯特,但实际看到的波形会严重失真,边沿位置根本不准。

我在项目中遇到过一件事:调试一个 SPI 接口,时钟频率 20 MHz,我用 50 MHz 采样率去抓,结果 MISO 数据总是错位。折腾了半天,换成 200 MHz 采样率,问题一目了然——原来是 CS 信号毛刺导致采样点偏移。你看,采样率不够,连毛刺都看不见。

我的建议: 如果条件允许,采样率尽量往高了选。现在入门级的逻辑分析仪都能做到 100 MHz 以上,够用了。但要注意,采样率越高,数据量越大,这就引出了下一个问题——存储深度。

2.2 存储深度:你能抓多长的波形?

存储深度,单位是采样点数量,比如 1 Mpts(1 兆采样点)。它决定了你能连续采集多长时间的波形。

计算公式很简单:
采集时长 = 存储深度 / 采样率

举个例子:存储深度 1 Mpts,采样率 100 MHz,那你能连续采集 10 毫秒的波形。10 毫秒够不够?看情况。如果你只是抓几个时钟周期,绰绰有余。但如果你想分析一个完整的 UART 数据帧(比如 115200 波特率,一帧 10 位,大约 87 微秒),10 毫秒也够。可如果你要抓一个 I²C 的 EEPROM 读写过程,那可能就需要几十毫秒甚至上百毫秒。

注意: 很多廉价逻辑分析仪标称「1 Mpts 存储深度」,但实际使用时,如果你开了多个通道,存储深度会被平分。比如 16 通道的 1 Mpts,每个通道实际只有 64 Kpts。买设备时一定要问清楚「每通道存储深度」是多少。

我曾经踩过一个坑:用某品牌逻辑分析仪抓一个 8 位并行总线,开了 8 个通道,结果存储深度被平分到每个通道只有 128 Kpts。采样率设到 200 MHz,只能抓 0.64 毫秒,根本不够看完整帧。后来我学乖了,买设备时专门挑「每通道 1 Mpts」以上的。

2.3 触发条件:别让数据淹死你

逻辑分析仪最强大的功能之一就是触发。没有触发,你就像在沙子里找一粒米——数据量太大了,根本看不完。

常见的触发类型有:

  • 边沿触发: 上升沿、下降沿、双边沿。最基础,适合抓时钟信号。
  • 电平触发: 高电平、低电平、任意电平。适合检测信号是否卡死。
  • 码型触发: 多个通道同时满足特定电平组合。比如「CS=0 & SCLK=上升沿 & MOSI=1」,这就是 SPI 的起始条件。
  • 序列触发: A 事件发生后,再发生 B 事件才触发。比如「先检测到 START 条件,再检测到设备地址匹配」。
  • 协议触发: 直接按协议帧来触发,比如 UART 的「收到 0x55」、I²C 的「ACK 错误」等。高级逻辑分析仪都支持。

我个人最常用的是码型触发和协议触发。举个例子:调试一个 I²C 设备,我想看它收到某个特定地址后的响应。直接设码型触发:SDA=0, SCL=高电平(START 条件),然后地址位匹配。这样一抓一个准,不用在几千帧数据里翻来翻去。

小技巧: 如果你不确定触发条件怎么设,可以先设一个简单的边沿触发,抓一段波形看看。然后根据波形特征,再调整触发条件。我经常这么干——先粗抓,再精抓。

2.4 探头选择:别让探头毁了你的信号

探头这东西,很多人不重视。觉得「不就是几根线嘛,能有多大区别?」嗯,我以前也这么想,直到有一次用劣质探头抓一个 50 MHz 的时钟,波形上全是毛刺和振铃。换了原装探头,世界清净了。

探头选择主要看三点:

参数 说明 我的建议
输入电容 探头对被测电路的负载效应。电容越大,对高速信号影响越大。 选 10 pF 以下的,最好 5 pF 以内。
带宽 探头能准确传输的最高频率。一般等于逻辑分析仪采样率的一半。 至少 100 MHz,高频信号建议 200 MHz 以上。
连接方式 有飞线、排线、夹子、探针等。 飞线最灵活,但容易引入噪声。排线适合排针接口。夹子适合临时测试。

还有一个容易被忽略的点:地线。探头的地线越短越好。长地线会形成环路,引入共模噪声。我见过有人用 20 cm 长的地线夹子去抓 100 MHz 信号,结果波形上全是 50 MHz 的噪声——那是地线环路在「收音」。

避坑指南: 我曾经用一根劣质杜邦线做探头地线,抓一个 10 MHz 的 PWM 信号,结果波形上叠加了一个 1 MHz 的振荡。查了半天,发现是杜邦线内阻太大,加上探头电容形成了 RC 振荡。换了屏蔽线,问题解决。所以,探头线材别省钱。

2.5 四个参数怎么搭配?

这四个参数不是孤立的,它们互相影响。我总结了一个简单的选型思路:

  1. 先定采样率: 根据被测信号最高频率,选 5~10 倍采样率。
  2. 再算存储深度: 根据你要抓的波形时长,算出需要的存储深度。记得留 2~3 倍余量。
  3. 然后设触发条件: 从简单到复杂,逐步细化。
  4. 最后选探头: 根据信号频率和连接方式,选合适的探头。

举个例子:你要抓一个 1 MHz 的 SPI 总线,想分析一次完整的 8 字节传输。时钟周期 1 μs,8 字节需要 64 个时钟周期(假设 8 位/字节),加上 CS 和响应,大概 100 μs。采样率选 10 MHz(10 倍),存储深度至少需要 10 MHz × 100 μs = 1000 个点。但实际我会选 10 Kpts 以上,因为还要看前后波形。探头选 100 MHz 带宽、5 pF 输入电容的飞线探头,地线尽量短。

总结一句话: 采样率决定你能看多快,存储深度决定你能看多久,触发条件决定你能看多准,探头决定你能看多真。四个参数缺一不可。

好了,这一章就聊到这儿。下一章咱们会讲怎么用逻辑分析仪实际抓一个 I²C 信号,从连线到触发到解码,一步步来。到时候我会分享一些我踩过的坑,保证让你少走弯路。