# USB

Universal Serial Bus (abreviado como USB, em português, porta serial universal) é um padrão da indústria que estabelece especificações para cabos, conectores e protocolos para conexão, comunicação e alimentação (interface) entre computadores, periféricos e outros computadores. Existe uma ampla variedade de hardware USB, incluindo 14 tipos diferentes de conectores, dos quais o USB-C é o mais recente e o único não obsoleto atualmente.
Lançado em 1996, o padrão USB é atualmente mantido pelo USB Implementers Forum (USB IF). As quatro gerações de USB são: USB 1. x, USB 2.0, USB 3. x e USB4.

## Visão geral

O USB foi projetado para padronizar a conexão de periféricos a computadores pessoais, tanto para comunicação quanto para fornecimento de energia elétrica. Substituiu amplamente as interfaces, como portas seriais e portas paralelas, e tornou-se comum em uma ampla gama de dispositivos. Exemplos de periféricos conectados via USB incluem teclados e mouses de computador, câmeras de vídeo, impressoras, reprodutores de mídia portáteis, telefones digitais móveis (portáteis), unidades de disco e adaptadores de rede.
Os conectores USB vêm substituindo cada vez mais outros tipos como cabos de carregamento de dispositivos portáteis.

### Referência rápida do tipo de conector

Conectores disponíveis por padrão USB :
| Padrão | USB 1.0 1996 | USB 1.1 1998 | USB 2.0 2001 | USB 2.0 revisado | USB 3.0 2008 | USB 3.1 2013 | USB 3.2 2017 | USB4 2019 |
| Taxa máxima de transferência | 12 Mbps | 12 Mbps | 480 Mbps | 480 Mbps | 5 Gbps | 10 Gbps | 20 Gbps | 40 Gbps |
| Conector tipo A | | | | | | | Descontinuado | Descontinuado |
| Conector tipo B | | | | | | | Descontinuado | Descontinuado |
| Conector tipo C | Apenas compatibilidade com versões anteriores | Apenas compatibilidade com versões anteriores | (Ampliado para mostrar detalhes) | (Ampliado para mostrar detalhes) | (Ampliado para mostrar detalhes) | (Ampliado para mostrar detalhes) | (Ampliado para mostrar detalhes) | (Ampliado para mostrar detalhes) |
| Conector Mini-A | — | | | | Descontinuado | Descontinuado | Descontinuado | Descontinuado | Descontinuado |
| Conector mini-B | — | | | | Descontinuado | Descontinuado | Descontinuado | Descontinuado | Descontinuado |
| Conector Mini-AB | — | — | — | | Descontinuado | Descontinuado | Descontinuado | Descontinuado | Descontinuado |
| Conector micro-A | — | — | — | | | | Descontinuado | Descontinuado |
| Conector micro-B | — | — | — | | | | Descontinuado | Descontinuado |
| Conector micro-AB | — | — | — | | | | Descontinuado | Descontinuado |

### Objetivos

O Universal Serial Bus foi desenvolvido para simplificar e melhorar a interface entre computadores pessoais e dispositivos periféricos, como telefones celulares, acessórios de computador e monitores, quando comparado com interfaces proprietárias padrão ou ad hoc existentes anteriormente.
Do ponto de vista do usuário do computador, a interface USB melhora a facilidade de uso de várias maneiras:
* A interface USB é autoconfigurável, eliminando a necessidade de o usuário ajustar as configurações do dispositivo para velocidade ou formato de dados, ou configurar interrupções, endereços de entrada/saída ou canais de acesso direto à memória.
* Os conectores USB são padronizados no host, portanto, qualquer periférico pode usar a maioria dos receptáculos disponíveis.
* O USB aproveita ao máximo o poder de processamento adicional que pode ser colocado economicamente em dispositivos periféricos para que eles possam se autogerenciar. Como tal, os dispositivos USB geralmente não possuem configurações de interface ajustáveis ​​pelo usuário.
* A interface USB é hot-swappable (os dispositivos podem ser trocados sem reiniciar o computador host).
* Pequenos dispositivos podem ser alimentados diretamente da interface USB, eliminando a necessidade de cabos de alimentação adicionais.
* Como o uso do logotipo USB só é permitido após o teste de conformidade, o usuário pode ter certeza de que um dispositivo USB funcionará conforme o esperado sem interação extensiva com definições e configuração.
* A interface USB define protocolos para recuperação de erros comuns, melhorando a confiabilidade em relação às interfaces anteriores.
* A instalação de um dispositivo que depende do padrão USB requer uma ação mínima do operador. Quando um usuário conecta um dispositivo a uma porta em um computador em execução, ele é configurado automaticamente usando os drivers de dispositivo existentes ou o sistema solicita que o usuário localize um driver, que é instalado e configurado automaticamente.
O padrão USB também oferece vários benefícios para fabricantes de hardware e desenvolvedores de software, especificamente na relativa facilidade de implementação:
* O padrão USB elimina a necessidade de desenvolver interfaces proprietárias para novos periféricos.
* A ampla gama de velocidades de transferência disponíveis a partir de uma interface USB atende a dispositivos que vão desde teclados e mouses até interfaces de streaming de vídeo.
* Uma interface USB pode ser projetada para fornecer a melhor latência disponível para funções de tempo crítico ou pode ser configurada para fazer transferências em segundo plano de dados em massa com pouco impacto nos recursos do sistema.
* A interface USB é generalizada sem linhas de sinal dedicadas a apenas uma função de um dispositivo.

### Limitações

Como acontece com todos os padrões, o USB possui várias limitações em seu design:
* Os cabos USB têm comprimento limitado, pois o padrão foi projetado para periféricos na mesma mesa, não entre salas ou prédios. No entanto, uma porta USB pode ser conectada a um gateway que acessa dispositivos distantes.
* As taxas de transferência de dados USB são mais lentas do que as de outras interconexões, como 100 Gigabit Ethernet.
* O USB possui uma topologia de rede em árvore estrita e protocolo mestre/escravo para endereçar dispositivos periféricos; esses dispositivos não podem interagir um com o outro, exceto por meio do host, e dois hosts não podem se comunicar diretamente por suas portas USB. Alguma extensão para esta limitação é possível através de USB On-The-Go, Dual-Role-Devices e ponte de protocolo.
* Um host não pode transmitir sinais para todos os periféricos de uma só vez - cada um deve ser endereçado individualmente.
* Embora existam conversores entre certas interfaces legadas e USB, eles podem não fornecer uma implementação completa do hardware legado. Por exemplo, um conversor de USB para porta paralela pode funcionar bem com uma impressora, mas não com um scanner que requer uso bidirecional dos pinos de dados.
Para um desenvolvedor de produtos, o uso de USB requer a implementação de um protocolo complexo e implica um controlador "inteligente" no dispositivo periférico. Os desenvolvedores de dispositivos USB destinados à venda pública geralmente devem obter um ID de USB, o que exige que eles paguem uma taxa ao USB Implementers Forum (USB-IF). Os desenvolvedores de produtos que usam a especificação USB devem assinar um contrato com o USB-IF. O uso dos logotipos USB no produto requer taxas anuais e associação à organização.

## História

Um grupo de sete empresas iniciou o desenvolvimento do USB em 1995: Compaq, DEC, IBM, Intel, Microsoft, NEC, e Nortel. O objetivo era facilitar fundamentalmente a conexão de dispositivos externos a PCs, substituindo a infinidade de conectores na parte traseira dos PCs, abordando os problemas de usabilidade das interfaces existentes e simplificando a configuração de software de todos os dispositivos conectados ao USB, além de permitir maior taxa de transferência de dados para dispositivos externos e recursos Plug and Play. Ajay Bhatt e sua equipe trabalharam no padrão da Intel; os primeiros circuitos integrados com suporte a USB foram produzidos pela Intel em 1995.
Em 2008, cerca de 6 bilhões de portas e interfaces USB estavam no mercado global e cerca de 2 bilhões eram vendidas a cada ano.

### USB 1.x

Lançado em janeiro de 1996, o USB 1.0 especifica taxas de sinalização de 1,5 Mbit/s (baixa largura de banda ou baixa velocidade) e 12 Mbit/s (velocidade máxima). Não permitia cabos de extensão, devido a limitações de tempo e energia. Poucos dispositivos USB chegaram ao mercado até o lançamento do USB 1.1 em agosto de 1998. O USB 1.1 foi a revisão mais antiga que foi amplamente adotada e levou ao que a Microsoft designou como "PC sem legado".
Nem o USB 1.0 nem o 1.1 especificaram um projeto para qualquer conector menor que o padrão tipo A ou tipo B. Embora muitos projetos para um conector tipo B miniaturizado aparecessem em muitos periféricos, a conformidade com o padrão USB 1.x foi prejudicada pelo tratamento de periféricos que tinham conectores em miniatura como se tivessem uma conexão cabeada (isto é: sem plugue ou receptáculo na extremidade periférica). Não havia conector miniatura tipo A conhecido até o USB 2.0 (revisão 1.01) introduzir um.

### USB 2.0

O USB 2.0 foi lançado em abril de 2000, adicionando uma taxa de sinalização máxima mais alta de 480 Mbit/s (transferência de dados teórica máxima de 53 MByte/s) denominada High Speed ​​ou High Bandwidth, além da sinalização USB 1.x Full Speed taxa de 12 Mbit/s (transferência de dados teórica máxima de 1,2 MByte/s).
As modificações na especificação USB foram feitas por meio de avisos de alteração de engenharia (ECNs). Os mais importantes desses ECNs estão incluídos no pacote de especificações USB 2.0 disponível em USB.org:
* Conector Mini-A e Mini-B
* Especificação de cabos e conectores micro-USB 1.01
* Suplemento USB InterChip
* Suplemento On-The-Go 1.3 USB On-The-Go possibilita que dois dispositivos USB se comuniquem entre si sem a necessidade de um host USB separado
* Especificação de carregamento de bateria 1.1 Adicionado suporte para carregadores dedicados, comportamento de carregadores host para dispositivos com baterias descarregadas
* Especificação de carregamento de bateria 1.2: com aumento de corrente de 1,5 A em portas de carregamento para dispositivos não configurados, permitindo comunicação de alta velocidade com corrente de até 1,5 A
* Link Power Management Addendum ECN, que adiciona um estado de suspensão

### USB 3.x

A especificação USB 3.0 foi lançada em 12 de novembro de 2008, com sua gestão sendo transferida do USB 3.0 Promoter Group para o USB Implementers Forum (USB-IF) e anunciada em 17 de novembro de 2008 na SuperSpeed ​​USB Developers Conference.
O USB 3.0 adiciona um modo de transferência SuperSpeed, com plugues, receptáculos e cabos compatíveis com versões anteriores. Os plugues e receptáculos SuperSpeed ​​são identificados com um logotipo distinto e inserções azuis em receptáculos de formato padrão.
O barramento SuperSpeed ​​fornece um modo de transferência a uma taxa nominal de 5,0 Gbit/s, além dos três modos de transferência existentes. Sua eficiência depende de vários fatores, incluindo codificação de símbolo físico e overhead no nível do link. A uma taxa de sinalização de 5 Gbit/s com codificação 8b/10b, cada byte precisa de 10 bits para transmitir, portanto, a taxa de transferência bruta é de 500 MB/s. Quando o controle de fluxo, o enquadramento de pacotes e a sobrecarga de protocolo são considerados, é realista que 400 MB/s (3,2 Gbit/s) ou mais sejam transmitidos para um aplicativo.$^{(4–19)}$ A comunicação é full-duplex no modo de transferência SuperSpeed; os modos anteriores são half-duplex, arbitrados pelo host.
Os dispositivos de baixa e alta potência permanecem operacionais com este padrão, mas os dispositivos que usam SuperSpeed ​​podem aproveitar o aumento da corrente disponível entre 150 mA e 900 mA, respectivamente.$^{(9–9)}$
O USB 3.1, lançado em julho de 2013, possui duas variantes. A primeira preserva o modo de transferência SuperSpeed ​​do USB 3.0 e é rotulada como USB 3.1 Gen 1, e a segunda versão introduz um novo modo de transferência SuperSpeed+ sob o rótulo de USB 3.1 Gen 2. SuperSpeed+ dobra a taxa máxima de sinalização de dados para 10 Gbit/s, enquanto reduz a sobrecarga de codificação de linha para apenas 3%, alterando o esquema de codificação para 128b/132b.
O USB 3.2, lançado em setembro de 2017, preserva os modos de dados USB 3.1 SuperSpeed ​​e SuperSpeed+ existentes, mas apresenta dois novos modos de transferência SuperSpeed+ no novo conector USB-C com taxas de dados de 10 e 20 Gbit/s (1,25 e 2,5 GB/ s). O aumento na largura de banda é resultado da operação multipista sobre os fios existentes destinados aos recursos de flip-flop do conector USB-C.
O USB 3.0 também introduziu o protocolo UASP, que fornece velocidades de transferência geralmente mais rápidas do que o protocolo BOT (Bulk-Only-Transfer).

#### Esquema de nomenclatura

Começando com o padrão USB 3.2, o USB-IF introduziu um novo esquema de nomenclatura. Para ajudar as empresas com a marca dos diferentes modos de transferência, o USB-IF recomendou a marca dos modos de transferência de 5, 10 e 20 Gbit/s como SuperSpeed ​​USB 5Gbps, SuperSpeed ​​USB 10Gbps e SuperSpeed ​​USB 20Gbps, respectivamente. A partir de setembro de 2022, este esquema de nomeação está obsoleto.

### USB4

A especificação USB4 foi lançada em 29 de agosto de 2019 pelo USB Implementers Forum.
USB4 é baseado no protocolo Thunderbolt 3. Ele suporta taxa de transferência de 40 Gbit/s, é compatível com Thunderbolt 3 e compatível com USB 3.2 e USB 2.0. A arquitetura define um método para compartilhar um único link de alta velocidade com vários tipos de dispositivos finais dinamicamente que atende melhor à transferência de dados por tipo e aplicativo.
A especificação USB4 afirma que as seguintes tecnologias devem ser suportadas pelo USB4:
| Conexão | Obrigatório para | Obrigatório para | Obrigatório para | Observações |
| Conexão | host | hub | dispositivo | Observações |
| USB 2.0 (480 Mbit/s) | Sim | Sim | Sim | Ao contrário de outras funções, que usam a multiplexação de links de alta velocidade, o USB 2.0 sobre USB-C utiliza seu próprio par diferencial de fios. |
| USB4 Gen 2×2 (20 Gbit/s) | Sim | Sim | Sim | Um dispositivo rotulado como USB 3.0 ainda opera por meio de um host ou hub USB4 como um dispositivo USB 3.0. O requisito de dispositivo da Gen 2x2 aplica-se apenas aos novos dispositivos rotulados com USB4. |
| USB4 Gen 3×2 (40 Gbit/s) | Não | Sim | Não | Um dispositivo rotulado como USB 3.0 ainda opera por meio de um host ou hub USB4 como um dispositivo USB 3.0. O requisito de dispositivo da Gen 2x2 aplica-se apenas aos novos dispositivos rotulados com USB4. |
| DisplayPort | Sim | Sim | Não | A especificação exige que os hosts e hubs suportem o modo alternativo DisplayPort. |
| Comunicações host-to-host | Sim | Sim | — | Uma conexão do tipo LAN entre dois pares. |
| PCI Express | Não | Sim | Não | A função PCI Express do USB4 replica a funcionalidade das versões anteriores da especificação Thunderbolt. |
| Thunderbolt 3 | Não | Sim | Não | Thunderbolt 3 usa cabos USB-C; a especificação USB4 permite hosts e dispositivos e requer hubs para oferecer suporte à interoperabilidade com o padrão usando o Thunderbolt 3 Alternate Mode. |
| Outros modos alternativos | Não | Não | Não | Os produtos USB4 podem, opcionalmente, oferecer interoperabilidade com os modos alternativos HDMI, MHL, e VirtualLink. |
Durante a CES 2020, USB-IF e Intel declararam sua intenção de permitir produtos USB4 que suportem todas as funcionalidades opcionais como produtos Thunderbolt 4. Espera-se que os primeiros produtos compatíveis com USB4 sejam a série Tiger Lake da Intel e a série de CPUs Zen 3 da AMD. Lançado em 2020.
A especificação USB4 2.0 foi lançada em 1º de setembro de 2022 pelo USB Implementers Forum.

