Layout do dispositivo USB
Um dispositivo USB (Barramento Serial Universal) define seus recursos e funcionalidades 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 as funcionalidades e os recursos de um dispositivo, principalmente suas funcionalidades e interfaces de energia. 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 do dispositivo. O driver do 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 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 pontos de extremidade 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 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 várias interfaces
Para dispositivos multifuncionais, o dispositivo tem várias interfaces. Para usar uma função ou uma interface específica, o driver do cliente seleciona a interface e uma configuração alternativa associada. Considere um dispositivo USB de várias funções, como uma webcam. O dispositivo tem 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 usa a entrada de áudio por meio do microfone. A configuração do dispositivo inclui ambas as interfaces.
Este diagrama mostra a configuração do dispositivo 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 ponto de extremidade, quando o ponto de extremidade está em uso, a largura de banda é reservada no barramento. Quando a câmera não estiver transmitindo vídeo, o driver do cliente poderá selecionar Configuração Alternativa 0 para conservar a largura de banda. Quando a webcam está transmitindo vídeo, o driver do cliente pode alternar para Configuração Alternativa 1 ou 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 1.
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 operação de transferência de dados ou 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 que você navegue por todos os controladores USB e os dispositivos USB que estão 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 funcionalidade do dispositivo.
Em seguida, consulte Descritores USB padrão.