4. 示波器基础操作:模拟与数字示波器区别、探头选择(1x/10x)、垂直/水平/触发系统设置、自动测量与光标测量

做I2C调试,示波器就是你的眼睛。很多朋友拿着几万的设备,却连一个ACK信号都抓不准。说实话,问题往往出在最基础的设置上。

这一章,我把这些年用示波器的心得掰开揉碎了讲。咱们从最根本的区别说起。

4.1 模拟 vs 数字示波器:你该选谁?

现在市面上基本都是数字示波器了。但搞清楚两者的区别,能帮你理解很多“为什么”。

特性 模拟示波器 数字示波器(DSO)
工作原理 电子束直接打在荧光屏上 ADC采样→存储→重建显示
波形显示 实时连续,无死区 有采样率和存储深度限制
触发能力 基本触发 高级触发(I2C、SPI协议触发)
测量功能 靠刻度估算 自动测量、光标测量、FFT
存储/回放 无 可存储波形,事后分析
适合场景 模拟信号、视频信号 数字总线、单次事件、复杂调试

我个人习惯用数字示波器做I2C调试。原因很简单——你能把波形存下来,慢慢放大看细节。模拟示波器一闪就没了,你根本来不及看ACK的建立时间。

核心结论:调试I2C这类数字总线,必须用数字示波器。带宽至少100MHz,采样率至少1GSa/s。

4.2 探头选择:1x还是10x?别选错了

探头是示波器的第一道关卡。很多人插上就用,从来没想过档位问题。

1x档位:信号直接进示波器。适合测量<100mV的小信号,比如电源纹波。但带宽通常只有6-10MHz,测I2C的400kHz勉强够用,测1MHz以上就失真了。

10x档位:信号衰减10倍,示波器内部再放大10倍。输入电容小(约10pF vs 1x的100pF),带宽可达满量程。我建议你平时就放在10x档。

注意:用10x档时,一定要在示波器通道菜单里设置成10x。否则示波器显示的电压值是实际值的1/10。我曾经见过一个工程师调了半天,发现SCL只有0.33V——其实是探头在10x,示波器设成了1x。

还有一个坑:探头的接地线。那个黑色的鳄鱼夹,尽量用最短的接地弹簧。接地线太长,会引入噪声,I2C的上升沿会变缓。

4.3 垂直系统:把信号调到看得清

垂直系统控制的是电压刻度。说白了,就是让波形在屏幕上不高不低,刚好能看清。

我的设置习惯:

  • SCL和SDA各占一个通道(比如CH1接SCL,CH2接SDA)
  • 垂直刻度设为1V/div(对于3.3V系统)或2V/div(对于5V系统)
  • 垂直偏移调到波形居中

为什么要这样?I2C的高电平是VDD,低电平是GND。1V/div下,3.3V的信号占3.3格,看起来最舒服。如果设成500mV/div,波形会超出屏幕;设成2V/div,细节又看不清。

小技巧:按一下“Auto Set”按钮,示波器会自动帮你设置垂直和水平。但别完全依赖它——自动设置经常把触发设错,导致波形乱跳。

4.4 水平系统:时间基准决定你能看到什么

水平系统控制的是时间刻度。单位是s/div、ms/div或μs/div。

对于I2C调试,时间基准的选择很关键:

I2C速率 推荐时间基准 能看到什么
标准模式(100kHz) 10μs/div 完整的数据包
快速模式(400kHz) 2.5μs/div 每个字节的细节
高速模式(3.4MHz) 500ns/div 上升沿和下降沿

我一般先设一个较慢的时间基准(比如10μs/div),看到整个通信过程。然后放大到感兴趣的区域,看细节。

这里有个概念叫存储深度。你设的时间基准越慢,示波器采样的时间窗口越长。但如果存储深度不够,采样率就会下降。比如一个1GSa/s的示波器,存储深度只有1M点,设到10ms/div时,采样率会降到100MSa/s,波形细节就丢了。

避坑指南:我曾经调试一个I2C设备,发现波形有毛刺。换了高带宽探头、缩短接地线都没用。最后发现是时间基准设得太慢,采样率不够,示波器“漏采”了真正的信号。把时间基准调快,毛刺就消失了。

4.5 触发系统:让波形稳定下来

触发是示波器最核心的功能。没有触发,波形就是乱跑的。

触发的基本原理:示波器一直在采样,但只在满足触发条件时才“冻结”画面。这样你看到的波形就是重复的、稳定的。

对于I2C调试,我常用的触发方式:

  • 边沿触发:最基础。设SCL的上升沿或下降沿触发。适合看单个字节。
  • 脉宽触发:设一个脉冲宽度条件。比如抓一个异常长的低电平——这往往是设备拉死总线。
  • 协议触发:高级示波器支持I2C协议触发。可以设起始条件、停止条件、设备地址、数据值。这是调试利器。

触发设置步骤:

  1. 选择触发源(CH1或CH2,通常是SCL)
  2. 选择触发类型(边沿、脉宽、协议等)
  3. 设置触发电平(一般设在信号幅度的50%)
  4. 调整触发模式(Normal模式只显示触发后的波形,Auto模式无触发时也显示)

我的习惯:先用Auto模式看到信号,确认有波形。然后切到Normal模式,调整触发电平,让波形稳定。如果波形还是乱跳,检查触发电平是否在信号范围内。

4.6 自动测量与光标测量:用数据说话

眼睛看波形只能定性,不能定量。要判断I2C时序是否满足规格书,必须用测量功能。

自动测量:

  • 频率/周期:测SCL的频率,看是否在目标范围内
  • 高电平/低电平:测VOH和VOL,看是否满足I2C规范
  • 上升时间/下降时间:测10%-90%的跳变时间。I2C规范要求上升时间不超过300ns(400kHz模式)
  • 正脉宽/负脉宽:测SCL高电平和低电平的持续时间

示波器一般可以同时显示4-8个自动测量值。我通常设:频率、高电平、低电平、上升时间、下降时间。

光标测量:

自动测量是全局的。光标测量是局部的,可以精确测量两个点之间的时间或电压差。

  • 时间光标:测两个事件之间的时间差。比如从起始条件到第一个ACK
  • 电压光标:测两个电压点之间的差值。比如噪声的峰峰值

实战案例:有一次,I2C设备偶尔通信失败。自动测量显示SCL频率是398kHz,在规格内。但我用光标测量了SCL低电平的持续时间,发现有时只有1.1μs,而400kHz模式要求低电平至少1.3μs。问题出在主控芯片的时钟占空比不稳定。如果只看自动测量的频率,根本发现不了。

4.7 知识结构图:示波器操作全景

下面这张图把示波器操作的核心逻辑串起来了。从探头到测量,每一步都影响你看到的波形质量。

示波器操作全景图 探头选择 1x / 10x 档位 垂直系统 电压刻度 / 偏移 水平系统 时间基准 / 存储深度 触发系统 边沿 / 脉宽 / 协议 自动测量 频率 / 幅度 / 上升时间 光标测量 时间差 / 电压差 波形分析与故障定位 I2C时序验证 / 异常捕获 核心原则 先看全局,再抓细节

这张图把示波器操作分成了四个层次:探头是输入接口,垂直和水平是显示参数,触发是稳定条件,测量是分析工具。每一步都影响最终的分析结果。

4.8 本章小结

示波器操作看似简单,但每个设置都有讲究。探头选10x、垂直设1V/div、时间基准根据速率调整、触发用边沿或协议、测量用自动加光标——这套组合拳打下来,I2C波形基本逃不出你的眼睛。