Teoricamente, você pode ter até 127 dispositivos conectados a um PC host, mas existem limitações práticas de energia e largura de banda de dados que impediriam isso. Esses 127 dispositivos podem ser organizados em uma rede em camadas de hubs até sete níveis, contando o host do PC como nível 1 e o dispositivo mais distante como nível 7. O PC fornece 5 unidades de energia a um hub. Cada unidade tem 100 mA e cada porta requer no mínimo 1 unidade. O próprio hub consome um, deixando 4 unidades para até 4 portas. Portanto, você nunca encontrará um hub alimentado por barramento com mais de quatro portas.
Os hubs alimentados por barramento têm uma limitação adicional. Como cada porta possui apenas uma única unidade de energia, elas podem se conectar apenas a jusante de um único dispositivo. Você não pode conectá-los a outro hub para expansão, porque esse hub requer 5 unidades adicionais. E nem todos os dispositivos podem ficar sem uma única unidade. Um dispositivo de baixa potência, como um mouse, funcionará, mas um dispositivo de alta potência pode reivindicar até 5 unidades. Os dispositivos USB de alta potência só funcionam quando conectados diretamente a um host de PC ou a um hub com alimentação própria que pode fornecer 5 unidades à porta.
Quando você conecta um dispositivo, o PC consulta seus dispositivos quanto a seus recursos e requisitos. Assim, por exemplo, o PC sabe que está conectado a um hub alimentado por barramento de 4 portas, o que significa que cada porta pode operar apenas uma unidade. Se você tentar conectar um dispositivo de alta potência a esse hub, o sistema operacional exibirá uma mensagem de erro e se recusará a habilitá-lo.
Os hubs alimentados por barramento geralmente são uma má idéia devido a essas limitações e destinam-se principalmente ao uso móvel, não ao desktop.
Por outro lado, se os dispositivos conectados à porta tiverem alimentação própria, talvez não precisem de mais de uma unidade do hub. Por exemplo, unidades de disco externas possuem energia própria, portanto, devem funcionar bem em um hub alimentado por barramento.
Um hub auto-alimentado poderá fornecer 5 unidades a cada porta, permitindo dispositivos de alta potência e outros níveis de hubs. Assim, você pode conectar um hub auto-alimentado de 7 portas e mais sete hubs de 7 portas, fornecendo 49 portas disponíveis apenas na quarta camada.
Alguns hubs com alimentação automática permitem que você os use também no modo de barramento, mas se você tentar conectar muitos dispositivos, o sistema operacional exibirá uma mensagem de erro.
A maioria dos chips controladores de hub possui 4 portas, portanto, você geralmente vê hubs de 4 portas. Quando eles querem construir um hub maior, eles usam apenas dois chips de 4 portas. Mas eles precisam conectá-los com o primeiro chip conectado ao host e o segundo conectado a uma das portas a jusante do primeiro chip. Isso deixa apenas sete portas restantes para o usuário, três no primeiro chip e quatro no segundo - daí o hub comum de 7 portas.
O USB é plug-and-play no sentido de que você não precisa saber nada disso quando conectar as coisas. O sistema operacional monitora o orçamento de energia de cada hub e dispositivo, informa se a conexão não funcionará e que você precisa usar uma porta de alimentação automática.
edit: os pacotes USB ficam assim:
Símbolo:
ID do pacote: 8 bits
Endereço: 7 bits
Ponto final: 4 bits
CRC: 5 bits
Início do quadro:
ID do pacote: 8 bits
Número do quadro: 11 bits
CRC: 5 bits
Pacote de dados:
ID do pacote: 8 bits
Dados: 0-1023 bytes
CRC: 16 bits
Aperto de mão:
ID do pacote: 8 bits
Como o endereço é de apenas 7 bits, você só pode ter 128 dispositivos em todo o barramento (com 7 bits que podem ser ligados e desligados, existem apenas 128 combinações diferentes de bits possíveis). Isso inclui o seu computador, deixando 127 outras coisas que você pode anexar a ele.