1. 示波器基础:模拟与数字示波器区别、带宽与采样率选择、探头类型与补偿
各位工程师朋友,咱们开始第一课。做嵌入式开发,调试I2C和SPI,示波器就是你的眼睛。我见过太多人拿着示波器乱戳,信号都变形了还在那儿分析波形——这哪是调试啊,这是算命。
今天咱们先把基础打牢。说白了,示波器选不对、用不对,后面所有分析都是白搭。我这些年踩过的坑,今天一次性给你讲清楚。
1.1 模拟示波器 vs 数字示波器
先说说这两类示波器的区别。你可能觉得现在谁还用模拟示波器?嗯,我实验室抽屉里还躺着一台泰克2465,偶尔拿出来怀念一下。
模拟示波器,核心是阴极射线管。信号进来直接打到荧光屏上,没有采样、没有量化。好处是啥?实时性极强,亮度变化能反映信号细节。坏处也很明显——不能存储、不能测量、带宽做不高。
数字示波器,现在的主流。信号进来先经过ADC采样,存到内存里,再处理显示。我建议你至少用数字示波器,原因很简单:
- 可以捕获单次事件——I2C的起始条件就那么一瞬间,模拟示波器根本抓不住
- 可以测量参数——频率、占空比、上升时间,一键搞定
- 可以存储波形——回头慢慢分析,还能和同事分享
核心区别一句话:模拟示波器看的是实时模拟信号,数字示波器看的是采样后的数字重建信号。后者有采样率、存储深度这些新概念,搞不懂这些,你看到的波形可能就是假的。
1.2 带宽——示波器最重要的指标
带宽是什么?简单说,就是示波器能准确测量的最高频率。注意我说的是「准确测量」,不是「看到」。带宽不够,方波会变成圆波,上升沿会变缓。
我记得有一次帮同事调试SPI,时钟频率10MHz,他用了个50MHz带宽的示波器。波形看着还行,但一测上升时间,明显偏慢。换了个100MHz的,上升时间立刻变快了30%。
带宽选择有个经验法则:
- 测量正弦波:示波器带宽 ≥ 信号频率的3倍
- 测量方波/数字信号:示波器带宽 ≥ 信号频率的5倍
- 想看到真实的上升沿:示波器带宽 ≥ 1 / (上升时间 × 0.35)
| 信号类型 | 信号频率 | 推荐示波器带宽 |
|---|---|---|
| I2C (100kHz) | 100kHz | ≥ 5MHz (随便一个都行) |
| SPI (10MHz) | 10MHz | ≥ 50MHz |
| SPI (50MHz) | 50MHz | ≥ 250MHz |
| 高速信号 | 100MHz+ | ≥ 500MHz |
注意:带宽不是越高越好。带宽太高会引入更多噪声,而且价格翻倍。我建议你根据实际调试的信号频率来选,别盲目追求高带宽。
1.3 采样率——别被「实时采样率」忽悠了
采样率,就是ADC每秒采多少个点。单位是Sa/s(Samples per second)。
数字示波器有个坑:采样率和带宽要匹配。根据奈奎斯特定理,采样率至少是信号最高频率的2倍。但实际应用中,我建议至少5倍以上。
为什么会这样?你想想看,2倍采样率只能恢复正弦波,对于方波这种含有大量高次谐波的信号,2倍根本不够。我调试SPI时遇到过这种情况:采样率不够,波形上出现了「假毛刺」,折腾了我一整天才发现是示波器的问题。
采样率选择建议:
- 实时采样率 ≥ 带宽 × 5(保守点×10)
- 对于数字信号,采样率 ≥ 信号频率 × 10
- 注意区分「实时采样率」和「等效采样率」——后者只对重复信号有效
我的习惯:调试I2C和SPI时,我会把采样率设到最高。反正现在示波器存储深度都够大,采样率高一点没坏处。等抓到波形了,再根据需要调整时基。
1.4 探头类型与补偿——最容易忽略的环节
探头,是示波器和被测电路之间的桥梁。桥没搭好,信号就失真了。
常见的探头类型:
- 1×/10× 无源探头:最常用。10×档位带宽更高、负载更小。我建议你平时都用10×档,除非信号特别小。
- 有源探头:带宽高、输入电容小,但贵。调试高速SPI(50MHz以上)时可以考虑。
- 差分探头:测差分信号用。I2C和SPI都是单端信号,一般用不上。
探头补偿——这个必须做!
每次换通道、换探头,都要做补偿。不做补偿,测出来的波形上升沿会过冲或欠冲,你以为是信号问题,其实是探头没调好。
我曾经帮一个团队排查I2C通信异常,他们换了探头后波形一直不对,折腾了两天。我过去一看,探头补偿没做,方波都变成圆波了。做完补偿,问题立刻消失。
补偿步骤:
- 把探头接到示波器自带的补偿信号输出端(一般是1kHz方波)
- 用非金属螺丝刀调节探头上的补偿电容
- 直到屏幕上显示完美的方波——平顶、直角、无过冲
记住:探头补偿是基本功。我每次开始调试前,第一件事就是做探头补偿。这个习惯救了我无数次。
1.5 接地与测量技巧
最后说几个实用技巧。这些是我这些年总结出来的,你照着做,能少走很多弯路。
- 接地线要短:探头自带的接地夹子太长,会引入电感。我习惯用接地弹簧,直接套在探头上,接地路径最短。
- 同时测多路信号:调试I2C时,SCL和SDA要同时看。SPI的话,CLK、MOSI、MISO、CS最好都接上。用示波器的多通道功能,或者逻辑分析仪配合。
- 触发设置:I2C用起始条件触发,SPI用CS下降沿触发。这个后面章节会详细讲。
一个小技巧:测I2C上拉电阻的波形时,把探头打到10×档,输入电容只有十几pF,对上拉电阻的影响可以忽略。如果用1×档,输入电容可能上百pF,会把信号拉变形。
好了,示波器基础就讲这么多。这些内容看似简单,但你真的用好了,后面调试I2C和SPI时就能事半功倍。下一节咱们开始讲I2C协议和实际调试技巧,到时候我会拿真实案例来分析。
记住:示波器是你的工具,不是你的敌人。花点时间把基础打牢,后面调试起来就顺手了。