Q: I am trying to use the Digital In/Out signal feature of the Beagle USB 480 Protocol Analyzer. I am working on a Human Interface Device (HID) with switches. I want the latency measurements from the user action to the USB report of that action. I have attached four input wires to the switches and started up the USB capture.
The problem I have is shown in the capture below; the timestamp for the Digital Input is after the USB report that is generated from the Digital Input event. This capture is a "press" (first digital input - Index 2975) and then a "release" event (Index 2984). In the queue, the Digital Input and Report are visually in the right order, but the timing is backwards. This does not change if I set the Time Reference to begin at the Digital Input (Report shown with negative time) or switch to Interval Timing.
I am looking to accurately measure the time beginning from the Digital Input and ending with the corresponding USB Report. Is there a way to do that?
A: Thanks for your question! Let's take a look at the Beagle Protocol Analyzer Data Sheet section 3.4 for information about the Beagle USB 480 protocol analyzer digital input performance and requirements. Following are key points from the data sheet.
How the Beagle 480 Digital Input Works:
Digital inputs provide a means to insert events into the data stream. There are four digital inputs that can be enabled individually, pins 1–4 on the mini-DIN 0 connector. Pins 5–8 are digital output and pin 9 is ground.
When an enabled input changes state, it issues an event. The event is then tagged with a timestamp of when the input was interpreted by the Beagle USB 480 analyzer. For accurate interpretation, the digital input must be as follows:
- The digital input rate must not exceed 30MHz. Digital inputs operating faster than that are not guaranteed to be interpreted correctly by the Beagle USB 480 analyzer.
- Only one digital input event can occur per active packet.
- All other digital input events can only be handled after the packet has completed.
Note: Digital inputs, although guaranteed to have the correct timestamp within the above conditions, could possibly be presented out of order. Timestamps are provided randomly by the user and have no direct correlation to the bus.
Signal Quality Guidelines:
We strongly recommend that all non-driven digital inputs are either disabled or tied to ground. An unused digital input that is not actively driven is susceptible to cross-talk. Any nearby signal, such as another digital input or output signal, could activate the "open" input.
For more information about our Beagle USB 480 protocol analyzer and our other products, please see the following: