23Aug

Os teclados USB apenas enviam sinais ou eles também os recebem?

A maioria de nós nunca pensa muito nos nossos teclados desde que funcionem bem, mas se você parar de pensar por um momento, eles apenas enviam sinais para nossos computadores ou há um processo de ida e volta ativotrabalhos? O super-usuário Q & Uma publicação tem a resposta para a pergunta de um leitor curioso.

Today's Question &A sessão de atendimento chega a cortesia do SuperUser - uma subdivisão do Stack Exchange, um agrupamento comunitário de sites Q & A.

A questão

Leitor SuperUser Ne Mo quer saber se os teclados USB apenas enviam sinais ou se eles também os recebem:

Um teclado USB não precisa receber nenhum sinal de um computador, apenas energia, certo? Ou é necessário receber sinais e enviá-los?

Os teclados USB apenas enviam sinais ou eles também os recebem?

A resposta

SuperUser contribuintes LawrenceC e Dmitry Grigoryev têm a resposta para nós. Primeiro, LawrenceC:

Da especificação "Device Class Definition for Human Interface Devices( HID)":

Para alterar os LEDs do teclado, o teclado aceita um comando para fazê-lo. Portanto, não é um dispositivo "somente entrada"( o que significa que ele apenas fornece dados para o host).Dito isto, há um processo de negociação e enumeração com todos os dispositivos USB que requerem uma conversa de ida e volta entre o host e o dispositivo. Você não pode ter um dispositivo USB "somente leitura".Mesmo antes do USB, o controlador de teclado do computador aceitaria comandos porque fazia algumas coisas além de ler o teclado( referência):

Seguido pela resposta de Dmitry Grigoryev:

Qualquer dispositivo USB, independentemente da sua classe, precisa que a comunicação bidirecional funcione. Todo dispositivo USB( ou função em termos de especificações USB) é representado como um conjunto de pontos finais que podem ser considerados buffers que aceitam ou recebem dados. No entanto, mesmo os pontos finais que só podem enviar dados aguardam um pacote especial chamado token antes de poderem responder:

As caixas cinzentas representam o host USB enquanto as caixas brancas representam funções USB( fonte do gráfico).

Mesmo as chamadas transferências de interrupção são feitas desta forma, com os dispositivos conectados ao polling do host USB usando pacotes token. O que difere entre transferências regulares( em massa) e transferências de interrupção é que o tempo de votação é pequeno e garantido no último caso. Ainda assim, todas as transferências são iniciadas pelo host.

Tem alguma coisa a adicionar à explicação? Som desligado nos comentários. Deseja ler mais respostas de outros usuários Tech-savvy Stack Exchange? Confira o tópico de discussão completo aqui.

Crédito de Imagem: Luke Jones( Flickr)