逻辑分析仪协议解码的触发配置与操作要点
在嵌入式硬件调试中,逻辑分析仪(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%的嵌入式总线调试场景。