#### Esquema de nomeação de setembro de 2022

Devido aos esquemas de nomeação confusos anteriores, o USB-IF decidiu mudar novamente. A partir de 2 de setembro de 2022, os nomes de marketing seguem a sintaxe "USB XGbps", onde X é a velocidade de transferência em Gb/s. Uma visão geral dos nomes e logotipos atualizados pode ser vista na tabela adjacente.

### Histórico da versão
#### Versões de lançamento

| Nome | Data de lançamento | Taxa máxima de transferência | Nota |
| USB 0.7 | 11 de novembro de 1994 | ? | Pré-lançamento |
| USB 0.8 | Dezembro 1994 | ? | Pré-lançamento |
| USB 0.9 | 13 de abril de 1995 | Full Speed (12 Mbit/s) | Pré-lançamento |
| USB 0.99 | Agosto 1995 | ? | Pré-lançamento |
| USB 1.0-RC | Novembro 1995 | ? | Candidato Liberado |
| USB 1.0 | 15 de janeiro de 1996 | Full Speed (12 Mbit/s), Low Speed (1.5 Mbit/s) | |
| USB 1.1 | Agosto 1998 | Full Speed (12 Mbit/s), Low Speed (1.5 Mbit/s) | |
| USB 2.0 | Abril 2000 | High Speed (480 Mbit/s) | |
| USB 3.0 | Novembro 2008 | SuperSpeed USB (5 Gbit/s) | Também conhecido como USB 3.1 Gen 1 e USB 3.2 Gen 1 × 1 |
| USB 3.1 | Julho 2013 | SuperSpeed+ USB (10 Gbit/s) | Inclui o novo USB 3.1 Gen 2, também denominado USB 3.2 Gen 2 × 1 em especificações posteriores. Última versão para suportar o conector Tipo A. |
| USB 3.2 | Agosto 2017 | SuperSpeed+ USB dual-lane (20 Gbit/s) | Inclui novos modos multilink USB 3.2 Gen 1 × 2 e Gen 2 × 2. Requer conector Tipo C. |
| USB4 | Agosto 2019 | 40 Gbit/s (2-lane) | Inclui os novos modos USB4 Gen 2 × 2 (codificação 64b/66b) e Gen 3 × 2 (codificação 128b/132b) e introduz o roteamento USB4 para tunelamento de USB3.x, DisplayPort 1.4a e tráfego PCI Express e transferências de host para host, baseado no protocolo Thunderbolt 3 |
| USB4 2.0 | Setembro 2022 | 120 Gbit/s | Inclui novos modos de 80 e 120 Gbit/s no conector Tipo C |

#### Padrões relacionado à energia

| Nome da versão | Data de lançamento | Max. power | Nota |
| Carregamento de bateria USB Rev. 1.0 | 2007-03-08 | 7.5 W (5 V, 1.5 A) | |
| Carregamento de bateria USB Rev. 1.1 | 2009-04-15 | 7.5 W (5 V, 1.5 A) | Página 28, Tabela 5–2, mas com limitação no parágrafo 3.5. Na porta padrão A do USB 2.0 comum, apenas 1,5 A. |
| Carregamento de bateria USB Rev. 1.2 | 2010-12-07 | 7.5 W (5 V, 1.5 A) | |
| Fornecimento de energia Rev. 1.0 (V. 1.0) | 2012-07-05 | 100 W (20 V, 5 A) | Usando o protocolo FSK sobre a energia do barramento (V$_{BUS}$) |
| Fornecimento de energia USB Rev. 1.0 (V. 1.3) | 2014-03-11 | 100 W (20 V, 5 A) | |
| USB Type-C Rev. 1.0 | 2014-08-11 | 15 W (5 V, 3 A) | Novo conector e especificação de cabo |
| USB Power Delivery Rev. 2.0 (V. 1.0) | 2014-08-11 | 100 W (20 V, 5 A) | Usando o protocolo BMC sobre canal de comunicação (CC) em cabos USB-C. |
| USB Type-C Rev. 1.1 | 2015-04-03 | 15 W (5 V, 3 A) | |
| Fornecimento de energia USB Rev. 2.0 (V. 1.1) | 2015-05-07 | 100 W (20 V, 5 A) | |
| USB Type-C Rev. 1.2 | 2016-03-25 | 15 W (5 V, 3 A) | |
| Fornecimento de energia USB Rev. 2.0 (V. 1.2) | 2016-03-25 | 100 W (20 V, 5 A) | |
| Fornecimento de energia USB Rev. 2.0 (V. 1.3) | 2017-01-12 | 100 W (20 V, 5 A) | |
| Fornecimento de energia USB Rev. 3.0 (V. 1.1) | 2017-01-12 | 100 W (20 V, 5 A) | |
| USB Type-C Rev. 1.3 | 2017-07-14 | 15 W (5 V, 3 A) | |
| Fornecimento de energia USB Rev. 3.0 (V. 1.2) | 2018-06-21 | 100 W (20 V, 5 A) | |
| USB Type-C Rev. 1.4 | 2019-03-29 | 15 W (5 V, 3 A) | |
| USB Type-C Rev. 2.0 | 2019-08-29 | 15 W (5 V, 3 A) | Habilitando conectores e cabos USB4 sobre USB Type-C. |
| Fornecimento de energia USB Rev. 3.0 (V. 2.0) | 2019-08-29 | 100 W (20 V, 5 A) | |
| Fornecimento de energia USB Rev. 3.1 (V. 1.0) | 2021-05-24 | 240 W (48 V, 5 A) | |
| USB Type-C Rev. 2.1 | 2021-05-25 | 15 W (5 V, 3 A) | |
| Fornecimento de energia USB Rev. 3.1 (V. 1.1) | 2021-07-06 | 240 W (48 V, 5 A) | |
| Fornecimento de energia USB Rev. 3.1 (V. 1.2) | 2021-10-26 | 240 W (48 V, 5 A) | Incluindo erratas até outubro de 2021 Esta versão incorpora os seguintes ECNs: Esclarecer o uso de novas tentativas Capacidades da bateria FRS problema de tempo Esclarecimentos da regra de energia do PPS Suporte atual de pico para EPR AVS APDO |

## Projeto de sistema

