Customers often ask how many Acroname USBHub3+ hubs can be daisy-chained. The answer is pretty simple: four. However, getting there requires some understanding of the USB specification and the internal topology of Acroname hubs. Also, by following our suggested configuration, customers can maximize access to one of the most useful features of Acroname products: fully programmable USB ports.
USB Topology Review
In a 2019 blog post we wrote about the limitations of USB tree depth and device count. This post explains the bounds imposed by the USB specification and USB hosts. As a review, there are two limits:
- Tree depth: USB is limited to seven tiers of devices.
- Device count: USB host controllers limit the total number of devices across all layers.
For this post, which is focused on daisy-chaining, we’ll only consider the first limit. Please keep in mind that the device count limitation always applies. It’s easy to reach the maximum when using multiple hubs. Also, this post assumes that the host computer and downstream devices don't include any hubs (other than the host root hub).
One final refresher: the Acroname USBHub3+ is composed of two layers of internal USB hub chips. This is typical in 8-port USB hubs and is shown in the USBHub3+ datasheet block diagram:
USBHub3+ Block Diagram
Daisy-Chaining using a Programmable Port
The simple approach to daisy-chaining USBHub3+ hubs uses one of the numbered downstream ports to connect to an upstream port of the next USBHub3+. This is depicted in the diagram below:
Programmable Port Daisy-Chaining
There are two major reasons to avoid this approach:
First, due to the USB tree depth limitation, only 2 USBHub3+ hubs can be daisy-chained. The blue arrows indicate the USB tier for each hub and the lowest downstream device in the topology. While the final device is only on tier six (out of seven), it’s not possible to connect another USBHub3+ because it would add two more tiers, and its downstream devices would not be able to enumerate.
Second, one USBHub3+ programmable port is “wasted.” The connection between the two USBHub3+ hubs is on a programmable port, but none of the programmable features of that port would be required. Everything that could be accomplished by modifying settings on that port could be done by controlling the second USBHub3+ directly.
Daisy-Chaining using the Down-A Port
Meet the better way to daisy-chain:
Down-A Port Daisy-Chaining
This topology eliminates both downfalls of the previous approach. It relies on the often overlooked USB Down-A port on back of the USBHub3+. While this port is not programmable and does not include all the features of the numbered downstream ports, it is perfect for daisy-chaining.
By using the Down A port, each connection between USBHub3+ hubs only adds one tier. This enables using up to four levels of USBHub3+ hubs (on systems without any internal hubs). The downstream devices connected to the final Acroname hub will reside on tier seven.
Furthermore, none of the programmable ports are used for daisy-chaining. Every numbered downstream port on each USBHub3+ hub is available for other downstream devices.
The maximum Acroname USBHub3+ daisy-chaining depth is four. With the example topology shown in this post, you can use four Acroname hubs to get 32 fully programmable USB ports on just one host USB port.