4. 示波器触发:边沿触发、脉宽触发、逻辑触发、串行总线触发(I2C/SPI/CAN)

触发,说白了就是让示波器知道「什么时候该干活」。没有触发,你看到的只是一堆乱跑的波形,根本抓不住关键信号。我刚开始用示波器时,就吃过这个亏——调了半天,屏幕上的波形一直在跳,根本没法看。

今天咱们把四种最常用的触发方式掰开揉碎讲清楚。尤其是做BMS调试,这几种触发几乎天天都要用。

4.1 边沿触发:最基础,也最常用

边沿触发是示波器的默认触发方式。它检测信号从低到高(上升沿)或从高到低(下降沿)的变化。

工作原理:设定一个触发电平,当信号跨过这个电平时,示波器就开始采集。就这么简单。

关键参数:

  • 触发电平:一般设在信号幅度的50%位置最稳
  • 触发斜率:上升沿还是下降沿
  • 触发耦合:DC耦合看全信号,AC耦合滤掉直流分量

我在项目中遇到过一个问题:用边沿触发抓BMS的CAN总线信号,怎么都触发不了。后来发现是触发电平设得太高,信号幅值只有1.5V,我设了2V,当然抓不到。嗯,这个坑很多人都会踩。

应用场景 推荐设置 注意事项
时钟信号测量 上升沿触发,电平设50% 注意时钟抖动
PWM波形 上升沿或下降沿均可 占空比变化时需调整电平
单次脉冲 上升沿触发,Normal模式 记得打开单次捕获

4.2 脉宽触发:抓异常脉冲的利器

边沿触发只能看「有没有跳变」,但脉宽触发能看「跳变持续了多久」。这在BMS调试中特别有用——比如抓一个异常的窄脉冲干扰。

设置方法:

  1. 选择脉宽触发模式
  2. 设定脉宽条件(大于、小于、等于、在范围内)
  3. 设定脉宽时间值
  4. 选择触发极性(正脉宽还是负脉宽)

我的经验:抓BMS的过流保护信号时,我会设脉宽触发为「小于10μs」。因为正常保护信号至少持续50μs,如果抓到窄脉冲,说明有干扰或接触不良。

举个例子:你怀疑某个信号上有毛刺干扰。用边沿触发根本看不出来,因为毛刺太窄了。但用脉宽触发,设成「脉宽小于100ns」,示波器就会只抓那些窄脉冲,毛刺一目了然。

4.3 逻辑触发:多信号联合判断

逻辑触发是示波器的高级功能,它允许你同时监控多个通道,设定一个逻辑条件来触发。比如「通道1为高,同时通道2为低」时才触发。

逻辑触发类型:

  • 与逻辑:所有条件同时满足
  • 或逻辑:任一条件满足
  • 与非/或非:反向条件
  • 建立时间/保持时间触发:检查时序关系

注意:逻辑触发需要示波器支持多通道同时分析。老款示波器可能只有两通道逻辑触发,新款四通道以上才比较实用。

我在调试BMS的AFE芯片时,经常用逻辑触发来检查SPI通信时序。设成「CS为低时,SCK的第一个上升沿触发」,这样就能精准抓到每次通信的开始。

4.4 串行总线触发:I2C/SPI/CAN

这是现代示波器最强大的功能之一。你不用再手动数时钟边沿、找起始位,示波器会自动解码并触发。

4.4.1 I2C触发

I2C总线有两条线:SCL(时钟)和SDA(数据)。触发方式包括:

  • 起始条件触发:SCL高电平时SDA下降沿
  • 停止条件触发:SCL高电平时SDA上升沿
  • 地址触发:匹配特定从设备地址
  • 数据触发:匹配特定数据值

实战技巧:抓I2C通信时,先把解码打开,确认地址和数据都正确。然后再设触发条件。我习惯先设「起始条件触发」看整体通信,再逐步缩小到具体地址。

4.4.2 SPI触发

SPI有四条线:SCK、MOSI、MISO、CS。触发方式:

  • CS触发:片选信号跳变时触发
  • 数据触发:匹配特定数据模式
  • 帧触发:检测完整数据帧
SPI模式 CPOL CPHA 触发设置
模式0 0 0 SCK上升沿采样
模式1 0 1 SCK下降沿采样
模式2 1 0 SCK上升沿采样
模式3 1 1 SCK下降沿采样

4.4.3 CAN触发

CAN总线调试是BMS工程师的日常。示波器的CAN触发功能可以:

  • 帧起始触发:检测SOF位
  • ID触发:匹配特定CAN ID
  • 数据触发:匹配特定数据字节
  • 错误帧触发:抓总线错误
  • 远程帧触发:检测远程请求

避坑指南:我曾经调试一个BMS的CAN通信,总线上偶尔出现错误帧。用边沿触发根本抓不到,因为错误帧出现时间不确定。后来用CAN错误帧触发,一抓一个准。原来是终端电阻虚焊导致的信号反射。

4.5 触发模式选择指南

不同场景选不同触发,我整理了一个对照表:

调试场景 推荐触发方式 原因
测量时钟频率 边沿触发 简单直接,频率稳定
抓毛刺干扰 脉宽触发 只抓窄脉冲,排除正常信号
多信号时序检查 逻辑触发 同时监控多个条件
I2C通信调试 串行总线触发 自动解码,精准定位
SPI通信调试 串行总线触发 配合CS信号,抓完整帧
CAN总线调试 串行总线触发 ID过滤,错误帧捕获
示波器触发方式选择流程 开始调试 需要看什么信号? 时钟/方波信号 → 边沿触发 异常脉冲/毛刺 → 脉宽触发 多信号时序 → 逻辑触发 是串行总线吗? 串行总线触发 I2C/SPI/CAN 保持原触发方式 边沿/脉宽/逻辑

4.6 实战:BMS调试中的触发设置

最后分享一个我实际调试BMS的案例。当时客户反馈电池包在充电时偶尔报通信故障,但用普通触发根本复现不了。

调试步骤:

  1. 先用CAN总线触发,设ID过滤为BMS主控的ID
  2. 触发条件设为「数据字节0 = 0x01」(故障码)
  3. 时基设到100μs/div,看细节
  4. 同时用逻辑触发监控CAN的TX和RX引脚

结果:抓到故障发生时,CAN的TX引脚上有一个异常的窄脉冲,宽度只有200ns。正常CAN位宽是1μs(125kbps),这个窄脉冲显然是干扰。最终定位到是DC-DC模块的开关噪声耦合到了CAN线上。

你看,没有合适的触发方式,这种偶发故障根本抓不到。所以花点时间把触发搞明白,绝对值。