Um sistema USB consiste em um host com uma ou mais portas downstream e vários periféricos, formando uma topologia em estrela. Hubs USB adicionais podem ser incluídos, permitindo até cinco camadas. Um host USB pode ter vários controladores, cada um com uma ou mais portas. Até 127 dispositivos podem ser conectados a um único controlador host.$^{(8–29)}$ Dispositivos USB são conectados em série através de hubs. O hub embutido no controlador de host é chamado de hub raiz.
Um dispositivo USB pode consistir em vários subdispositivos lógicos chamados de funções do dispositivo. Um dispositivo composto pode fornecer várias funções, por exemplo, uma webcam (função de dispositivo de vídeo) com um microfone embutido (função de dispositivo de áudio). Uma alternativa para isso é um dispositivo composto, no qual o host atribui a cada dispositivo lógico um endereço distinto e todos os dispositivos lógicos se conectam a um hub integrado que se conecta ao cabo USB físico.
A comunicação do dispositivo USB é baseada em pipes (canais lógicos). Um canal é uma conexão do controlador de host para uma entidade lógica dentro de um dispositivo, chamada de endpoint. Como os canais correspondem a pontos finais, os termos às vezes são usados ​​de forma intercambiável. Cada dispositivo USB pode ter até 32 terminais (16 entradas e 16 saídas), embora seja raro ter tantos. Os pontos de extremidade são definidos e numerados pelo dispositivo durante a inicialização (o período após a conexão física chamado "enumeração") e, portanto, são relativamente permanentes, enquanto os pipes podem ser abertos e fechados.
Existem dois tipos de pipe: stream e message.
* Um canal de mensagem é bidirecional e é usado para transferências de controle. Pipes de mensagem são normalmente usados ​​para comandos curtos e simples para o dispositivo e para respostas de status do dispositivo, usado, por exemplo, pelo canal de controle de barramento número 0.
* Um stream pipe é um pipe unidirecional conectado a um endpoint unidirecional que transfere dados usando uma interrupção isócrona, ou transferência em massa:

### transferências isócronas

    Em alguma taxa de dados garantida (para dados de streaming de largura de banda fixa), mas com possível perda de dados (por exemplo, áudio ou vídeo em tempo real)

### Interromper transferências

    Dispositivos que precisam de respostas rápidas garantidas (latência limitada), como dispositivos apontadores, mouses e teclados

### transferências em massa

    Grandes transferências esporádicas usando toda a largura de banda disponível restante, mas sem garantias de largura de banda ou latência (por exemplo, transferências de arquivos)
Quando um host inicia uma transferência de dados, ele envia um pacote TOKEN contendo um endpoint especificado com uma tupla de (device_address, endpoint_number). Se a transferência for do host para o endpoint, o host envia um pacote OUT (uma especialização de um pacote TOKEN) com o endereço do dispositivo desejado e o número do endpoint. Se a transferência de dados for do dispositivo para o host, o host enviará um pacote IN. Se o endpoint de destino for um endpoint unidirecional cuja direção designada pelo fabricante não corresponda ao pacote TOKEN (por exemplo, a direção designada pelo fabricante é IN enquanto o pacote TOKEN é um pacote OUT), o pacote TOKEN é ignorado. Caso contrário, ele é aceito e a transação de dados pode ser iniciada. Um endpoint bidirecional, por outro lado, aceita pacotes IN e OUT.
Os endpoints são agrupados em interfaces e cada interface é associada a uma única função de dispositivo. Uma exceção a isso é o endpoint zero, que é usado para configuração do dispositivo e não está associado a nenhuma interface. Uma única função de dispositivo composta por interfaces controladas independentemente é chamada de dispositivo composto. Um dispositivo composto possui apenas um único endereço de dispositivo porque o host apenas atribui um endereço de dispositivo a uma função.
Quando um dispositivo USB é conectado pela primeira vez a um host USB, o processo de enumeração do dispositivo USB é iniciado. A enumeração começa enviando um sinal de reinicialização para o dispositivo USB. A taxa de dados do dispositivo USB é determinada durante a sinalização de reinicialização. Após a redefinição, as informações do dispositivo USB são lidas pelo host e o dispositivo recebe um endereço exclusivo de 7 bits. Se o dispositivo for suportado pelo host, os drivers de dispositivo necessários para a comunicação com o dispositivo serão carregados e o dispositivo será definido para um estado configurado. Se o host USB for reiniciado, o processo de enumeração será repetido para todos os dispositivos conectados.
O controlador host direciona o fluxo de tráfego para os dispositivos, de modo que nenhum dispositivo USB possa transferir dados no barramento sem uma solicitação explícita do controlador host. No USB 2.0, o controlador de host pesquisa o tráfego no barramento, geralmente em um modo round-robin. A taxa de transferência de cada porta USB é determinada pela velocidade mais lenta da porta USB ou do dispositivo USB conectado à porta.
Os hubs USB 2.0 de alta velocidade contêm dispositivos chamados conversores de transação que convertem entre barramentos USB 2.0 de alta velocidade e barramentos de velocidade total e baixa. Pode haver um tradutor por hub ou por porta.
Como há dois controladores separados em cada host USB 3.0, os dispositivos USB 3.0 transmitem e recebem em taxas de dados USB 3.0 independentemente do USB 2.0 ou dispositivos anteriores conectados a esse host. As taxas de dados operacionais para dispositivos anteriores são definidas de maneira herdada.

## Classes de dispositivos

A funcionalidade de um dispositivo USB é definida por um código de classe enviado a um host USB. Isso permite que o host carregue módulos de software para o dispositivo e suporte novos dispositivos de diferentes fabricantes.
As classes de dispositivos incluem:
| Classe | Uso | Descrição | Exemplos ou exceção |
| 00h | Dispositivo | Não especificado | Classe de dispositivo não especificada, descritores de interface são usados ​​para determinar os drivers necessários |
| 01h | Interface | áudio | Auto-falante, microfone, Placa de som, MIDI |
| 02h | Ambos | Controle de comunicações e CDC | UART e adaptador serial RS-232, Modem, adaptador Wi-Fi, adaptador Ethernet. Usado em conjunto com a classe 0Ah (CDC-Data) abaixo |
| 03h | Interface | Dispositivo de interface humana (HID) | teclado, mouse, joystick |
| 05h | Interface | Dispositivo de interface física (PID) | Joystick de feedback de força |
| 06h | Interface | Mídia (PTP/MTP) | Scanner, Camera |
| 07h | Interface | Impressora | Impressora a laser, impressora a jato de tinta, máquina CNC |
| 08h | Interface | Armazenamento em massa USB, USB Attached SCSI | USB flash drive, leitor de cartão de memória, reprodutor de áudio digital, Câmera digital, unidade externa |
| 09h | Dispositivo | Hub USB | Hub USB de alta velocidade |
| 0Ah | Interface | CDC-Data | Utilizado em conjunto com a aula 02h (Comunicações e Controle CDC) acima |
| 0Bh | Interface | Smart Card | Leitor de smart card USB |
| 0Dh | Interface | segurança de conteúdo | Leitor de impressão digital |
| 0Eh | Interface | Video | Webcam |
| 0Fh | Interface | Classe de dispositivo de saúde pessoal (PHDC) | Monitor de pulso (relógio) |
| 10h | Interface | Audio/Video (AV) | Webcam, TV |
| 11h | Dispositivo | Painel publicitário | Descreve os modos alternativos de USB-C suportados pelo dispositivo |
| DCh | Ambos | dispositivo de diagnóstico | Dispositivo de teste de conformidade USB |
| E0h | Interface | Controlador sem fio | adaptador Bluetooth, Microsoft RNDIS |
| EFh | Ambos | Diversos | Dispositivo ActiveSync |
| FEh | Interface | Específico do aplicativo | IrDA classe de teste e medição (USBTMC), USB DFU (atualização de firmware do dispositivo) |
| FFh | Ambos | Específico do fornecedor | Indica que um dispositivo precisa de drivers específicos do fornecedor |

### Armazenamento em massa USB/ unidade USB

