触发系统精讲:边沿触发、脉宽触发、逻辑触发、串行总线触发(I2C/SPI/UART)、触发释抑与触发耦合
触发系统,说白了就是示波器的「快门」。没有它,你看到的只是一堆乱跑的波形。我刚开始用示波器那会儿,总觉得触发可有可无,直到有一次抓一个毛刺,折腾了一下午……嗯,从那以后我再也不敢小看触发设置了。
这一节,咱们把触发系统彻底讲透。从最基础的边沿触发,到复杂的串行总线触发,再到两个容易被忽略的「幕后功臣」——触发释抑和触发耦合。你想想看,搞懂了这些,抓复杂波形就像用单反拍运动物体一样,指哪打哪。
2.1 边沿触发:最基础也最常用
边沿触发是示波器的默认触发模式。它检测信号从低到高(上升沿)或从高到低(下降沿)的变化,并在电平跨过你设定的阈值时触发。
核心参数:
- 触发源:CH1、CH2、EXT(外部触发)等
- 触发沿:上升沿、下降沿、双沿
- 触发电平:信号跨过此电平时触发
我个人习惯,调试数字电路时先用上升沿触发看时钟信号,确认频率和占空比没问题,再切到数据线上看。这里有个坑——触发电平设得太高或太低,示波器可能根本不触发。我建议先设到信号幅度的50%左右,再微调。
| 场景 | 推荐触发沿 | 触发电平建议 |
|---|---|---|
| 时钟信号测量 | 上升沿 | 信号幅度的50% |
| 数据总线分析 | 上升沿或下降沿 | 信号幅度的50% |
| 毛刺捕获 | 双沿 | 略高于噪声底 |
| 电源纹波测量 | 上升沿 | 直流分量+纹波幅度的50% |
小技巧:如果信号有噪声,触发电平附近容易误触发。可以打开「高频抑制」或「噪声抑制」滤波,让触发更稳定。
2.2 脉宽触发:捕获异常脉冲的利器
边沿触发只能看「有没有跳变」,但脉宽触发能看「跳变持续了多久」。它让你设定一个时间窗口,只触发那些脉宽符合条件(大于、小于、等于、在范围内)的脉冲。
我在项目中遇到过一个问题:一个数字信号偶尔出现一个极窄的毛刺,用边沿触发根本抓不住,因为毛刺的幅度和正常信号一样。后来换成脉宽触发,设定「脉宽小于100ns时触发」,毛刺立刻现形。
注意:脉宽触发对示波器的采样率和存储深度有要求。要捕获窄脉冲,采样率必须足够高(至少是脉冲宽度的5倍以上),否则可能漏掉。
脉宽触发的典型应用场景:
- 捕获偶发的窄毛刺(设定「小于」某个时间)
- 检测信号占空比异常(设定「大于」或「在范围内」)
- 验证PWM信号的脉宽精度
2.3 逻辑触发:多通道的「与或非」
当你需要同时看多个信号的关系时,边沿触发就不够用了。逻辑触发允许你定义多个通道的组合条件——比如「CH1为高且CH2为低时触发」,或者「CH1上升沿且CH2为高时触发」。
逻辑触发有两种常见模式:
- 状态触发:在某个时刻,各通道的电平组合满足预设条件时触发
- 边沿+状态混合触发:在某个通道出现指定边沿的同时,其他通道满足电平条件
我记得有一次调试SPI总线,CS(片选)信号拉低后,SCK(时钟)应该立即开始。但偶尔CS拉低后SCK会延迟几个微秒。用逻辑触发设定「CH1(CS)下降沿且CH2(SCK)为低时触发」,一下就抓到了那个延迟的瞬间。
逻辑触发设置步骤:
- 选择触发类型为「逻辑」或「模式」
- 为每个通道设定期望的电平(H、L、X=忽略)
- 选择触发条件:进入模式、退出模式、持续时间等
- 调整触发电平(每个通道独立设置)
2.4 串行总线触发:I2C/SPI/UART
现代嵌入式系统里,串行总线无处不在。手动数波形来解码?太慢了。示波器的串行总线触发功能,能直接识别总线协议,让你在特定数据包、地址或数据上触发。
I2C 触发
I2C 总线有两条线:SCL(时钟)和 SDA(数据)。触发条件可以设为:
- 起始条件(SCL高时SDA下降沿)
- 停止条件(SCL高时SDA上升沿)
- 特定从机地址(7位或10位)
- 特定数据字节
- ACK/NACK 条件
我个人习惯,调试I2C时先用「起始条件」触发,看看整个通信过程是否正常。如果怀疑某个从机没响应,就设成「NACK触发」,一抓一个准。
SPI 触发
SPI 有四个信号:SCLK、MOSI、MISO、CS(片选)。触发条件包括:
- CS 边沿触发(片选有效时开始捕获)
- 特定数据模式(在 MOSI 或 MISO 上匹配特定字节)
- 帧超时触发(CS无效后等待指定时间)
避坑指南:SPI 的时钟极性和相位(CPOL/CPHA)设置不对,解码会全错。我曾经在这上面浪费了半天——波形看着对,但解码出来的数据全是乱的。后来才意识到是示波器的 SPI 解码参数没配好。
UART 触发
UART 只有一根数据线(TX 或 RX),靠起始位(低电平)和停止位(高电平)来同步。触发条件包括:
- 起始位触发
- 特定数据字节(如 0x55、0xAA)
- 奇偶校验错误触发
- 帧错误触发(停止位丢失)
UART 的波特率设置必须和被测设备一致,否则触发和解码都会出错。我建议先用边沿触发看一个字节的宽度,手动算一下波特率,再设到示波器里。
2.5 触发释抑:别让示波器「太兴奋」
触发释抑(Holdoff)是个容易被忽略但极其重要的参数。它告诉示波器:触发一次后,在指定时间内不要再触发。
为什么要这么做?考虑一个场景:你抓一串脉冲串,脉冲串内部有很多个脉冲,但你只想看整个脉冲串的起始位置。如果不设释抑,示波器可能会在脉冲串内部的每个脉冲上都触发,画面乱成一团。
释抑时间设置原则:
- 对于周期性脉冲串:释抑时间 ≈ 脉冲串周期 - 脉冲串宽度
- 对于不规则信号:释抑时间 > 信号中最长的重复模式
- 不确定时:从大到小试,直到波形稳定
我记得有一次测一个雷达脉冲串,脉冲宽度1μs,脉冲串周期1ms。不设释抑时,示波器在1ms内触发了上百次,画面全是重叠的脉冲。设了释抑时间900μs后,每个脉冲串只触发一次,波形清晰多了。
2.6 触发耦合:滤掉你不想要的成分
触发耦合决定了触发路径上如何处理信号的直流和交流成分。常见的选项有:
| 耦合方式 | 作用 | 适用场景 |
|---|---|---|
| DC 耦合 | 直流和交流成分都通过 | 大多数数字信号、低频信号 |
| AC 耦合 | 隔直,只通过交流成分 | 电源纹波测量、有直流偏置的交流信号 |
| 高频抑制 | 滤除高频噪声(约50kHz以上) | 有高频噪声的数字信号 |
| 低频抑制 | 滤除低频干扰(约50kHz以下) | 有低频哼声或漂移的信号 |
我建议,测数字信号时先用DC耦合,如果触发不稳定再切到高频抑制。测电源纹波时一定要用AC耦合,否则直流分量会吃掉你的动态范围。
注意:AC耦合会引入一个高通滤波器,低频成分会被衰减。对于频率很低的信号(比如几十赫兹),AC耦合可能导致触发不稳定甚至无法触发。
2.7 知识体系总览
下面这张图把触发系统的各个模块和它们的关系梳理清楚了。你可以把它当作一个快速参考。
触发系统就像示波器的「大脑」。选对了触发方式,复杂波形也能轻松捕获;选错了,再好的示波器也白搭。我建议你花点时间,把每种触发方式都亲手试一遍,尤其是那些平时不常用的——说不定哪天就能救你一命。