协议分析仪的硬件触发条件选项丰富,可基于协议事件、信号特征、外部输入或数据模式进行灵活配置,具体选项及分析如下:
一、基于协议事件的触发
-
总线状态触发
-
USB协议:可触发U0、SKP等有序集,或突发结束、数据包挂起等头字段事件。例如,在USB 3.0调试中,通过触发SKP有序集可定位信号同步问题。
-
PCIE协议:支持TLP(事务层包)类型触发,如所有TLP或特定类型(如存储读写请求)触发,帮助分析链路层流量分布。
-
协议字段匹配触发
-
I2C/SPI协议:可设置设备地址、寄存器地址或数据值匹配条件。例如,触发条件为“设备地址=0x50且寄存器地址=0x15”,精准捕获目标设备操作。
-
SPMI协议:支持特定命令或寄存器修改触发,如“PMIC电压寄存器被修改时触发”,快速定位电源管理异常。
-
错误条件触发
-
CRC校验错误:在UHS-II、USB等协议中,可触发CRC失效事件,捕获数据传输错误。例如,PGY-UHS-II分析仪会自动用红色标出CRC失效数据包。
-
协议违规触发:如I2C总线冲突、USB超时等错误事件触发,辅助诊断通信故障。
二、基于信号特征的触发
-
边沿触发
-
通用信号:支持上升沿、下降沿或双边沿触发,适用于UART起始位、I2C开始/停止条件等场景。例如,I2C开始条件触发需设置“SCL高电平时SDA下降沿”。
-
高速信号:在USB 3.0等高速协议中,边沿触发需结合时钟采样时刻(如上升沿采样)确保精度。
-
电平触发
-
固定电平:如CAN总线显性位(CANL低电平)触发,但需注意误触发风险(如CANL下降沿可能频繁出现)。
-
阈值可调:支持自定义触发电压阈值,适应不同信号幅度,优化触发灵敏度。
-
脉冲宽度触发
-
定时分析:可设置最小/最大脉冲宽度条件,验证信号时序(如50%占空比)。例如,在RAM刷新计数器调试中,触发条件为“计数器完成所有行计数时触发”。
三、基于外部输入的触发
-
GPIO触发
-
外部信号同步:通过逻辑通道引入GPIO信号作为触发源,如eMMC探头空闲通道捕获GPIO指定数据。
-
Monitor模式配合:GPIO信号未出现时分析仪持续刷新内存,信号出现时捕获数据并停止,实现条件化采集。
-
多设备同步触发
-
外部触发器输入/输出:支持多个分析仪同步记录(如Advisor T3与Voyager),或与外部测试系统联动,适用于分布式系统调试。
四、基于数据模式的触发
-
特定数据模式触发
-
存储器访问模式:如连续读写特定地址范围时触发,分析存储器操作时序。
-
协议命令序列:在SPMI协议中,可触发“写命令后跟读命令”的序列,验证命令交互逻辑。
-
循环采集与触发定位
-
循环采集:连续捕获多次触发事件,适用于按键信息等重复信号分析。
-
触发位置调整:将触发点置于波形前1%或后90%,观察完整上下文(如触发前后的I2C通信帧)。
五、高级触发组合
-
多级触发链
-
逻辑组合:支持AND/OR/NOT等逻辑运算,构建复杂触发条件。例如,“设备地址=0x50且数据值>0x80且CRC正确”的组合触发。
-
层级触发:在PCIE协议中,可先按TLP类型粗筛,再按数据字段细筛,提升分析效率。
-
协议感知触发
-
硬件加速解析:基于FPGA或专用芯片实现协议实时解码,直接触发协议事件(如USB SETUP包、PCIE完成事务)。
-
动态触发调整:根据协议状态自动调整触发条件,如USB枚举阶段触发GET_DESCRIPTOR指令,配置阶段触发SET_CONFIGURATION指令。