Cheat sheet de USB (2022)
(fabiensanglard.net)- Os nomes de geração do USB e os nomes de marketing não batem entre si, então a mesma especificação aparece com vários nomes como USB 3.0, 3.1, 3.2 e Gen 1, aumentando a confusão
- A tabela por geração reúne velocidade de sinal, valor convertido em MiB/s, quantidade de fios necessária e comprimento do cabo, permitindo comparar de relance do USB 1.1 ao USB4 40Gbps
- A notação USB Gen A x B usa A como a geração e B como a quantidade de lanes, mostrando também o overhead de codificação, a largura de banda efetiva e a diferença para a velocidade real de uso
- Nos cabos, a estrutura de lanes suportada muda conforme a composição de 4, 8 ou 12 fios, e o USB Type-C tem pinos suficientes, além dos sinais CC e SBU, para suportar duas lanes
- A tabela de energia reúne tensão, corrente e potência máximas, do 2,5W do USB 2.0 até os 240W do USB-C PD 3.1 EPR, permitindo entender de uma vez os padrões de dados e energia
Nomes e velocidades do USB
- Os nomes de marketing do USB e as designações internas são diferentes, o que facilita a confusão, e a mesma geração pode aparecer com vários nomes em paralelo
- SuperSpeed USB 5Gbps também é usado com os nomes da família USB 3.0 / 3.1 / 3.2 / Gen 1
- SuperSpeedPlus USB 10Gbps também é usado com os nomes da família USB 3.1 / 3.2 / Gen 2
- SuperSpeedPlus USB 20Gbps corresponde a USB 3.2 Gen 2x2, USB4 20Gbps a USB4 Gen 2x2 e USB4 40Gbps a USB4 Gen 3x2
- A tabela por geração reúne velocidade de sinal, valor convertido em MiB/s, quantidade de fios necessária e comprimento do cabo
- USB 1.1 aparece como 12 Mbps, 1.5 MiB/s, 4 fios e 4m
- USB 2.0 aparece como 480 Mbps, 60 MiB/s, 4 fios e 4m
- USB4 40Gbps aparece como 40000 Mbps, 5000 MiB/s, 12 fios e 0.8m
- A notação USB Gen A x B usa A como geração e B como número de lanes em uso
- USB 3.2 Gen 1 x 1 é descrito com sinal de 5000 Mbps, codificação 8b/10b, efetivo de 4000 Mbps, 500 MiB/s e uso real de 400 MiB/s
- USB 3.2 Gen 2 x 1 é descrito com sinal de 10000 Mbps, codificação 128b/132b, efetivo de 9696 Mbps, 1212 MiB/s e uso real de 780 MiB/s
- USB 4 Gen 3 x 2 é descrito com dois sinais de 20000 Mbps, totalizando 40000 Mbps, efetivo de 38787 Mbps, 4848 MiB/s e uso real de 2700 MiB/s
- O overhead de codificação é refletido na largura de banda efetiva; por exemplo, 8b/10b tem 20% de overhead
- Sistemas com múltiplas lanes usam TX lane striping e RX lane bonding
Cabos, conectores e energia
- A quantidade de fios do cabo altera a configuração de lanes que pode ser transmitida
- 4 fios são compostos por PWR, GND, D+, D-
- 8 fios adicionam RX+, RX-, TX-, TX+
- 12 fios incluem também os pares RX1/RX2, TX1/TX2
- 1 lane USB é definida como um par trançado de +/-
- 4 fios funcionam como 1 lane half-duplex
- 8 fios funcionam como 2 lanes, incluindo 1 de envio e 1 de recepção
- 12 fios funcionam como 4 lanes, incluindo 2 de envio e 2 de recepção
- Só o USB Type-C tem pinos suficientes para suportar duas lanes
- CC1 e CC2 são usados para detectar DFP/UFP, além de negociação de energia e troca para alt mode
- SBU1 e SBU2 são usados como linhas de barramento auxiliar para o canal AUX do DisplayPort e detecção de hot plug
- A tabela dos padrões de carregamento reúne tensão, corrente e potência máximas
- USB 2.0 aparece como 5V, 500mA, 2.5W
- USB 3.0 / USB 3.1 aparecem como 5V, 900mA, 4.5W
- USB Battery Charging 1.2 é 5V, 1.5A, 7.5W
- USB-C Current Mode sem PD é 5V, 3A, 15W
- USB-C Power Delivery 1/2 é 20V, 5A, 100W
- USB-C PD 3.1 EPR é 48V, 5A, 240W
- Os documentos das especificações relacionadas estão organizados com links por versão
1 comentários
Comentários do Hacker News
SBU significa Sideband Use, não "Secondary Bus"
Em alguns dispositivos, ele carrega UART; em outros, áudio
[1]: https://www.usb.org/sites/default/files/USB%20Type-C%20Spec%20R2.0%20-%20August%202019.pdf (pdf)
Meio de lado, mas este texto do autor também vale muito a leitura: https://fabiensanglard.net/mjolnir/index.html
Li uma vez alguns anos atrás e de vez em quando volto a ele
Também me faz pensar que seria bom se meu PC com mais de 10 anos chegasse silenciosamente ao fim da vida útil, para eu finalmente poder montar um sistema novo, pequeno e compacto
Você pode tropeçar no carpete e aquele PC histórico acabar caindo na lixeira
A nomenclatura do 3.2 em si até que é boa
Gen indica velocidade, e "by" indica largura de banda, então é mais ou menos um esquema parecido com a nomenclatura do PCIe
O que eu não gosto é que USB 3, USB 3.1 e USB 3.2 na prática apontam para a mesma coisa, e o marketing também não ajuda quando escreve só compatível com 3.1 ou 3.2, porque isso pode significar qualquer coisa entre 5 e 20Gbps, o que está longe do ideal
O USB mudou várias vezes e continuou confundindo quase todo mundo, e o antigo 3.0 agora nem é mais 3.0
Até o significado de 3.1 mudou, então não faz sentido insistir na nomenclatura atual
O Windows também não mostra direito em lugar nenhum o que a placa-mãe suporta, e mesmo quando você conecta um dispositivo ele não informa a velocidade real negociada
Não sei como será a comunicação de dados de curto alcance em 2050, mas parece certo que o nome ainda será USB
Boa tabela
Ficaria ainda melhor se incluísse também a nomenclatura de crossover macho/fêmea do conector Type-C e o pinout, além de tensão real, modulação e método de sinalização (USB4v2 usa codificação PAM3 11b/7t), e também as gerações e perfis de PD
Ainda não entendo por que o MacBook suporta USB4/Thunderbolt 4/5, mas não USB 3.2 Gen 2x2
Por causa disso, em discos externos mais caros dá para obter 20~40Gb/s, mas em produtos mais baratos e comuns que anunciam 20Gb/s ele fica preso a 10Gb/s
E parece que nenhuma especificação até o TB 5 define 3.2 Gen 2x2
Depois de ver este post, troquei todos os cabos USB do dock no escritório
Se o cabo que vai ao notebook não estiver adequado para fornecer energia suficiente, o notebook reduz silenciosamente o clock para consumir menos energia
Só de corrigir os cabos já houve um ganho de desempenho de 10~30%
Há também um post relacionado
USB Cheat Sheet - https://news.ycombinator.com/item?id=31271038 - maio de 2022 (168 comentários)
Já ouvi dizer que a nomenclatura do USB foi feita para confundir de propósito
Dá a impressão de que o USB-IF rebatiza gerações antigas para parecerem atuais, permitindo que os fabricantes continuem vendendo acessórios antigos que sobraram no estoque
Ficaria muito mais claro assim:
USB 3.0 / USB 3.1 Gen 1 / USB 3.2 Gen 1 -> USB 3 5Gbps
USB 3.1 / USB 3.1 Gen 2 / USB 3.2 Gen 2 -> USB 3 10Gbps
USB 3.2 Gen 2x2 -> USB 3 20Gbps
USB 4 finalmente parece estar indo na direção certa
USB 4 é parecido com Thunderbolt 4, mas quase tudo é optional
Por exemplo, USB 4 pode nem sequer suportar DP Alt mode, enquanto o Thunderbolt 4 sempre suporta
Ele se conecta ao host via USB4, e nas portas está escrito assim:
Power in/USB 10Gbps
USB 10Gbps
USB 10Gbps
8K HDMI
Até agora estou bem satisfeito
O HDMI Forum também absorveu o HDMI 2.0 dentro do HDMI 2.1 e tornou os recursos do 2.1 opcionais, permitindo que fabricantes chamem dispositivos 2.0 de 2.1 mesmo sem os recursos reais do 2.1
A AMD também fez algo parecido recentemente, lançando uma nova geração de processadores móveis em que metade era só rebranding da geração anterior
5 Gbps --> USB 3
10 Gbps --> USB 3.1
20 Gbps --> USB 3.2
Fica imediatamente claro que números maiores são melhores
Mesmo depois de 45 anos no setor de tecnologia, ainda não consigo formar uma ideia clara de USB e Thunderbolt, do que é compatível com o quê e que velocidade deveria entregar
Antes disso eu usava DisplayPort e Thunderbolt 2 havia muito tempo com bastante estabilidade, então odeio o USB-C porque fisicamente ele parece delicado demais
Antes de 2023 eu nem tinha computador lançado depois de 2012, então praticamente pulei toda a era do USB3 e a discussão sobre nomenclatura, mas o ganho de velocidade com certeza dá para perceber