A classe de dispositivo de armazenamento em massa USB (MSC ou UMS) padroniza as conexões para dispositivos de armazenamento. A princípio destinado a drives magnéticos e ópticos, ele foi estendido para oferecer suporte a drives flash e leitores de cartão SD. A capacidade de inicializar um cartão SD bloqueado para gravação com um adaptador USB é particularmente vantajosa para manter a integridade e o estado puro e incorruptível do meio de inicialização.
Embora a maioria dos computadores pessoais desde o início de 2005 possa inicializar a partir de dispositivos USB de armazenamento em massa, o USB não se destina a ser um barramento principal para o armazenamento interno de um computador. No entanto, o USB tem a vantagem de permitir troca a quente, tornando-o útil para periféricos móveis, incluindo unidades de vários tipos.
Vários fabricantes oferecem unidades de disco rígido USB portáteis externas ou gabinetes vazios para unidades de disco. Eles oferecem desempenho comparável aos drives internos, limitados pelo número e tipos de dispositivos USB conectados e pelo limite superior da interface USB. Outros padrões concorrentes para conectividade de unidade externa incluem eSATA, ExpressCard, FireWire (IEEE 1394) e, mais recentemente, Thunderbolt.
Outro uso para dispositivos de armazenamento em massa USB é a execução portátil de aplicativos de software (como navegadores da Web e clientes VoIP) sem a necessidade de instalá-los no computador host.

### Protocolo de transferência de mídia

O Media Transfer Protocol (MTP) foi projetado pela Microsoft para fornecer acesso de nível mais alto ao sistema de arquivos de um dispositivo do que o armazenamento em massa USB, no nível de arquivos em vez de blocos de disco. Ele também possui recursos DRM opcionais. O MTP foi projetado para uso com reprodutores de mídia portáteis, mas desde então foi adotado como o principal protocolo de acesso ao armazenamento do sistema operacional Android da versão 4.1 Jelly Bean, bem como Windows Phone 8 (os dispositivos Windows Phone 7 usavam o protocolo Zune - uma evolução do MTP). A principal razão para isso é que o MTP não requer acesso exclusivo ao dispositivo de armazenamento da mesma forma que o UMS, aliviando possíveis problemas caso um programa Android solicite o armazenamento enquanto estiver conectado a um computador. A principal desvantagem é que o MTP não é tão bem suportado fora dos sistemas operacionais Windows.

### Dispositivo de interface humana

Mouses e teclados USB geralmente podem ser usados ​​com computadores mais antigos que possuem conectores PS/2 com o auxílio de um pequeno adaptador USB-para-PS/2. Para mouses e teclados com suporte a protocolo duplo, pode ser usado um adaptador que não contenha nenhum circuito lógico: o hardware USB no teclado ou mouse foi projetado para detectar se está conectado a uma porta USB ou PS/2 e se comunicar usando o protocolo apropriado. Também existem conversores que conectam teclados e mouses PS/2 (geralmente um de cada) a uma porta USB. Esses dispositivos apresentam dois terminais HID para o sistema e usam um microcontrolador para realizar a tradução bidirecional de dados entre os dois padrões.

### Mecanismo de atualização de firmware do dispositivo

Device Firmware Upgrade (DFU) é um mecanismo independente de fornecedor e dispositivo para atualizar o firmware de dispositivos USB com versões aprimoradas fornecidas por seus fabricantes, oferecendo (por exemplo) uma maneira de implantar correções de bugs de firmware. Durante a operação de atualização do firmware, os dispositivos USB mudam seu modo de operação tornando-se efetivamente um programador PROM. Qualquer classe de dispositivo USB pode implementar esse recurso seguindo as especificações oficiais da DFU.
O DFU também pode dar ao usuário a liberdade de atualizar dispositivos USB com firmware alternativo. Uma consequência disso é que os dispositivos USB, depois de serem atualizados novamente, podem atuar como vários tipos de dispositivos inesperados. Por exemplo, um dispositivo USB que o vendedor pretende que seja apenas uma unidade flash pode "falsificar" um dispositivo de entrada como um teclado.

### Transmissão de áudio

O Grupo de Trabalho de Dispositivos USB estabeleceu especificações para streaming de áudio, e padrões específicos foram desenvolvidos e implementados para usos de classe de áudio, como microfones, alto-falantes, fones de ouvido, telefones, instrumentos musicais, etc. O grupo de trabalho publicou três versões de áudio especificações do dispositivo: Áudio 1.0, 2.0 e 3.0, referido como "UAC" ou "ADC".
O UAC 3.0 introduz principalmente melhorias para dispositivos portáteis, como redução do uso de energia ao estourar os dados e permanecer no modo de baixo consumo de energia com mais frequência, e domínios de energia para diferentes componentes do dispositivo, permitindo que sejam desligados quando não estiverem em uso.
O UAC 2.0 introduziu suporte para USB de alta velocidade (além da velocidade total), permitindo maior largura de banda para interfaces multicanal, taxas de amostragem mais altas, menor latência inerente, e melhoria de 8 × na resolução de tempo em modos síncronos e adaptativos. O UAC2 também introduziu o conceito de domínios de relógio, que fornece informações ao host sobre quais terminais de entrada e saída derivam seus relógios da mesma fonte, bem como suporte aprimorado para codificações de áudio como DSD, efeitos de áudio, agrupamento de canais, controles de usuário e descrições de dispositivos.
Os dispositivos UAC 1.0 ainda são comuns, no entanto, devido à sua compatibilidade sem driver de plataforma cruzada, e também em parte devido à falha da Microsoft em implementar o UAC 2.0 por mais de uma década após sua publicação, tendo finalmente adicionado suporte ao Windows 10 por meio de o Creators Update em 20 de março de 2017. O UAC 2.0 também é compatível com MacOS, iOS e Linux, no entanto, o Android também implementa apenas um subconjunto do UAC 1.0.
O USB fornece três tipos de sincronização isócrona (largura de banda fixa), todos usados ​​por dispositivos de áudio:
* Assíncrono – O ADC ou DAC não está sincronizado com o relógio do computador host, operando com um relógio de funcionamento livre local para o dispositivo.
* Síncrono – O relógio do dispositivo é sincronizado com os sinais USB start-of-frame (SOF) ou Bus Interval. Por exemplo, isso pode exigir a sincronização de um clock de 11,2896 MHz com um sinal SOF de 1 kHz, uma grande multiplicação de frequência.
* Adaptive – O relógio do dispositivo é sincronizado com a quantidade de dados enviados por quadro pelo host
Enquanto a especificação USB originalmente descrevia o modo assíncrono sendo usado em "alto-falantes de baixo custo" e o modo adaptativo em "alto-falantes digitais de ponta", a percepção oposta existe no mundo hi-fi, onde o modo assíncrono é anunciado como um recurso, e os modos adaptativo/síncrono têm má reputação. Na realidade, todos os tipos podem ser de alta ou baixa qualidade, dependendo da qualidade de sua engenharia e da aplicação. Assíncrono tem a vantagem de ser desvinculado do relógio do computador, mas a desvantagem de exigir conversão de taxa de amostragem ao combinar várias fontes.

## Conectores

