pt.phhsnews.com


pt.phhsnews.com / Existe um protocolo de comunicação USB real?

Existe um protocolo de comunicação USB real?


A maioria de nós nunca pensa muito nos nossos dispositivos USB, apenas os ligamos e os esquecemos. Mas e se você é do tipo curioso que quer saber mais sobre como o USB funciona? A postagem de perguntas e respostas do SuperUser de hoje tem as respostas para as perguntas de um curioso leitor.

A sessão de Perguntas e Respostas é cortesia da SuperUser - uma subdivisão do Stack Exchange, um agrupamento de sites de perguntas e respostas.

Foto cedida por Evilelka Kowalski (Flickr).

A pergunta

SuperUser reader smeeb quer saber se realmente existe um Protocolo de Comunicação USB real:

Segundo a Wikipedia, USB:

  • Define os cabos, conectores e comunicações protocolos usados ​​em um barramento para conexão, comunicação e fonte de alimentação entre computadores e dispositivos eletrônicos.

Mas há um Protocolo de Comunicação USB real? Meu entendimento é que:

  1. Você conecta um dispositivo USB a uma máquina (Ubuntu ou qualquer tipo de Linux, por exemplo).
  2. O Linux encontra o driver de dispositivo para esse dispositivo de alguma forma ( se você sabe! ) eo carrega.
  3. O dispositivo agora está conectado sob / dev / theDevice .
  4. Aplicativos de espaço do usuário agora podem ler e gravar em / dev / theDevice e o O driver manipula a entrada e saída de baixo nível para o dispositivo / hardware subjacente

Até onde eu sei, um Protocolo de Comunicação USB não aparece em nenhum lugar nesse fluxo. Se meu entendimento estiver correto, o USB é apenas o cabo e a conexão elétrica entre o PC e o dispositivo.

Estou errado aqui? O USB realmente implementa algum tipo de protocolo de baixo nível que ressalta o fluxo acima? Em caso afirmativo, o que é e como funciona a uma vista de 30.000 pés?

Existe um Protocolo de Comunicação USB real?

Os contribuidores SuperUser da Resposta

RedGrittyBrick e projectdp têm a resposta para nós. Primeiro, RedGrittyBrick:

Sim (veja protocolos USB).

Pelo que entendi, a especificação USB define um conjunto complexo de protocolos em camadas e perfis de dispositivos.

Por exemplo, dispositivos USB podem estar em conformidade com modelos de nível como armazenamento em massa, teclado, dispositivo de interface humana, etc., e ser gerenciado por um driver de dispositivo genérico. Alguns dispositivos USB podem se comunicar em um nível inferior, de modo que o suporte USB de baixo nível do sistema operacional possa reconhecer que drivers de nível superior específicos do dispositivo são necessários.

Seguido pela resposta do projectdp:

Pergunta

protocolo de comunicação USB de baixo nível em ação e o que é?

Resposta

Sim, existe. A especificação USB inclui o protocolo USB que define a maneira como o barramento é usado em um nível de bit. Este seria o protocolo de baixo nível que subjaz aos protocolos de nível superior (ou seja, armazenamento em massa, HID, etc.).

Para detalhes sobre como o protocolo USB funciona, este wiki OSDev é útil. Aqui está outra descrição interessante usando diagramas de seqüência para descrever as várias transações de dados pelo protocolo USB

Bonus Question

Como o Linux encontra e carrega o driver de dispositivo para esse dispositivo?

Bonus Answer

On Linux Ao usar um kernel habilitado para USB, um dispositivo USB em funcionamento será detectado através do hardware e do kernel devido à especificação USB. No lado do hardware, a detecção é feita pelo controlador host USB. Em seguida, no kernel, o Driver do Controlador Host assume e converte os bits de baixo nível na conexão para informações formatadas no protocolo USB. Esta informação é então preenchida no driver usbcore no kernel.

Parafraseando deste excelente artigo Opensourceforu, que tem muito mais detalhes e clareza sobre a sua questão no contexto Linux.

Certifique-se de verificar o resto do kernel. a discussão animada através do link de discussão compartilhado abaixo!


Tem algo a acrescentar à explicação? Som desligado nos comentários. Quer ler mais respostas de outros usuários do Stack Exchange com experiência em tecnologia? Confira o tópico de discussão completo aqui.


Como criar e usar pastas inteligentes no OS X para organizar dados no seu Mac

Como criar e usar pastas inteligentes no OS X para organizar dados no seu Mac

Você já usou o OS X e questionou, qual é o problema com as Pastas Inteligentes? Afinal, eles estão por todo o Finder. Então, como eles funcionam e, mais importante, como você pode fazê-los trabalhar para você? As Pastas Inteligentes não são realmente pastas, pelo menos não no sentido tradicional. Nas pastas tradicionais, você coloca seus dados em um único local, que é representado pelo símbolo de pasta.

(how-to)

Como habilitar uma grade no iOS 'Câmera para fotos perfeitamente diretas

Como habilitar uma grade no iOS 'Câmera para fotos perfeitamente diretas

Se você gosta de usar a câmera do seu iPhone para meras selfies e retratos, provavelmente quer certificar-se de enquadrar tudo o mais reto possível. Isso é muito mais fácil se você ativar a grade da câmera do iOS. Uma grade é um recurso bastante típico na maioria das câmeras digitais e telefones. Ele simplesmente sobrepõe uma grade sobre a parte superior da tela, o que permite alinhar melhor suas fotos de modo que elas fiquem retas, economizando tempo para depois endireitá-las no pós-processamento (se você chegar perto disso).

(how-to)

Artigos Interessantes