第4章:逻辑分析仪软件入门:主流软件界面介绍、通道设置、采样参数配置、触发设置基础

好,咱们进入第四讲。前面几章我们把逻辑分析仪的硬件、探头、连接方式都聊透了。现在该打开软件了。说实话,很多工程师买回去一台逻辑分析仪,硬件接得漂漂亮亮,结果软件一打开就懵了——满屏的按钮、下拉菜单、数字输入框,不知道从哪下手。

我当年第一次用Saleae的时候,也是盯着那个界面看了好几分钟。嗯,别急,这一章我带你走一遍。咱们把三款主流软件——Saleae、Kingst、DSLogic——的界面都过一遍,再讲讲通道设置、采样参数和触发配置。这些东西搞明白了,你才算真正能用逻辑分析仪干活。

4.1 三款主流软件,各自什么脾气?

先说说这三款软件。它们各有各的来头,也各有各的脾气。我个人习惯是:调试I2C、SPI这种低速协议,用Saleae;做DDR时序分析或者需要深存储的时候,换DSLogic;Kingst嘛,我一般当备胎用,但它的触发功能其实挺强的。

4.1.1 Saleae Logic:简洁到极致

Saleae的软件,说白了就是「傻瓜式」操作。界面非常干净,左边是通道列表,中间是波形显示区,下面是时间轴。你打开软件,插上设备,它自动识别通道数。我刚开始用的时候,觉得这玩意儿是不是太简单了?后来发现,简单有简单的好处——上手快,团队里新来的实习生十分钟就能学会抓波形。

但要注意,Saleae的免费版有限制。我记得有一次项目赶进度,我抓了一长串DDR地址信号,结果软件提示「采样深度超出免费版限制」。嗯,当时那个尴尬。所以如果你要做深度分析,建议上Pro版或者换别的软件。

4.1.2 Kingst:功能丰富,但有点「重」

Kingst的界面,第一眼看上去比Saleae复杂不少。它把通道设置、采样参数、触发配置都放在工具栏上,而不是像Saleae那样藏在侧边栏。我个人觉得Kingst的界面布局更接近传统示波器的逻辑——上面是菜单栏,左边是通道,下面是状态栏。

Kingst有个好处:它的协议解析库很全。我做过一个项目,需要同时解析CAN和LIN总线,Saleae的免费版不支持,DSLogic的协议库又得手动加载,Kingst直接开箱即用。这点确实省心。

4.1.3 DSLogic:开源硬核,适合深度玩家

DSLogic的软件,嗯,怎么说呢,它更像一个「工具」,而不是一个「产品」。界面风格偏硬核,按钮小,参数多,新手第一次打开可能会有点懵。但它的优势在于:采样深度大、触发模式多、支持自定义协议解析。

我当年调试DDR3的时候,就是用DSLogic抓的地址线和控制线。Saleae的采样深度不够,Kingst的触发模式不够灵活,只有DSLogic能同时满足深度和触发的要求。当然,代价就是学习曲线陡一点。

我的建议:

  • 新手入门、日常调试低速协议 → Saleae
  • 需要丰富协议解析、团队协作 → Kingst
  • 深度存储、复杂触发、自定义协议 → DSLogic

4.2 通道设置:别把信号接错了

通道设置听起来简单,不就是把探头接到哪个通道,软件里就选哪个通道吗?对,但细节上容易翻车。

打开软件后,第一件事是确认通道数量。Saleae会自动检测,Kingst和DSLogic需要你在设备菜单里选一下。然后就是给每个通道命名。我个人习惯:把通道0命名为「CLK」,通道1命名为「DATA」,通道2命名为「CS」……这样波形出来一眼就能看懂,不用再去翻笔记。

这里有个坑:通道顺序和物理探头顺序要对应。我曾经有一次,把通道0的探头接到了DDR的CLK上,但软件里把通道0命名成了「DATA」,结果分析波形的时候一直对不上时序。嗯,后来我养成了一个习惯:接好探头后,先用手碰一下探头尖端,看软件里哪个通道有反应,确认对应关系。

避坑指南:

我曾经在调试一个DDR4模块时,因为通道顺序搞反了,浪费了整整一个下午。后来我总结了一个方法:接好探头后,先用手碰一下探头尖端,看软件里哪个通道有反应,确认对应关系。别偷懒,这一步花不了30秒。

4.3 采样参数配置:深度、速率、阈值

采样参数配置,说白了就是三个东西:采样率、采样深度、阈值电压。这三个参数设不对,你抓到的波形就是废的。

4.3.1 采样率:抓多快?

采样率决定了你能看到多快的信号。根据奈奎斯特定理,采样率至少要是信号最高频率的两倍。但实际应用中,我建议至少4倍以上。比如你要抓一个10MHz的SPI时钟,采样率至少设到40MHz,最好到80MHz。

为什么?因为你要看到信号的边沿细节。采样率太低,边沿会变得很模糊,你分不清是上升沿还是下降沿。我做过一个项目,SPI时钟频率是20MHz,我用40MHz采样率去抓,结果波形边沿全是锯齿,根本没法做时序分析。后来把采样率提到100MHz,波形才清晰。

