USB Protocol Analyzers come in one of two basic types: software-only analyzers and hardware-based analyzers. While software USB analyzers can sometimes be priced lower than their hardware-based relatives, Total Phase offers competitively priced hardware analyzers.
To understand what makes Total Phase's hardware-based USB analyzers better than software analyzers, it is important to first understand how a software analyzer works.
Software USB analyzers replace the USB software stack on the host machine under test in order to monitor USB data. They are subsequently fully dependent on the hardware of the host PC (i.e., the host controller under test) with regard to what USB information is available for analysis. The host controller is responsible for arbitrating the flow of data and also manages activities such as data retransmission on errors. These functions are managed internal to the host controller and are therefore beyond the purview of any USB software analyzers.
What are the benefits of using a hardware analyzer over a software analyzer?
- Non-intrusively monitor USB without being a part of the bus
By being independent of the system under analysis, the Beagle USB analyzers have no effect on the bus they monitor. In contrast, software analyzers are dependent on the actual hardware of the host computer, even if they replace the USB software stack.
- See low-level USB bus states and error conditions
Since software analyzers are by nature left in the dark by host controller hardware, they are not able to display bus states and low-level events such as:
- High-speed negotiation (K/J chirps)
- Reset, Suspend, and Resume events
- IN/NAKs, PING/NAKs, SOF
- Transmission errors and retransmissions
- and more...
- Nanosecond level timing resolution
The Beagle USB analyzers can provide accurate time stamping of USB traffic down to nanoseconds precision. Software analyzers are dependent on the timing precision of the host operating system which is thousands of times less precise than a dedicated hardware analyzer.
- Monitor devices other than the analysis PC
By their very nature, software analyzers are only able to monitor USB traffic on the host computer. They cannot capture data between any arbitrary USB host and device. For example, software analyzers are unable to sniff USB On-The-Go (OTG) events between devices such as a digital camera and a cell phone. Furthermore, since most USB software analyzers are only compatible with Microsoft Windows, they do not work well for debugging embedded hosts.
- Monitor Suspend and Resume
Suspend and Resume functionality of USB devices can only be properly monitored with a hardware analyzer. It is not possible to monitor these events with a software analyzer if the computer running the application must be put into suspend.
Traditionally, developers had to accept the limitations of software-based analyzers because hardware-based USB analyzers were too expensive. However, with Total Phase's affordable hardware-based analysis tools, there is no longer a need to compromise.