0
\$\begingroup\$

Some USB hubs have status LED that shows activity. Let's say, I want to make a USB3 cable with status LED that would indicate any activity on the bus (changes of differential voltage). Is there a way to achieve this without disturbing communication?

\$\endgroup\$

3 Answers 3

2
\$\begingroup\$

No. Or, yes, that would be easy to make, and it would constantly blink faster than your eye could recognize, because USB doesn't only consist of "big data transfers", but also of hundreds of status / bus arbitration transfers per second.

So without dedicated logic, it's impossible for your cable to tell "somethings happening on the bus, might be relevant, might not be" from "this is an ongoing USB data connection".

\$\endgroup\$
9
  • \$\begingroup\$ That's exactly what I need. Not quite common status LED, though. So, how do I detect 'something happening on the bus' case? \$\endgroup\$ Jul 23, 2016 at 23:21
  • 3
    \$\begingroup\$ look at your cable. If it's plugged in on both ends, there's something happening, whether or not the USB device does something useful. My whole point. \$\endgroup\$ Jul 23, 2016 at 23:24
  • \$\begingroup\$ The device I want to put into the cable doesn't know if the cable is plugged on both ends. Even if it's plugged, it can be inactive when the hub is disabled. \$\endgroup\$ Jul 23, 2016 at 23:27
  • 2
    \$\begingroup\$ So that's the whole point: either you get something as "intelligent" as a hub, which can interpret what's happening on the signal lines, or you will be stuck with the mere voltage information \$\endgroup\$ Jul 23, 2016 at 23:33
  • 1
    \$\begingroup\$ that comment should be part of the question. \$\endgroup\$ Jul 24, 2016 at 0:24
1
\$\begingroup\$

It is not that simple. USB3.0 has also USB2.0 subset, and the link can down-switch to USB2 mode. If the link is between a host and a hub, both USB3 and USB2 can be active. In addition, the link might go into SUSPEND-RESUME mode back and forth, so the link activity will look differently. And yes, there is a device that accomplishes exactly what you are asking for. Check out this link. Have fun.

\$\endgroup\$
0
\$\begingroup\$

Is there a way to achieve this without disturbing communication?

The problem here really is that at least SuperSpeed (i.e. why you'd want USB3 over the much more mature, cheaper, lesser wires in a cable, smaller connector USB2) signalling is very sensitive. No wonder – the bandwidths going through the SS lines are really large when you consider these are just normal wires, not Coax or optical fibre.

So what you could do is have an active "repeater" that electrically decodes the analog voltages back to a series of digital values, then re-encodes them and forwards them, leaving you with enough headroom to actually attach a sensing element of sorts to this. That principle, "decode and forward" is a well-understood approach to relying analog signals representing digital things from communication theory – and the point is that it's better than "amplify and forward", which would also amplify errors.

There's USB3 "signal improver" ICs out there, but to be honest: Um, nothing you'd want to touch unless you know how to design PCB for high-bandwidth digital signals. Take Texas Instrument's TUSB501 as an example:

TUSB501 functional diagram, from TI's product website

You could probably buy two of them, use the first to equalize and relay the USB3 SuperSpeed signals from your USB host to the second, which you attach directly to the output, with a carefully designed power splitter in between which also feeds a high-speed (read: >2GHz!!) amplifier with a sufficiently well-matched input impedance so to not disturb the input of your second repeater IC overly much. I can assure you that I don't think anyone out there who's not built a lot of USB3 (or similar high speed digital bus systems') PCBs will expect their device to work on the first try.

However, standard-conform USB3 devices also need to support USB2 for "initial negotiations" and backwards compatibility (there's also hosts, mainly in the embedded world, that really only export the SuperSpeed Lines and "hardcode" a couple of things in the drivers). Your best chance is probably to attach, with quite a high impedance, some kind of minimal detector circuit to the USB2 data lines and see if you can come up with some state machine that tells you whether the cable is likely to be active.

Again, and as extensively discussed in my other answer, if you want to know what's happening on a bus as complex as USB3, you'll need something that "speaks" USB3, and that's not easy to build. In fact, USB3 hubs are so hard to build correctly, I've met more external USB3 hubs that randomly crash under high load, or with a lot of mixed USB2 and USB3 peripherals, or when cascading hubs, or just simply don't work with all USB3 peripherals, than I've met USB3 hubs that "just do their job as specified by USB3 standard".

\$\endgroup\$
11
  • \$\begingroup\$ I was wondering if a hall effect sensor would detect anything in this case. \$\endgroup\$
    – Bradman175
    Jul 24, 2016 at 9:56
  • \$\begingroup\$ @Bradman175 that would require you to "split" the two differential lines so that the hall effect sensor can do its job, which usually is a big no-go. Also, you'd rely on the sensor to pick up things that happen far above its bandwidth, which would probably work, but look a lot like noise, so you would need to build very sensitive, very low-noise signal condition for the output of that sensor. \$\endgroup\$ Jul 24, 2016 at 9:59
  • \$\begingroup\$ Yea I get your point, otherwise what would be the point of the differential lines. \$\endgroup\$
    – Bradman175
    Jul 24, 2016 at 10:04
  • \$\begingroup\$ Yeah, this one is somewhat closer. Which sensing element could I use for that purpose? Would a device that act like a differential probe do the trick? \$\endgroup\$ Jul 24, 2016 at 10:18
  • 1
    \$\begingroup\$ @Marcus: It depends on what do you mean under "USB state". The USB3 link has a concept of local "Link Management": the link is either active, or not (zero differential voltage). Sometimes it is sufficient to know if both (Rx and Tx) links are in active (in U0) state or not, which means that the USB transfer layer IS LIKELY ACTIVE as well. Because if the link management fails, the host will eventually detect this and will try to reset the link. If the link has, say, signal integrity problem, this re-set activity will be visible simply by watching link activity at 2.5GHz \$\endgroup\$ Jul 26, 2016 at 18:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.