4.3.2 采样深度:抓多久?

采样深度决定了你能抓多长时间的波形。深度 = 采样率 × 时间。比如你设采样率100MHz,采样深度10M点,那就能抓100ms的波形。

这里有个权衡:采样率越高,能抓的时间越短。所以你要根据实际需求来配。我一般的原则是:先确定需要抓多长时间(比如一个完整的DDR读写周期可能需要几微秒到几毫秒),再反推采样率。

应用场景 推荐采样率 推荐采样深度 可抓取时长
I2C (100kHz) 2MHz 1M点 500ms
SPI (10MHz) 40MHz 4M点 100ms
DDR3 (800MHz) 1.6GHz 16M点 10ms

小技巧:

如果你不确定该设多少采样率,可以先设一个较高的值(比如100MHz),抓一段波形看看。如果波形边沿清晰,再逐步降低采样率,直到找到那个「够用」的点。这样可以节省存储空间,也能抓更长时间。

4.3.3 阈值电压:判断高低的基准

阈值电压,就是逻辑分析仪判断信号是「高」还是「低」的基准。比如你设阈值1.5V,那信号高于1.5V就算高电平,低于1.5V就算低电平。

这个参数很容易被忽略。我见过不少工程师,接好探头就开始抓波形,结果抓出来的波形全是毛刺——其实就是阈值设错了。比如你抓的是3.3V的TTL信号,但阈值设成了1.8V,那信号在1.8V到3.3V之间的部分都会被判定为高电平,但实际上它可能只是上升沿的一部分。

我的建议:先查一下你抓的信号是什么电平标准。TTL是1.5V,CMOS是VCC/2,LVDS是1.2V……设对了阈值,波形才干净。

4.4 触发设置基础:让逻辑分析仪「等」你想要的信号

触发,是逻辑分析仪最核心的功能之一。没有触发,你只能随机抓波形,然后在一堆数据里翻找你要的信号。有了触发,你可以让逻辑分析仪「等」到你想要的那个瞬间,才开始记录。

4.4.1 边沿触发:最简单的触发方式

边沿触发,就是当某个通道的信号出现上升沿或下降沿时,触发采集。这是最基础的触发方式,适合抓取单个信号的变化。

比如你要抓一个中断信号,就可以设通道0为上升沿触发。当中断信号来临时,逻辑分析仪开始记录。我调试I2C的时候,经常用SCL的下降沿作为触发,这样能确保抓到完整的I2C通信过程。

4.4.2 电平触发:等一个特定的电平

电平触发,就是当某个通道的信号保持高电平或低电平超过一定时间时,触发采集。这个在调试复位信号时特别有用。比如你要抓一个复位信号,可以设通道0为低电平触发,当复位信号拉低时,逻辑分析仪开始记录。

我记得有一次调试一个DDR模块,发现它偶尔会复位失败。我用电平触发,设通道0(复位信号)为低电平触发,然后等了好几个小时,终于抓到了一次复位失败的波形。嗯,那次排查出来的问题,是复位信号上有个毛刺,导致芯片误复位。

4.4.3 码型触发:多个信号组合

码型触发,就是当多个通道的信号组合成一个特定的码型时,触发采集。这个在调试并行总线时特别有用。比如你要抓DDR的某个特定地址,就可以设地址线的码型为触发条件。

DSLogic的码型触发功能很强,支持最多32个通道的组合。Kingst也支持,但设置起来稍微复杂一点。Saleae的免费版不支持码型触发,需要Pro版才行。

实战经验:

我调试DDR3的时候,经常用码型触发来抓特定的读写命令。比如我要抓一个「写命令」,就设CS为低、RAS为高、CAS为低、WE为低。这样逻辑分析仪只会在出现写命令时才开始记录,省去了大量无效数据。

4.4.4 触发位置:抓触发前还是触发后?

触发位置,决定了触发点在整个采样窗口中的位置。一般有三种选择:

  • 触发前:触发点位于采样窗口的末尾,主要抓触发前的信号
  • 触发后:触发点位于采样窗口的开头,主要抓触发后的信号
  • 中间:触发点位于采样窗口的中间,抓触发前后的信号

我个人习惯用「中间」模式。因为这样既能看触发前发生了什么(比如是什么条件导致了触发),也能看触发后发生了什么(比如触发后信号如何变化)。

比如调试一个DDR的读写时序,我设码型触发抓写命令,触发位置选中间。这样我就能看到写命令之前地址线的状态,以及写命令之后数据线的响应。嗯,这样分析起来效率高很多。

4.5 本章小结

这一章我们聊了三款主流软件的特点、通道设置的注意事项、采样参数的配置方法,以及触发设置的基础。这些东西,说白了就是逻辑分析仪软件使用的「基本功」。你把这些搞明白了,后面抓波形、分析协议、排查故障,才能得心应手。

下一章,我们会进入实战环节——用逻辑分析仪抓取I2C和SPI的波形,并做协议解析。到时候我会带着你一步步操作,把今天学的这些参数配置都用上。嗯,准备好了吗?