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.


HTG Reviews O Wink Hub: Dê ao seu Smarthome um cérebro sem quebrar o banco

HTG Reviews O Wink Hub: Dê ao seu Smarthome um cérebro sem quebrar o banco

Ter uma casa cheia de dispositivos inteligentes é ótimo, mas administrá-los de forma suave e unificada pode ser um pesadelo : insira o hub de automação residencial. Continue lendo enquanto testamos em campo o Wink Hub e mostramos a você como fazer seus dispositivos funcionarem juntos. O que é o Wink Hub?

(how-to)

Como configurar um aplicativo para sempre executar no modo Administrador

Como configurar um aplicativo para sempre executar no modo Administrador

A execução de aplicativos como um usuário padrão sem privilégios elevados é uma boa prática de segurança, mas e os horários em que um aplicativo só funcionará se é executado como administrador? Leia como nós destacamos como facilmente e permanentemente definir um aplicativo para ser executado com privilégios administrativos Caro How-To Geek, Eu tenho um problema e eu até encontrei uma solução em seu site, mas uma camada extra sobre o topo do meu problema me impede de usar sua solução.

(how-to)