Os conectores especificados pelo comitê USB suportam uma série de objetivos subjacentes do USB e refletem as lições aprendidas com os muitos conectores usados ​​pela indústria de computadores. O conector fêmea montado no host ou dispositivo é chamado de receptáculo, e o conector macho conectado ao cabo é chamado de plugue.$^{(2–5–2–6)}$ Os documentos oficiais de especificação USB também definem periodicamente o termo macho para representar o plugue e fêmea para representar o receptáculo.
O design destina-se a dificultar a inserção incorreta de um plugue USB em seu receptáculo. A especificação USB exige que o plugue e o receptáculo do cabo sejam marcados para que o usuário possa reconhecer a orientação correta. No entanto, o plugue USB-C é reversível. Cabos USB e pequenos dispositivos USB são mantidos no lugar pela força de aperto do receptáculo, sem parafusos, clipes ou botões giratórios como alguns conectores usam.
Os diferentes plugues A e B evitam a conexão acidental de duas fontes de energia. No entanto, parte dessa topologia direcionada é perdida com o advento de conexões USB multifuncionais (como USB On-The-Go em smartphones e roteadores Wi-Fi alimentados por USB), que exigem A-para-A, B-para-B e, às vezes, cabos Y/splitter.
Os tipos de conectores USB se multiplicaram à medida que a especificação avançava. A especificação USB original detalhava plugues e receptáculos padrão-A e padrão-B. Os conectores eram diferentes para que os usuários não pudessem conectar um receptáculo de computador a outro. Os pinos de dados nos plugues padrão são rebaixados em comparação com os pinos de alimentação, para que o dispositivo possa ser ligado antes de estabelecer uma conexão de dados. Alguns dispositivos operam em modos diferentes dependendo se a conexão de dados é feita. As docas de carregamento fornecem energia e não incluem um dispositivo host ou pinos de dados, permitindo que qualquer dispositivo USB capaz carregue ou opere a partir de um cabo USB padrão. Os cabos de carregamento fornecem conexões de energia, mas não de dados. Em um cabo somente de carga, os fios de dados estão em curto na extremidade do dispositivo, caso contrário, o dispositivo pode rejeitar o carregador como inadequado.

## Cabeamento

O padrão USB 1.1 especifica que um cabo padrão pode ter um comprimento máximo de 5 metros (16 pés 5 pol.) dispositivos operando em baixa velocidade (1,5 Mbit/s).
O USB 2.0 fornece um comprimento máximo de cabo de 5 metros (16 pés e 5 pol.) para dispositivos funcionando em alta velocidade (480 Mbit/s).
O padrão USB 3.0 não especifica diretamente um comprimento máximo de cabo, exigindo apenas que todos os cabos atendam a uma especificação elétrica: para cabeamento de cobre com fios AWG 26, o comprimento máximo prático é de 3 metros (9 pés 10 pol.).

### Cabos ponte USB

