4、捕获中断信号:单次触发捕获、连续触发捕获、使用触发位置捕获抖动全过程

好,咱们接着聊。上一节我们把探头接好了,也确认了信号能正常进逻辑分析仪。那接下来就是真刀真枪地抓中断信号了。

说实话,捕获中断信号这件事,看着简单,其实门道不少。我见过不少工程师,上来就点个「开始捕获」,然后盯着屏幕发呆——啥也没抓到。为什么?因为触发条件没设对。

这一节,我就带你把这三种捕获模式玩明白:单次触发、连续触发,还有那个特别重要的触发位置设置。

4.1 单次触发捕获——抓「第一下」

单次触发,说白了就是「等一次,抓一次,然后停」。这在排查中断抖动时特别有用。

什么时候用?

  • 你怀疑中断信号只在特定条件下出现一次
  • 你想看系统上电后第一次中断的完整波形
  • 中断频率很低,几秒甚至几分钟才来一次

怎么设置?

以 Saleae Logic 为例,操作很简单:

  1. 在触发设置里选择「Single」模式
  2. 设置触发条件为「上升沿」或「下降沿」(看你中断信号是哪种)
  3. 点击「Start」按钮

然后逻辑分析仪就进入「待命」状态。一旦检测到满足条件的边沿,它会立刻捕获一段数据,然后自动停止。

我的经验:单次触发模式下,采样深度要设得足够大。我遇到过一回,采样深度设小了,只抓到中断信号的前半段,后半段抖动全丢了。后来我习惯把采样深度设为最大,反正现在存储便宜。

4.2 连续触发捕获——看「反复」

连续触发就不一样了。它会一直抓,抓完一次自动重新准备抓下一次。适合看中断信号反复出现时的行为。

什么时候用?

  • 中断信号周期性出现,比如定时器中断
  • 你想观察多次中断之间的时序关系
  • 抖动现象不是每次都有,需要大量样本

设置要点:

连续触发模式下,有个参数叫「触发间隔」或「Hold-off Time」。这个参数很关键。

你想想看,如果中断信号抖动得很厉害,在短时间内反复跳变,逻辑分析仪可能会被「触发疯掉」——刚抓完一次,紧接着又来一次,根本来不及处理。

注意:连续触发模式下,如果触发间隔设得太短,逻辑分析仪可能会漏掉一些事件。我建议设成中断信号正常周期的 1.5 倍左右。比如中断周期是 1ms,那 Hold-off 就设 1.5ms。

4.3 触发位置——Pre-trigger 和 Post-trigger

这个才是今天的重头戏。很多工程师忽略了这个设置,结果抓到的波形「前不着村后不着店」,根本看不出抖动从哪开始的。

先理解概念:

参数 含义 典型值
Pre-trigger 触发点之前捕获的数据量 10% ~ 50%
Post-trigger 触发点之后捕获的数据量 50% ~ 90%

说白了,Pre-trigger 让你看到「触发之前发生了什么」,Post-trigger 让你看到「触发之后发生了什么」。

为什么这对排查抖动很重要?

中断抖动,往往不是凭空出现的。它前面可能有一段不稳定的电平、一个毛刺、或者一个不完整的脉冲。如果你只抓触发点之后的数据,那抖动的前因你就永远看不到。

我的习惯:排查中断抖动时,我会把 Pre-trigger 设到 30% 左右。这样既能看清触发前的信号状态,又能保留足够的 Post-trigger 数据看后续行为。我曾经靠这个设置,抓到过一个「中断信号在触发前 200ns 出现了一个 50ns 的毛刺」——那个毛刺就是抖动的根源。

4.4 实战:捕获一次完整的中断抖动过程

好,理论说完了,咱们来实操一把。假设你有一个 GPIO 中断,信号正常时是稳定的高电平,中断时拉低 100μs 再拉高。但你发现有时候这个低电平会「抖」——中间出现几个窄脉冲。

步骤一:设置触发条件

触发类型:下降沿
触发通道:CH0(中断信号)
触发模式:Single(单次触发)

步骤二:设置触发位置

Pre-trigger:30%
Post-trigger:70%
采样深度:10M samples
采样率:50MHz

步骤三:开始捕获

点击 Start,然后手动触发一次中断(比如按一下按键)。逻辑分析仪会捕获到完整的波形。

步骤四:分析波形

你会看到:

  • Pre-trigger 区域:中断信号原本是高电平,稳定
  • 触发点:信号从高变低
  • Post-trigger 区域:低电平持续了大约 100μs,但中间有 3 个窄脉冲(抖动)

你看,有了 Pre-trigger 的数据,你就能确认「抖动确实是在中断触发之后才出现的」,而不是之前就有的噪声。

避坑指南:我曾经犯过一个错——把 Pre-trigger 设成了 0%。结果抓到波形后,只看到中断信号已经拉低了,但不知道拉低之前是什么状态。后来才发现,中断信号在拉低之前已经有一个 20ns 的毛刺了。那个毛刺才是导致中断误触发的元凶。

4.5 三种模式的对比总结

模式 适用场景 优点 缺点
单次触发 低频、偶发中断 数据完整,便于分析 需要手动重新触发
连续触发 周期性、高频中断 自动捕获多次,效率高 可能漏掉事件
触发位置 排查抖动、毛刺 能看到触发前后完整过程 需要合理设置比例

嗯,这一节的内容就到这。记住一句话:捕获中断信号,触发条件是骨架,触发位置是灵魂。 下一节,咱们就拿着抓到的波形,开始分析抖动到底长什么样。