第三讲:触发机制——让示波器在正确的时间“按下快门”
大家好,我是老张。今天咱们聊聊触发机制。
说实话,很多工程师用示波器,只会按Auto Set。波形出来了,就凑合着看。但遇到复杂信号,比如串行总线、毛刺、偶发异常,Auto Set就彻底抓瞎了。为什么?因为示波器不知道你想看什么。
触发,就是告诉示波器:“嘿,看到这个特征,你就停下来给我看!”
3.1 边沿触发:最基础,也最常用
边沿触发,说白了就是检测信号从低到高(上升沿)或从高到低(下降沿)的那一瞬间。这是示波器的默认触发方式,也是我调试90%以上信号的首选。
关键参数:
- 触发源:选哪个通道?一般选被测信号所在的通道。
- 触发边沿:上升沿还是下降沿?看你的信号特征。
- 触发电平:这个最重要!电平设错了,波形就乱跳。
举个例子。你调试一个SPI的时钟线,想看看时钟周期对不对。选CH1作为触发源,边沿选上升沿,电平设1.65V。示波器就会在每个时钟上升沿触发,波形稳稳地停在屏幕上。
避坑指南:我曾经遇到过一个问题——信号有噪声,触发电平附近来回抖动,导致波形乱跳。后来我打开了示波器的“噪声抑制”功能,或者把触发电平稍微调高/调低一点,避开噪声区域。嗯,这个小技巧很实用。
3.2 脉宽触发:抓住“不正常”的脉冲
边沿触发只能看“有没有跳变”,但看不出来“跳变之后持续了多久”。脉宽触发就是干这个的。
脉宽触发,是检测脉冲的宽度是否满足你设定的条件。比如,你设定“脉宽小于1μs就触发”,那么示波器只会在那些窄脉冲出现时才停下来。
应用场景:
- 抓毛刺:设定“脉宽小于正常值”,就能抓到那些异常的窄脉冲。
- 检查占空比:设定“脉宽大于某个值”,看看PWM信号有没有异常。
- 检测丢失脉冲:比如UART的起始位,如果宽度不对,说明通信有问题。
我记得有一次调试I2C总线,发现从机偶尔不响应。用边沿触发根本看不出问题。后来我改用脉宽触发,设定“SCL低电平脉宽大于50μs就触发”。结果发现,主机在某个时刻把SCL拉低了很久,超过了I2C协议规定的超时时间。嗯,问题一下就找到了。
3.3 逻辑触发:多路信号的“与或非”
当你需要同时观察多路信号的关系时,边沿触发和脉宽触发就不够用了。这时候需要逻辑触发。
逻辑触发,就是设定多个通道的电平组合条件。比如:CH1为高、CH2为低、CH3为高,当这三个条件同时满足时,示波器触发。
常见组合:
| 触发条件 | 说明 | 典型应用 |
|---|---|---|
| CH1高 & CH2低 | 两个信号同时满足电平 | 片选信号有效时,检查数据线 |
| CH1高 | CH2高 | 任一信号为高就触发 | 多路中断信号监测 |
| CH1高 & CH2高 & CH3低 | 三个信号组合 | 复杂状态机调试 |
你想想看,调试一个SPI接口,你想看“片选信号CS拉低之后,时钟SCK的第一个上升沿”。用边沿触发只能看CS或SCK,但逻辑触发可以设:CS为低 & SCK为上升沿。这样示波器就会在CS有效后的第一个时钟沿触发,完美!
3.4 串行总线触发:I2C/SPI/UART的“协议级”触发
这是我最喜欢的功能。串行总线触发,说白了就是示波器能“读懂”协议了。它不再只看电平跳变,而是能识别出起始位、地址、数据、停止位等协议内容。
3.4.1 I2C触发
I2C总线有两条线:SCL(时钟)和SDA(数据)。I2C触发可以设:
- 起始条件触发:SCL高电平时,SDA从高到低跳变。
- 停止条件触发:SCL高电平时,SDA从低到高跳变。
- 地址触发:检测到特定的7位或10位从机地址。
- 数据触发:检测到特定的数据字节。
我个人习惯调试I2C时,先用“起始条件触发”看看总线有没有正常启动。如果波形稳定,再改用“地址触发”,看看主机有没有正确寻址到从机。
3.4.2 SPI触发
SPI有四条线:SCK、MOSI、MISO、CS。SPI触发可以设:
- 片选触发:CS拉低时触发。
- 数据触发:检测到特定的数据字节(MOSI或MISO上)。
- 帧触发:检测到特定长度的数据帧。
避坑指南:我曾经调试一个SPI Flash,发现读出来的数据总是错。用数据触发设了“读取命令0x03”,结果发现主机发送的命令是对的,但从机返回的数据时序不对——MISO线上的数据在SCK的下降沿才稳定,而主机在上升沿采样。嗯,这就是极性问题。用示波器一看就明白了。
3.4.3 UART触发
UART只有两条线:TX和RX。UART触发可以设:
- 起始位触发:检测到起始位(高电平到低电平的跳变)。
- 数据触发:检测到特定的数据字节。
- 错误触发:检测到奇偶校验错误或帧错误。
我最常用的是“数据触发”。比如,调试一个串口通信,我想看看主机发送的“0x55”这个字节是否正确。设好波特率和数据位,示波器就会在检测到0x55时触发,把前后的波形都显示出来。这样我就能看到起始位、数据位、停止位是否都符合协议。
小结
触发机制,是示波器使用的核心技能。边沿触发是基础,脉宽触发抓异常,逻辑触发看组合,串行总线触发读协议。你想想看,掌握了这四种触发,大部分调试场景都能应对。
下一讲,咱们聊聊如何用示波器测量时序——建立时间、保持时间、传输延迟。这些是嵌入式工程师的硬功夫。