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 animações com suas luzes Philips Hue

Como criar animações com suas luzes Philips Hue

ÀS vezes, tudo que você precisa de suas luzes Philips Hue é que elas liguem e desliguem quando você quiser, mas se você Se você está hospedando uma festa ou quer apenas entreter seus filhos, animar suas luzes é uma ótima maneira de dar tudo certo. Embora o aplicativo oficial da Philips Hue seja bom para a maioria dos usuários, não é tão cheio de recursos outros aplicativos de terceiros do Hue, e o iConnectHue é um dos nossos favoritos.

(how-to)

Tudo o que você precisa saber sobre o uso do iCloud Drive e da iCloud Photo Library

Tudo o que você precisa saber sobre o uso do iCloud Drive e da iCloud Photo Library

A Apple apresentou o iCloud Drive no iOS 8 e no Mac OS X Yosemite. Ele foi projetado para ser um local de armazenamento em nuvem mais fácil de entender, funcionando mais como Dropbox, OneDrive e Google Drive. Versões anteriores do iCloud podiam sincronizar seus “documentos e dados”, mas o iCloud Drive agora expõe um tipo de sistema de arquivos você.

(how-to)