I need to analyze USB communication between an Android smartphone and an embedded board that is equipped with an FTDI USB host chip, FT312D. The USB link does not run consistently. The USB communication fails at random times, anywhere from 5 minutes to 24 hours after USB communication starts. To analyze and debug this problem, I need to do the following:
Can you advise which USB protocol analyzers would work best for these requirements?
Thanks for your question! Technically, you can use the BeagleTM USB 12 Protocol Analyzer to capture your USB full speed data. However, we recommend using BeagleTM USB 480 Analyzer or the BeagleTM USB 480 Power Protocol Analyzer. These analyzers are more robust, have additional features, as well as additional buffering to insure there is no data lost over extended periods of analysis and data capture.
The Beagle USB 12 Protocol Analyzer is a non-intrusive monitor for full-speed and low-speed USB (1.5 Mbps/12 Mbps). The Beagle 12 has Real-Time USB Descriptor Parsing, and real-time Data capture and display. The Beagle 12 analyzer can also watch USB packets as they occur on the bus.
The Beagle USB 480 Protocol Analyzer is a non-intrusive monitor for high-speed, full-speed, and low-speed USB 2.0 (480 Mbps / 12 Mbps / 1.5 Mbps). The Beagle 480 analyzer has real-time USB class-level decoding with the Data Center software, two capture modes (real-time and delayed-download), high-speed USB chirp detection, robust automatic speed detection, hardware-based packet suppression, and digital inputs and outputs for synchronizing with external logic. The Beagle 480 analyzer can also detect suspend/resume events and unexpected signals. In addition, the Beagle 480 analyzer has a software circular buffer mode.
The Beagle USB 480 Power Protocol Analyzer – Ultimate Edition is an upgrade version of the Beagle 480 analyzer with enhanced features including: real time current and voltage monitoring, enhanced USB 2.0 advanced triggering, an extra-large hardware buffer and a hardware circular buffer.
For capturing and storing long periods of data capture, we recommend using the Beagle Software API. For your USB bus analysis, most likely you will need to capture more data than can be stored in the RAM of a computer. With API, you can write a custom code that stores the data in the analysis computer disk instead of the RAM. Many example programs are provided, which you can modify for your specific needs. For information about Beagle Software API, please refer to section 6 of the Beagle Protocol Analyzer User Manual.
When using a USB analyzers with the Data Center Software, the USB Data is stored in the RAM of the computer, which may not provide the storage space you need for your extended periods of data capture and analysis.
For additional information about Protocol Analyzers, Software API and other Total Phase products, please refer to the following documents:
We hope this answers your question. If you have other questions about Total Phase products, feel free to email us at sales@totalphase.com or submit a request for technical support.