当前位置:首页 > 测试测量 > 测试测量
[导读]在嵌入式硬件调试中,逻辑分析仪(LA)不仅能看波形,更能通过协议触发(Protocol Trigger)在指定I²C地址、SPI命令字或UART字符串处暂停捕获,帮您抓住瞬态错误。Saleae / Kingst / Tek TLA系列操作界面虽有差异,但触发逻辑一致。本文以I²C/SPI/UART为例说明配置要点。



在嵌入式硬件调试中,逻辑分析仪(LA)不仅能看波形,更能通过协议触发(Protocol Trigger)在指定I²C地址、SPI命令字或UART字符串处暂停捕获,帮您抓住瞬态错误。Saleae / Kingst / Tek TLA系列操作界面虽有差异,但触发逻辑一致。本文以I²C/SPI/UART为例说明配置要点。


一、基础捕获设置先做好


在设协议触发前确认:


• 采样率 ≥ 4×总线最高频率(I²C通常100kHz~400kHz→1Msa/s够;SPI可到20MHz→≥80Msa/s)


- 阈值电平:设为中心电压(如3.3V系统→1.65V),避免误识

• 通道分配:明确标 SDA/SCL/MOSI/MISO/CS/CLK,Disable未用通道减存储占用


二、I²C触发配置(最常用)


2.1 触发条件选项


触发类型 说明 典型用途


Start Condition SDA fall while SCL high 抓任何I²C起始


Address Match (Write/Read) 指定Slave Addr (7-bit 0x50 等) 只关心某器件通信


Data Match Addr + Data字节值 抓特定寄存器读/写


ACK/NACK 紧跟Addr后的ACK位 查Slave无应答


2.2 Saleae Logic 2 操作示例



1. 添加 Analyzers → I2C

  - SCL = Ch0, SDA = Ch1

  - Speed = Auto / 400kHz

2. 右侧 Triggers 页 → Add Trigger:

  - Trigger on: Start + Address (7-bit: 0x50, R/W=Write)

  - (可选) Data byte = 0x03 (写寄存器0x03)

3. Run Capture → LA在0x50写事务开始处暂停



注意:7-bit地址填入时不含R/W位(0x50对应波形地址字节0xA0/0xA1)。


三、SPI触发配置


SPI触发通常基于 CS(片选)有效 + 特定命令/寄存器字节出现在MOSI


Analyzer: SPI

 MOSI = Ch1, MISO = Ch2, SCK = Ch0, CS = Ch3 (Active Low)

 Mode = Mode 3 (CPOL=1 CPHA=1 常见)


Trigger:

 CS Active (Low) AND

 MOSI Data = 0x2A (例: 写CMD=0x2A)



若CS为多Slave共用,可设 Ignore CS 仅靠CLK边沿触发(不推荐,易误触)。


四、UART触发(字符串/特定字节)



Analyzer: Async Serial

 RX/TX = Chx, Baud=115200, Bits=8, Parity=None, Stop=1


Trigger:

 RX Data = 0x55   (单个字节)

 or RX String = "ERROR" (多字节序列)



用途:抓设备启动魔法字或错误回应。


五、高级触发技巧


1. 多级触发(Sequential Trigger)  

  先等 I²C Start + Addr=0x50 → 再等 Data=0x01 → 暂停  

  (高端LA支持,Saleae可用 Trigger on Address then Data 组合实现)


2. 时间限定触发  

  仅当两帧间隔 > 5ms 触发(抓异常长帧间隙 → 查主机I²C stall)


3. 配合测量(Measure + Alert)  

  设 Alert if SCL low > 50μs(Clock Stretch过长)→ 触发或标记


六、常见配置错误速查


现象 原因 修正


触发永不停止(一直Running) 地址值填错(含R/W位)或总线无此Addr 确认7-bit Addr不含R/W;用Decode先确认Addr出现


SPI触发乱位置 CS极性设反 (Active High vs Low) 确认CS是低有效且通道分配正确


UART触发不捕获 波特率/奇偶/停止位不匹配 先用Decode自动检测Baud; 确认TX/RX未反接


