协议分析仪的硬件触发条件选项丰富,可基于协议事件、信号特征、外部输入或数据模式进行灵活配置,具体选项及分析如下:
一、基于协议事件的触发
- 总线状态触发
- 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指令。