3. 脉宽触发:正脉宽、负脉宽、条件设置
脉宽触发,说白了就是个“定时炸弹”。
边沿触发只能告诉你“信号跳了”,但跳了之后持续了多久,它不管。而脉宽触发,就是专门盯着脉冲的宽度做文章的。它能帮你抓到那些“太窄”或“太宽”的异常脉冲——这在调试串行总线、时钟抖动、毛刺或者电源上电时序时,简直是救命稻草。
3.1 为什么要用脉宽触发?
我刚开始用示波器那会儿,觉得边沿触发就够用了。直到有一次,一块板子的I²C总线偶尔死锁,我盯着屏幕看了半天,所有的Start和Stop条件看起来都对。后来用脉宽触发设定“SCL低电平时间超过1ms就触发”,嘿,等了大概两分钟就抓到了一个异常——某个从机把时钟拉低了足足5ms。这种偶发问题,别说边沿了,你就是用A组合逻辑也很难稳稳抓住。
脉宽触发的核心价值就是:按照信号的时域“形状”来筛选事件。不管你是看正脉冲宽度,还是负脉冲宽度,只要设好时间窗口,示波器就能自动把你的注意力锁定在“形状异常”的波形上。
3.2 正脉宽触发 vs 负脉宽触发
这里区分其实很简单:正脉宽就是高电平持续的时间,负脉宽就是低电平持续的时间。但实际设置的时候,容易搞混——我见过好几个同事把“负脉宽”设成了“低于多少伏特”。
咱们把两者的定义和设置要点放在一张表里,你看完就清楚了:
| 类型 | 定义 | 典型触发条件 | 常见用途 |
|---|---|---|---|
| 正脉宽触发 | 测量高电平从上升到下降的时间 | T > X, T < X, X < T < Y | 捕捉窄的高电平毛刺、检查时钟高电平时间异常 |
| 负脉宽触发 | 测量低电平从下降到上升的时间 | T > X, T < X, X < T < Y | 捕捉低的低电平毛刺、捕获复位/使能信号异常过低或过长 |
你可能会想:“设个时间窗口就行了吗?有那么简单?”
嗯,参数上是简单,但真正难的是判断“这个脉冲宽度为什么不正常”。举个例子,你设定正脉宽大于5us触发,结果示波器频频触发——别急着高兴,很可能是因为基准时钟本身就有抖动,而不是真有什么严重故障。
3.3 条件设置的三种模式
大部分中高端示波器(比如Keysight 3000T系列、Tektronix MSO系列)的脉宽触发条件都支持三种模式。咱们把它拆开来看:
- 大于(>)模式: 脉冲宽度大于设定值就触发。最适合抓窄毛刺或宽脉冲异常。
- 小于(<)模式: 脉冲宽度小于设定值就触发。适合抓“短得离谱”的脉冲。
- 在范围内(在XX与YY之间)模式: 脉宽落在窗口内触发。适合检查信号是否满足时序规范。
另外,部分示波器还支持“不在范围内”模式,也就是排除某个脉宽段。这个功能我偶尔会用——比如调试一个已知会在300ns-500ns之间频繁出现正常波形的情况,我就设一个“排除300ns-500ns”,让示波器只捕捉那个范围之外的波形。
3.4 调试时的几个检查点
在实际调试中,我总结了四个必须确认的点,你可以照着清单过一遍:
- 触发电平对了没? 比如测3.3V的LVTTL信号,触发电平建议设在1.65V左右。设得太高或太低,测出来的脉宽都是假的。
- 时间单位设置合理吗? 假如信号周期是1us,你去设“正脉宽大于100ms”触发,那等于没触发。最好设在工作周期附近再加一点余量。
- 脉冲极性分清了吗? 我见过有人明明想抓低电平毛刺,却设了“正脉宽小于10ns”,结果一直不触发。其实是极性搞反了。
- 耦合方式有影响吗? DC耦合测量脉宽最准。如果你用AC耦合,信号会漂移,脉宽会变窄或变宽——尤其在低频段,误差很大。
3.5 正负脉宽触发核心逻辑
下面这张图,把正脉宽和负脉宽触发的判断逻辑串了一下。方便你快速回忆设置流程:
3.6 一个实战中的设置示例
假设你正在调试一个UART通信,怀疑接收端偶尔因为起始位太窄而漏数据。
- 信号特性: 正常波特率115200,每个bit约8.7us。起始位是低电平,持续一个bit时间。
- 你想抓什么: 低于7us的起始位(也就是负脉宽)。
- 设置步骤:
- 通道1设为1V/div,垂直偏移调好,触发电平设在1.65V左右(假设是3.3V逻辑)。
- 触发类型选“脉宽触发”,极性选“负脉宽”。
- 条件设为“小于7us”。
- 时基设为20us/div,以便能看到至少两个字节的波形。
- 打开协议解码同时分析。
一旦触发,你会看到一个起始位明显偏窄的波形出现在屏幕中央。这时候,你再配合分析仪看它后面的数据是不是出了乱码——嗯,一下子就把根因锁定了。
3.7 小结
脉宽触发,真的不复杂,但用好它需要一点手感。记住那几个关键检查点,再配合协议分析仪的数据包解码,很多看似“随机”的故障都能被精准捕获。