触发偶发但Capture空 存储深度不足,触发前数据已被覆盖 增大Sample Depth或设Pre-Trigger=90%


解码显示但触发不按Data值 未勾选"Trigger on Data",仅设Display Filter 在Trigger页明确选Data Match条件


七、操作Checklist


✅ 通道阈值匹配系统电平  

✅ 协议参数(Baud/CPOL-CPHA/AddrWidth)与Datasheet一致  

✅ 先用Decode模式确认总线正常再设Trigger  

✅ Pre-Trigger设70%~90%保触发前有上下文  

✅ 截图含Trigger条件说明  


八、结语


逻辑分析仪协议触发是“看见问题”到“抓住问题”的关键一步——先正确配置解码参数(Baud、CPOL/CPHA、I²C Addr),再用Address/Data Match条件限定关注事务,配合合理Pre-Trigger深度保留触发前波形。掌握I²C地址匹配与SPI CS+MOSI组合触发,能覆盖80%的嵌入式总线调试场景。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

在FPGA调试中,简单的边沿触发往往只能捕获到“果”,却难以定位“因”。当系统运行在数百兆赫兹,且涉及复杂的状态机跳转或跨时钟域交互时,传统的单点触发如同大海捞针。Vivado ILA(Integrated Logic...

关键字: 逻辑分析仪 Vivado ILA SignalTap

在高速数字电路调试中,Setup(建立时间)和Hold(保持时间)违/规是导致系统间歇性死机或数据错误的“隐形杀手”。由于这类违/规通常发生在纳秒甚至皮秒级,且具有随机性,普通示波器难以捕捉。逻辑分析仪凭借其多通道并行采...

关键字: 逻辑分析仪 时序分析

在FPGA开发过程中,在线调试是验证设计功能、定位问题的关键环节。传统调试方法依赖外接逻辑分析仪,存在成本高、操作复杂、信号易受干扰等问题。而嵌入式调试工具如SignalTap逻辑分析仪和虚拟I/O(VIO)核,通过JT...

关键字: FPGA SignalTap 逻辑分析仪

在嵌入式系统开发中,测量代码执行时间是评估系统性能、优化代码效率的关键步骤。随着技术的不断进步,测量工具和方法也日益多样化,从传统的逻辑分析仪到现代的Segger SystemView,每种工具都有其独特的优势和适用场景...

关键字: 嵌入式代码 逻辑分析仪 Segger SystemView

在电子设备的设计和制造过程中,电源系统的稳定性和可靠性至关重要。电源调试阶段,作为确保电源系统正常工作的关键环节,需要借助多种精密仪器进行故障分析与定位。其中,示波器和逻辑分析仪作为电子测试领域的两大重要工具,在电源调试...

关键字: 示波器 逻辑分析仪

逻辑分析仪和示波器是两种常用的电子测试设备,它们在测试和调试电路时都有各自独特的应用。下面将详细比较它们的不同之处,并解释各自的用途。

关键字: 逻辑分析仪 示波器

逻辑分析仪是电子电路设计和测试中常用的工具之一,它可以用来同时观察多个信号的实时变化,以便进行功能测试和故障排除。在本文中,我们将介绍如何使用逻辑分析仪进行功能测试,包括使用步骤、方法和一个实际案例。

关键字: 逻辑分析仪 电路设计

逻辑分析仪是电子设备测试和调试的重要工具,用于对数字系统进行实时故障诊断和调试。在选择逻辑分析仪时,需要考虑以下参数和事项。

关键字: 逻辑分析仪 电子设备

逻辑分析仪是一种广泛应用于电路信号测试的仪器,它为电路信号测试提供了许多有效的解决方法。以下是逻辑分析仪为电路信号测试提供的几个主要解决方法:

关键字: 逻辑分析仪 电路信号

逻辑分析仪是一种广泛应用于数字系统调试和故障诊断的仪器。它是通过实时捕获和显示数字系统的逻辑电平状态,帮助工程师理解系统中各个信号的逻辑关系和时序关系,进而进行故障排除和系统设计验证。本文将探讨逻辑分析仪的应用原理、特点...

关键字: 逻辑分析仪 数字系统
关闭