什么是 USB协议总线分析仪?
协议分析仪是硬件、软件和固件开发人员在产品生命周期的各个阶段分析和调试嵌入式系统时常用的工具。协议分析仪连接主机和外围设备,用于捕获原始总线数据和事件并将其解码为人类可读的格式,通常会标记总线错误以便于故障排除。
协议分析仪种类繁多,每种分析仪专用于分析某些数据协议,包括 I2C、SPI、USB、CAN 和 eSPI。
USB 协议分析仪,也称为USB 总线嗅探器或 USB 总线调试器,专门用于捕获和解码协议级别的 USB 总线数据,包括枚举、USB 数据包、单个USB事务、时序和数据事件、速度协商等等。工程师使用协议分析仪来深入了解总线并发现可能被忽略的错误。
软件与硬件 USB 协议分析仪
有两种不同类型的 USB 协议分析仪可用于调试 USB 设备:
- 软件 USB 协议分析仪
- 硬件 USB 协议分析仪
软件协议分析仪是一种纯软件分析仪,它取代了被测主机上的 USB 软件堆栈,以监控 USB 数据。软件 USB 协议分析仪允许用户查看发送到主机控制器和从主机控制器发送的数据,但由于这些分析仪依赖主机硬件进行分析,因此这通常会限制可用于分析的 USB 信息。
相反,硬件分析仪是一种基于硬件的工具,独立于主机运行。硬件分析仪连接在主机和外围设备之间,以非侵入方式监控两者之间的通信。它们允许用户轻松调试嵌入式主机并查看特定数据和事件,包括速度协商、时序问题和传输错误。
与软件协议分析仪相比,使用硬件协议分析仪的一个显著优势是它能够捕获、解码和调试低级总线事件和错误。低级总线事件包括 K/J Chrip、resume、pause、reset、In/NAK、SOF。
虽然软件分析仪可以在一定程度上获取USB 系统,但它无法取代硬件协议分析仪。USB 开发人员通常会同时使用这两种分析仪,以确保其系统以最佳状态运行。
选择 USB 协议分析仪时需要考虑的事项
虽然市场上许多 USB 协议分析仪都提供 USB 协议的分析和调试功能,但是它们各自的功能各不相同。
在选择正确的 USB 协议分析仪时,用户必须考虑分析仪将用于哪些用例,以及是否有某些功能对于实现这一点至关重要。
USB捕获率
为了有效地分析和调试 USB 设备,协议分析仪必须能够以信号传输速率成功捕获 USB 流量。确保分析仪能够满足信号传输要求是选择合适分析仪的第一步。实时分析显示功能
实时监控功能允许用户实时捕获、解码和分析 USB 数据,这意味着可以在数据发生时查看数据,而不是先捕获、下载然后显示数据。这对于减少查明错误的时间非常有帮助,并允许用户更好地了解总线的行为方式。缓存
硬件协议分析仪捕获的数据通常保存在设备的内存存储器中以及主机 PC 的 RAM 中,以提供更多的存储空间。对于需要执行长期数据捕获(需要一次记录多天的数据流量)的用户来说,更大的内存可以带来很大的好处。USB 类级解码
USB 定义类代码信息来识别设备的功能,并将相似的设备分组,使它们能够共享通用的 USB 类驱动程序。USB类级解码是将低级 USB 数据转换为人类可读的 USB 类级命令和指令。协议分析仪具有此功能非常有利于快速轻松地更好地理解数据,而不是试图理解原始 USB 数据格式。VBUS 电流和电压监控
在 USB 连接器中,有多个引脚用于通过电缆传输某些数据,但也有一条 VBUS 线用于在设备之间传输电源。VBUS 出现问题可能会导致设备无法正常供电或因电流过大而彼此断开连接。使用允许监控 VBUS 电流和电压的协议分析仪可以帮助在枚举和连接设备时确定任何与电源相关的问题。硬件触发
高级触发功能可以增加 USB 调试的另一个维度,允许用户在满足某些条件(例如匹配特定的数据包类型、数据或总线状态)时触发捕获。数字输入/输出
具有数字 I/O 功能允许用户同步 USB 流量与外部逻辑。
此功能还支持执行触发并与外部测试系统同步。
多分析仪同步
有时需要同步多个协议分析仪,以便可靠地监控 USB 集线器的两侧或 USB 系统中的任意数量的点。此功能允许在多个分析仪上同步捕获事件、开始、触发和停止。跨平台支持
拥有一款支持多种不同操作系统的协议分析仪,可以提供更灵活、更便捷的调试体验。能够在熟悉的操作系统上使用,也降低了使用该工具的学习曲线。