Layout do dispositivo USB
Um dispositivo USB (Universal Serial Bus) define seus recursos e recursos por meio de configurações, interfaces, configurações alternativas e pontos de extremidade. Este artigo fornece uma visão geral de alto nível desses conceitos.
Uma configuração USB define os recursos e recursos de um dispositivo, principalmente seus recursos de energia e interfaces. O dispositivo pode ter várias configurações, mas apenas uma está ativa por vez. A configuração ativa não é escolhida pela pilha de driver USB, mas pode ser iniciada por um aplicativo, um driver, o driver de dispositivo. O driver de dispositivo seleciona uma configuração ativa.
Uma configuração pode ter uma ou mais interfaces USB que definem a funcionalidade do dispositivo. Normalmente, há uma correlação de um para um entre uma função e uma interface. No entanto, determinados dispositivos expõem várias interfaces relacionadas a uma função. Nesse caso, o dispositivo pode ter um IAD (descritor de associação de interface). Um IAD agrupa interfaces que pertencem a uma função específica.
Cada interface contém um ou mais pontos de extremidade, que são usados para transferir dados de e para o dispositivo. Além disso, a interface contém configurações alternativas que definem os requisitos de largura de banda da função associada à interface. Para resumir, um grupo de endpoints forma uma interface e um conjunto de interfaces constitui uma configuração no dispositivo.
Então, o que significa selecionar uma configuração ativa? Durante a inicialização do dispositivo, o driver de dispositivo para o dispositivo USB deve selecionar uma configuração, uma ou mais interfaces dentro dessa configuração e uma configuração alternativa para cada interface. A maioria dos dispositivos USB não fornece várias interfaces ou várias configurações alternativas. Por exemplo, o dispositivo OSR USB FX2 Learning Kit tem uma interface com uma configuração alternativa e três pontos de extremidade. Para obter mais informações sobre o kit de aprendizagem, consulte OSR Online.
Dispositivo de interface única
Este diagrama mostra a configuração de um dispositivo com uma única interface:
Neste exemplo, o diagrama mostra o Ponto de Extremidade 0, chamado de ponto de extremidade padrão. Todos os dispositivos USB devem ter um ponto de extremidade padrão usado para transferências de controle (consulte Transferência de controle USB). A configuração 0 tem uma interface: Interface 0 com uma configuração alternativa. A configuração alternativa 0 usa todos os três pontos de extremidade na interface.
Dispositivo de múltiplas interfaces
Para dispositivos multifuncionais, o dispositivo possui várias interfaces. Para usar uma função específica ou uma interface, o driver cliente seleciona a interface e uma configuração alternativa associada. Considere um dispositivo USB multifuncional, como uma webcam. O dispositivo possui duas funções, captura de vídeo (câmera) e entrada de áudio (microfone). O dispositivo define um ponto de extremidade em uma interface de vídeo que transmite vídeo. O dispositivo tem outro ponto de extremidade em uma interface separada que recebe a entrada de áudio por meio do microfone. A configuração do dispositivo inclui essas duas interfaces.
Este diagrama mostra a configuração do dispositivo de webcam:
Neste exemplo, o diagrama mostra o ponto de extremidade padrão. A configuração 0 tem duas interfaces: Interface 0 e Interface 1. A interface 0 tem três configurações alternativas. Apenas uma das configurações alternativas está ativa a qualquer momento. Observe que a Configuração Alternativa 0 não usa um ponto de extremidade, enquanto as Configurações Alternativas 1 e 2 usam o Ponto de Extremidade 1. Normalmente, uma câmera de vídeo usa um ponto de extremidade isócrono para streaming. Para esse tipo de endpoint, quando o endpoint está em uso, a largura de banda é reservada no barramento. Quando a câmera não está transmitindo vídeo, o driver cliente pode selecionar a Configuração Alternativa 0 para conservar a largura de banda. Quando a webcam está transmitindo vídeo, o driver cliente pode alternar para a Configuração Alternativa 1 ou a Configuração Alternativa 2, que fornece níveis crescentes de qualidade e consome largura de banda de barramento crescente. A interface 1 tem duas configurações alternativas. Semelhante à Interface 0, a Configuração Alternativa 0 não usa um ponto de extremidade. A configuração alternativa 1 é definida para usar o ponto de extremidade 4.
Os pontos de extremidade não podem ser compartilhados entre duas interfaces em uma configuração. O dispositivo usa o endereço do ponto de extremidade para determinar o ponto de extremidade de destino para uma transferência de dados ou operação de ponto de extremidade, como redefinição de pipe. Todas essas operações são iniciadas pelo host.
Antes de começar a usar o dispositivo, obtenha informações sobre o layout do dispositivo. USBView é um aplicativo que permite navegar por todos os controladores USB e os dispositivos USB conectados a eles. Para cada dispositivo conectado, você pode exibir o dispositivo, a configuração, a interface e os descritores de ponto de extremidade para ter uma ideia sobre a capacidade do dispositivo.
Em seguida, consulte Descritores USB padrão.