Cabos de ponte USB ou cabos de transferência de dados podem ser encontrados no mercado, oferecendo conexões diretas de PC para PC. Um cabo ponte é um cabo especial com um chip e componentes eletrônicos ativos no meio do cabo. O chip no meio do cabo atua como um periférico para ambos os computadores e permite a comunicação ponto a ponto entre os computadores. Os cabos de ponte USB são usados ​​para transferir arquivos entre dois computadores através de suas portas USB.
Popularizado pela Microsoft como Windows Easy Transfer, o utilitário da Microsoft usava um cabo ponte USB especial para transferir arquivos e configurações pessoais de um computador executando uma versão anterior do Windows para um computador executando uma versão mais recente. No contexto do uso do software Windows Easy Transfer, o cabo ponte às vezes pode ser referenciado como cabo Easy Transfer.
Muitos cabos de ponte USB / transferência de dados ainda são USB 2.0, mas também existem vários cabos de transferência USB 3.0. Apesar do USB 3.0 ser 10 vezes mais rápido que o USB 2.0, os cabos de transferência USB 3.0 são apenas 2 a 3 vezes mais rápidos devido ao seu design.$^[$
A especificação USB 3.0 introduziu um cabo cruzado A-para-A sem energia para conectar dois PCs. Estes não se destinam à transferência de dados, mas destinam-se a usos de diagnóstico.

#### Conexões USB de função dupla

Os cabos de ponte USB tornaram-se menos importantes com os recursos de dispositivo USB de dupla função introduzidos com a especificação USB 3.1. De acordo com as especificações mais recentes, o USB suporta a maioria dos cenários conectando sistemas diretamente com um cabo Type-C. Para que o recurso funcione, no entanto, os sistemas conectados devem oferecer suporte à troca de função. Os recursos de função dupla exigem que haja dois controladores no sistema, bem como um controlador de função. Embora isso possa ser esperado em uma plataforma móvel, como um tablet ou telefone, os PCs de mesa e laptops geralmente não oferecem suporte a funções duplas.

## Energia

Os conectores USB upstream fornecem energia a 5 Vcc nominal através do pino V_BUS para dispositivos USB downstream.

### Dispositivos de baixa e alta potência

Os dispositivos de baixo consumo de energia podem consumir no máximo 1 unidade de carga e todos os dispositivos devem atuar como dispositivos de baixo consumo de energia ao iniciar como não configurados. 1 unidade de carga é de 100 mA para dispositivos USB até USB 2.0, enquanto o USB 3.0 define uma unidade de carga como 150 mA.
Dispositivos de alta potência (como uma unidade de disco rígido USB típica de 2,5 polegadas) consomem pelo menos 1 unidade de carga e no máximo 5 unidades de carga (5x100mA = 500 mA) para dispositivos até USB 2.0 ou 6 unidades de carga (6x150mA = 900 mA) para dispositivos SuperSpeed ​​(USB 3.0 e superior).
Padrões de energia USB :
| Especificação | Corrente | Tensão | Power (max.) |
| Dispositivo de baixo consumo | 100 mA | 5 V | 0.50 W |
| Dispositivo SuperSpeed ​​(USB 3.0) de baixa potência | 150 mA | 5 V | 0.75 W |
| dispositivo de alta potência | 500 mA | 5 V | 2.5 W |
| Dispositivo SuperSpeed ​​(USB 3.0) de alta potência | 900 mA | 5 V | 4.5 W |
| Dispositivo Multi-lane SuperSpeed ​​(USB 3.2 Gen 2) | 1.5 A | 5 V | 7.5 W |
| Carregamento da bateria (BC) 1.1 | 1.5 A | 5 V | 7.5 W |
| Carregamento da bateria (BC) 1.2 | 1.5 A | 5 V | 7.5 W |
| USB-C | 1.5 A | 5 V | 7.5 W |
| USB-C | 3 A | 5 V | 15 W |
| Fornecimento de energia 1.0/2.0/3.0 Tipo-C | 5 A | 20 V | 100 W |
| Fornecimento de energia 3.1 Tipo-C | 5 A | 48 V | 240 W |
| 1 2 A alimentação do V$_{BUS}$de uma porta de hub de baixa potência pode cair para 4,40 V. ↑ Até cinco cargas unitárias; com dispositivos não SuperSpeed, uma unidade de carga é de 100 mA. ↑ Até seis cargas unitárias; com dispositivos SuperSpeed, uma unidade de carga é de 150 mA. ↑ Até seis cargas unitárias; com dispositivos multipista, uma unidade de carga é de 250 mA. 1 2 >3 A (>60 W) a operação requer um cabo marcado eletronicamente classificado em 5 A. ↑ A operação >20 V (>100 W) requer um cabo Extended Power Range (EPR) marcado eletronicamente. ||||
Para reconhecer o modo de carregamento da bateria, uma porta de carregamento dedicada coloca uma resistência não superior a 200 Ω nos terminais D+ e D−. Faixas de dados em curto ou quase em curto com menos de 200 Ω de resistência nos terminais "D+" e "D−" significam uma porta de carregamento dedicada (DCP) com taxas de carregamento indefinidas.
Além do USB padrão, existe um sistema proprietário de alta potência conhecido como PoweredUSB, desenvolvido na década de 1990 e usado principalmente em terminais de ponto de venda, como caixas registradoras.

## Sinalização

Os sinais USB são transmitidos usando sinalização diferencial em fios de dados de par trançado com 90 Ω ± 15% de impedância característica. USB 2.0 e especificações anteriores definem um único par em half-duplex (HDx). As especificações USB 3.0 e posteriores definem um par para compatibilidade com USB 2.0 e dois ou quatro pares para transferência de dados: dois pares em full-duplex (FDx) para variantes de faixa única (requer conectores SuperSpeed); quatro pares em full-duplex para variantes de pista dupla (×2) (requer conector USB-C).
Modos de transferência de dados USB :
| Nome da taxa | Antigo nome | Primeira publicação (padrão) | Codificação | Pares de dados | Taxa nominal | Nome de marketing USB-IF | Logo |
| Low-Speed | Does not appear | USB 1.0 | NRZI | 1 HDx | 1.5 Mbit/s | Basic-Speed USB | |
| Full-Speed | Does not appear | USB 1.0 | NRZI | 1 HDx | 12 Mbit/s | Basic-Speed USB | |
| High-Speed | Does not appear | USB 2.0 | NRZI | 1 HDx | 480 Mbit/s | Hi-Speed USB | |
| USB 3.2 Gen 1×1 | USB 3.0; USB 3.1 Gen 1 | USB 3.0 | 8b/10b | 2 FDx | 5 Gbit/s | SuperSpeed USB 5Gbps | |
| USB 3.2 Gen 2×1 | USB 3.1 Gen 2 | USB 3.1 | 128b/132b | 2 FDx | 10 Gbit/s | SuperSpeed USB 10Gbps | |
| USB 3.2 Gen 1×2 | Does not appear | USB 3.2 | 8b/10b | 4 FDx ×2 | 10 Gbit/s | — | — |
| USB 3.2 Gen 2×2 | Does not appear | USB 3.2 | 128b/132b | 4 FDx ×2 | 20 Gbit/s | SuperSpeed USB 20Gbps | |
| USB4 Gen 2×1 | Does not appear | USB4 | 64b/66b | 2 FDx | 10 Gbit/s | — | — |
| USB4 Gen 2×2 | Does not appear | USB4 | 64b/66b | 4 FDx ×2 | 20 Gbit/s | USB4 20Gbps | |
| USB4 Gen 3×1 | Does not appear | USB4 | 128b/132b | 2 FDx | 20 Gbit/s | — | — |
| USB4 Gen 3×2 | Does not appear | USB4 | 128b/132b | 4 FDx ×2 | 40 Gbit/s | USB4 40Gbps | |
* 1 2 3 4 O USB4 pode usara correção de erros de avanço Reed–Solomon (RS FEC). Neste modo, são montados 12 × 16 símbolos B (128 bits) juntamente com 2 B (12 bits + 4 bits reservados) bits de sincronização indicando os respectivos tipos de símbolos e 4 B de RS FEC para permitir corrigir até 1 B de erros em qualquer lugar no bloco total de 198 B.
* Low-speed (LS) e Full-speed (FS) usam um único par de dados, rotulados D+ e D−, em half-duplex. Os níveis de sinal transmitido são 0,0–0,3 V para baixo lógico e 2,8–3,6 V para nível alto lógico. As linhas de sinal não são terminadas.
* High-speed (HS) usa o mesmo par de fios, mas com diferentes convenções elétricas. Tensões de sinal mais baixas de -10 a 10 mV para baixo e 360 ​​a 440 mV para nível lógico alto e terminação de 45 Ω para o terra ou 90 Ω diferencial para corresponder à impedância do cabo de dados.
* SuperSpeed ​​(SS) adiciona dois pares adicionais de fio trançado blindado (e novos conectores expandidos compatíveis). Estes são dedicados à operação SuperSpeed ​​full-duplex. O link SuperSpeed ​​opera independentemente do canal USB 2.0 e tem precedência na conexão. A configuração do link é realizada usando LFPS (Low Frequency Periodic Signalling, aproximadamente na frequência de 20 MHz), e os recursos elétricos incluem redução de tensão no lado do transmissor e equalização linear adaptável no lado do receptor para combater perdas elétricas nas linhas de transmissão e, portanto, no link introduz o conceito de treinamento de link.
* SuperSpeed+ (SS+) usa taxa de dados aumentada (modo Gen 2×1) e/ou a faixa adicional no conector USB-C (modo Gen 1×2 e Gen 2×2).
Uma conexão USB é sempre entre um host ou hub na extremidade do conector A e a porta "upstream" de um dispositivo ou hub na outra extremidade.

## Camada de protocolo

Durante a comunicação USB, os dados são transmitidos como pacotes. Inicialmente, todos os pacotes são enviados do host por meio do hub raiz e, possivelmente, de mais hubs para os dispositivos. Alguns desses pacotes direcionam um dispositivo para enviar alguns pacotes em resposta.

## Transações

As transações básicas do USB são:
* transação OUT
* transação IN
* transação de CONFIGURAÇÃO
* Troca de transferência de controle

## Padrões relacionados
### Media Agnostic USB

O USB Implementers Forum apresentou o padrão de comunicação sem fio Media Agnostic USB (MA-USB) v.1.0 baseado no protocolo USB em 29 de julho de 2015. Wireless USB é uma tecnologia de substituição de cabo e usa tecnologia sem fio de banda ultralarga para taxas de dados de até 480 Mbit/s.
O USB-IF usou a especificação WiGig Serial Extension v1.2 como base inicial para a especificação MA-USB e é compatível com SuperSpeed ​​USB (3.0 e 3.1) e Hi-Speed ​​USB (USB 2.0). Os dispositivos que usam MA-USB serão marcados como 'Powered by MA-USB', desde que o produto se qualifique em seu programa de certificação.

### InterChip USB

O InterChip USB é uma variante chip-to-chip que elimina os transceptores convencionais encontrados no USB normal. A camada física HSIC usa cerca de 50% menos energia e 75% menos área de placa em comparação com o USB 2.0.

### USB-C

USB-C (oficialmente USB Type-C) é um padrão que define um novo conector e vários novos recursos de conexão. Entre eles, suporta o Modo Alternativo, que permite transportar outros protocolos por meio do conector e cabo USB-C. Isso é comumente usado para oferecer suporte aos protocolos DisplayPort ou HDMI, que permite conectar um monitor, como um monitor de computador ou aparelho de televisão, via USB-C.

### DisplayLink

DisplayLink é uma tecnologia que permite que vários monitores sejam conectados a um computador via USB. Foi introduzido por volta de 2006 e, antes do advento do Modo Alternativo por USB-C, era a única maneira de conectar monitores via USB. É uma tecnologia proprietária, não padronizada pelo USB Implementers Forum e normalmente requer um driver de dispositivo separado no computador.

## Comparações com outros métodos de conexão
### IEEE 1394

A princípio, o USB foi considerado um complemento da tecnologia IEEE 1394 (FireWire), que foi projetada como um barramento serial de alta largura de banda que interconecta com eficiência periféricos como unidades de disco, interfaces de áudio e equipamentos de vídeo. No projeto inicial, o USB operava com uma taxa de dados muito menor e usava hardware menos sofisticado. Era adequado para pequenos periféricos, como teclados e dispositivos apontadores.
As diferenças técnicas mais significativas entre FireWire e USB incluem:
* As redes USB usam uma topologia em camadas em estrela, enquanto as redes IEEE 1394 usam uma topologia em árvore.
* USB 1.0, 1.1 e 2.0 usam um protocolo "speak-when-spoken-to", o que significa que cada periférico se comunica com o host quando o host solicita especificamente que ele se comunique. O USB 3.0 permite comunicações iniciadas pelo dispositivo em direção ao host. Um dispositivo FireWire pode se comunicar com qualquer outro nó a qualquer momento, sujeito às condições da rede.
* Uma rede USB depende de um único host no topo da árvore para controlar a rede. Todas as comunicações são entre o host e um periférico. Em uma rede FireWire, qualquer nó capaz pode controlar a rede.
* O USB funciona com uma linha de alimentação de 5 V, enquanto o FireWire fornece 12 V e teoricamente pode fornecer até 30 V.
* As portas de hub USB padrão podem fornecer a partir dos típicos 500 mA/2,5 W de corrente, apenas 100 mA de portas sem hub. USB 3.0 e USB On-The-Go fornecem 1,8 A/9,0 W (para carregamento de bateria dedicado, largura de banda total de 1,5 A/7,5 W ou largura de banda alta de 900 mA/4,5 W), enquanto o FireWire pode, em teoria, fornecer até 60 watts de potência, embora 10 a 20 watts seja mais comum.
Essas e outras diferenças refletem os diferentes objetivos de design dos dois barramentos: o USB foi projetado para simplicidade e baixo custo, enquanto o FireWire foi projetado para alto desempenho, principalmente em aplicativos sensíveis ao tempo, como áudio e vídeo. Embora semelhante na taxa de transferência máxima teórica, o FireWire 400 é mais rápido que o USB 2.0 de alta largura de banda em uso real, especialmente em uso de alta largura de banda, como discos rígidos externos. O padrão FireWire 800 mais recente é duas vezes mais rápido que o FireWire 400 e mais rápido que o USB 2.0 de alta largura de banda, tanto teórica quanto praticamente. No entanto, as vantagens de velocidade do FireWire dependem de técnicas de baixo nível, como acesso direto à memória (DMA), que por sua vez criaram oportunidades para exploits de segurança, como o ataque DMA.
O chipset e os drivers usados ​​para implementar USB e FireWire têm um impacto crucial em quanto da largura de banda prescrita pela especificação é alcançada no mundo real, juntamente com a compatibilidade com periféricos.

### Ethernet

Os padrões IEEE 802.3af, 802.3at e 802.3bt Power over Ethernet (PoE) especificam esquemas de negociação de energia mais elaborados do que o USB alimentado. Eles operam a 48 V CC e podem fornecer mais potência (até 12,95 W para 802.3af, 25,5 W para 802.3at também conhecido como PoE+, 71 W para 802.3bt também conhecido como 4PPoE) em um cabo de até 100 metros em comparação com o USB 2.0, que fornece 2,5 W com um comprimento máximo de cabo de 5 metros. Isso tornou o PoE popular para telefones VoIP, câmeras de segurança, pontos de acesso sem fio, e outros dispositivos em rede dentro de edifícios. No entanto, o USB é mais barato que o PoE, desde que a distância seja curta e a demanda de energia seja baixa.
Os padrões Ethernet exigem isolamento elétrico entre o dispositivo em rede (computador, telefone etc.) e o cabo de rede até 1.500 V CA ou 2.250 V CC por 60 segundos.
O USB não tem esse requisito, pois foi projetado para periféricos intimamente associados a um computador host e, na verdade, conecta o periférico e os aterramentos do host. Isso dá à Ethernet uma vantagem de segurança significativa sobre USB com periféricos como modems a cabo e DSL conectados à fiação externa que podem assumir tensões perigosas sob certas condições de falha.

### MIDI

A definição de classe de dispositivo USB para dispositivos MIDI transmite dados de música de interface digital de instrumento musical (MIDI) por USB. A capacidade MIDI é estendida para permitir até dezesseis cabos MIDI virtuais simultâneos, cada um dos quais pode transportar os usuais dezesseis canais e relógios MIDI.
O USB é competitivo para dispositivos de baixo custo e fisicamente adjacentes. No entanto, Power over Ethernet e o padrão de plugue MIDI têm uma vantagem em dispositivos de última geração que podem ter cabos longos. O USB pode causar problemas de loop de terra entre os equipamentos, porque conecta referências de terra em ambos os transceptores. Por outro lado, o padrão de plugue MIDI e Ethernet possuem isolamento integrado para 500 V ou mais.

### eSATA/eSATAp

O conector eSATA é um conector SATA mais robusto, destinado à conexão com discos rígidos externos e SSDs. A taxa de transferência do eSATA (até 6 Gbit/s) é semelhante à do USB 3.0 (até 5 Gbit/s) e USB 3.1 (até 10 Gbit/s). Um dispositivo conectado por eSATA aparece como um dispositivo SATA comum, oferecendo desempenho total e compatibilidade total associada a unidades internas.
eSATA não fornece energia para dispositivos externos. Esta é uma desvantagem crescente em comparação com o USB. Embora os 4,5 W do USB 3.0 às vezes sejam insuficientes para alimentar discos rígidos externos, a tecnologia está avançando e os discos externos gradualmente precisam de menos energia, diminuindo a vantagem do eSATA. eSATAp (power over eSATA; também conhecido como ESATA/USB) é um conector introduzido em 2009 que fornece energia para dispositivos conectados usando um novo conector compatível com versões anteriores. Em um notebook, o eSATAp geralmente fornece apenas 5 V para alimentar um HDD/SSD de 2,5 polegadas; em uma estação de trabalho de mesa, ele também pode fornecer 12 V para alimentar dispositivos maiores, incluindo HDD/SSD de 3,5 polegadas e unidades ópticas de 5,25 polegadas.
O suporte eSATAp pode ser adicionado a uma máquina desktop na forma de um suporte conectando os recursos SATA, energia e USB da placa-mãe.
O eSATA, como o USB, suporta hot plugging, embora isso possa ser limitado pelos drivers do sistema operacional e pelo firmware do dispositivo.

### Thunderbolt

Thunderbolt combina PCI Express e Mini DisplayPort em uma nova interface de dados serial. As implementações Thunderbolt originais têm dois canais, cada um com uma velocidade de transferência de 10 Gbit/s, resultando em uma largura de banda unidirecional agregada de 20 Gbit/s.
O Thunderbolt 2 usa agregação de link para combinar os dois canais de 10 Gbit/s em um canal bidirecional de 20 Gbit/s.
O Thunderbolt 3 usa o conector USB-C. O Thunderbolt 3 tem dois canais bidirecionais físicos de 20 Gbit/s, agregados para aparecer como um único canal bidirecional lógico de 40 Gbit/s. Os controladores Thunderbolt 3 podem incorporar um controlador USB 3.1 Gen 2 para fornecer compatibilidade com dispositivos USB. Eles também são capazes de fornecer o modo alternativo DisplayPort no conector USB-C, tornando uma porta Thunderbolt 3 um superconjunto de uma porta USB 3.1 Gen 2 com modo alternativo DisplayPort.
DisplayPort Alt Mode 2.0: USB 4 suporta DisplayPort 2.0 em seu modo alternativo. DisplayPort 2.0 pode suportar resolução de 8K a 60 Hz com cor HDR10. O DisplayPort 2.0 pode usar até 80 Gbit/s, que é o dobro da quantidade disponível para dados USB, porque envia todos os dados em uma direção (para o monitor) e pode, assim, usar todas as oito pistas de dados de uma só vez.
Depois que a especificação foi isenta de royalties e a custódia do protocolo Thunderbolt foi transferida da Intel para o USB Implementers Forum, o Thunderbolt 3 foi efetivamente implementado na especificação USB4 - com compatibilidade com Thunderbolt 3 opcional, mas incentivada para produtos USB4.

## Interoperabilidade

Vários conversores de protocolo estão disponíveis para converter sinais de dados USB de e para outros padrões de comunicação.

## Ameaças de segurança

* USB Killer
* Versões herdadas do Windows, por padrão, executariam automaticamente as unidades flash USB inseridas. Isso foi desativado no Windows XP.