Re: Slow Response through APCC


Dale Ghent
 

USB 3.0 SuperSpeed (up to 5Gb/s) uses its own set of physical wires for full-duplex tx+rx. These are completely separate from the single pair used by USB 1.1 and 2.0 devices, which are limited to half-duplex communication as a result. Thus, USB 3.0 SS data doesn't timeshare _at all_ with devices on the same bus which adhere to earlier standards.

There are, however, *hub controller* contention issues regarding USB 1.1 devices being plugged into USB 2.0 ports. With USB 1.1 operating at 12Mb/s, and USB 2.0 up to 480Mb/s, the hub controller needs to be able to take the 1.1 signaling and integrate it into the 2.0 signaling before sending it upstream. Logically, this is done by what's called a Transaction Translator (TT). TTs are allocated to the downstream ports, and the most simplistic of hub controllers implement a *single* TT. This single TT is shared amongst all downstream devices, and as you might predict, this creates a processing bottleneck. More performant hub controller implement multiple TTs, usually with one per downstream port. This means that bottlenecks created by a mix of downstream 1.1 and 2.0 devices are completely minimized. As explained above, USB 3.0 devices don't see any of this - they have their own data signaling wires to start with.

So, in summary, USB 3.0+ hubs can be thought of two USB hubs in one, although it looks like one physical unit. The controller chips which comprise a USB 3 hub can be broken into two main logic areas, or PHYs: one servicing USB 1.1 and 2.0 devices using one or more TTs, and the other servicing USB 3.0+ devices. This is possible because USB 3.0 devices which are connected to the hub use their own separate wires. USB 1.1/2.0 devices are on their own, with any bottlenecks governed by how many TTs are available as explained above. This also explains why you can generally use a USB 3.0 hub on a system which only has USB 2.0 ports - the USB 3.0 portion just goes unused as unrecognized by the host.

On my setups and because astronomy gear tends to be a menagerie of USB 1.1, 2.0, and 3.0 devices, I make sure to use USB hubs which incorporate controllers which feature multi-TTs. One example of these is the StarTech ST7300U3M hub, which uses the ASMedia ASM1074 controller.

/dale

On Oct 28, 2018, at 9:40 PM, 'Joseph Zeglinski' J.Zeglinski@... [ap-gto] <ap-gto@...> wrote:



Jack,

Glad you found the source of the problem.

However, I am curious about the USB channels used with each camera. Are both cameras USB-2 or is the higher res camera a USB-3. Perhaps there is a data transmission bottleneck. Please confirm whether their USB level, and whether they share a common USB stream to the PC. Also, if your PC has a USB-3 port, ALL of the attached accessories sharing a USB-3 hub, and USB-3 the PC host port, would work much better with far less data contention on such a link, especially if there is a mix of USB-2 and USB-3 devices in that loop. That’s because a USB-3 camera wouldn’t have to wait for the common port to the PC to become free of any “concurrent” or pending USB-2 traffic, since USB-3 channels are “bi-directional”, unlike two-way alternate USB-2 hogging the common line. Its also the same reason that Ethernet connections are faster than WiFi.

In the long term - even if you have mostly USB-2 accessories sharing a hub – assuming you don’t have the camera on its own dedicated USB-2 channel – it would be wise to change any USB-2 loop to a USB-3 which does a far better job of coexisting with slower accessories.

USB-3 speed owes a lot to its ability to timeshare the data line to the PC.

Joe


Join main@ap-gto.groups.io to automatically receive all group messages.