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协议触发。可以设起始条件、停止条件、设备地址、数据值。这是调试利器。
触发设置步骤:
- 选择触发源(CH1或CH2,通常是SCL)
- 选择触发类型(边沿、脉宽、协议等)
- 设置触发电平(一般设在信号幅度的50%)
- 调整触发模式(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 知识结构图:示波器操作全景
下面这张图把示波器操作的核心逻辑串起来了。从探头到测量,每一步都影响你看到的波形质量。
这张图把示波器操作分成了四个层次:探头是输入接口,垂直和水平是显示参数,触发是稳定条件,测量是分析工具。每一步都影响最终的分析结果。
4.8 本章小结
示波器操作看似简单,但每个设置都有讲究。探头选10x、垂直设1V/div、时间基准根据速率调整、触发用边沿或协议、测量用自动加光标——这套组合拳打下来,I2C波形基本逃不出你的眼睛。