Este vídeo mostra como funciona a descoberta de dispositivos USB. A comunicação entre um dispositivo USB e um dispositivo alvo nos mostra que existe uma infinidade de variáveis e comunicações entre os dois, onde o sistema descobre tanto a velocidade do USB conectado quanto as diferentes negociações que existem entre os dois. Agora, um vídeo interessante de Ben Eater nos mostra o que acontece quando você conecta um dispositivo USB a um PC.
Como funciona a descoberta de dispositivos USB?
Quando você conecta um dispositivo, primeiro ele aciona uma negociação ou comunicação anterior. A primeira dessas comunicações são os sinais do dispositivo que permitirão que você saiba se é um dispositivo de alta ou baixa velocidade.
Quando um dispositivo é conectado ao sistema USB, é atribuído um número denominado “endereço”. O endereço é usado exclusivamente por aquele dispositivo enquanto ele está conectado. Este endereço pode mudar cada vez que o dispositivo for conectado.
Além deste endereço, este dispositivo também possui vários terminais, um conjunto de origens e destinos entre as várias comunicações entre o host e o dispositivo.
Todas as solicitações padrão são transmitidas por meio de transferências de controle para o ponto final 0. Uma transferência de controle começa com uma transação de estabelecimento transportando 8 bytes. Esses 8 bytes definem a solicitação do host.
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. Alguns desses pacotes fazem com que um dispositivo envie alguns pacotes em resposta.
A comunicação dentro do USB é baseada em uma série de canais de dados, canais lógicos dentro do fluxo de dados. Você poderia dizer que eles são uma conexão do controlador de host para uma entidade lógica dentro de um dispositivo, que atua como o terminal.