nl.phhsnews.com


nl.phhsnews.com / Is er een echt USB-communicatieprotocol?

Is er een echt USB-communicatieprotocol?


De meeste van ons denken nooit aan onze USB-apparaten, we pluggen ze gewoon in en vergeten ze. Maar wat als u het merkwaardige type bent dat meer wil weten over hoe USB werkt? De SuperUser Q & A-post van vandaag biedt de antwoorden op de vragen van een nieuwsgierige lezer. De vraag- en antwoordsessie van vandaag komt tot ons dankzij SuperUser - een onderdeel van Stack Exchange, een community-driven groep van Q & A-websites.

Foto's met dank aan Evilelka Kowalski (Flickr).

De vraag

SuperUser-lezer smeeb wil weten of er daadwerkelijk een USB-communicatieprotocol bestaat:

Volgens Wikipedia, USB:

bepaalt de kabels, connectoren en communicatie protocollen die worden gebruikt in een bus voor verbinding, communicatie en voeding tussen computers en elektronische apparaten.

  • Maar is er een

USB-communicatieprotocol ? Ik begrijp dat: je een usb-apparaat op een machine aansluit (bijvoorbeeld Ubuntu of een ander soort Linux).

  1. Linux vindt op een of andere manier het stuurprogramma voor dat apparaat (
  2. bonus als je dat weet! ) en laadt het. Het apparaat is nu verbonden onder
  3. / dev / theDevice . Gebruikersruimteapps kunnen nu lezen en schrijven naar
  4. / dev / theDevice en de stuurprogramma verwerkt de low-level invoer en uitvoer naar het onderliggende apparaat / hardware. Voor zover ik kan zien, verschijnt

USB Communication Protocol nergens in deze stroom. Als ik het goed begrijp, is de USB slechts de kabel en de elektrische verbinding tussen de pc en het apparaat. Heb ik het hier mis? Implementeert USB eigenlijk een soort low-level protocol dat de bovenstaande stroom onderstreept? Zo ja, wat is het en hoe werkt het op een afstand van 30.000 voet?

Is er een echt USB-communicatieprotocol?

De antwoorden

SuperUser-bijdragers RedGrittyBrick en projectdp hebben het antwoord voor ons. Ten eerste, RedGrittyBrick:

Ja (zie USB-protocollen).

Zoals ik het begrijp, definieert de USB-specificatie een complexe reeks gelaagde protocollen en apparaatprofielen.

USB-apparaten kunnen bijvoorbeeld voldoen aan hoge eisen niveausjablonen zoals massaopslag, toetsenbord, menselijk interface-apparaat enz. en worden beheerd door een generieke apparaatstuurprogramma. Sommige USB-apparaten kunnen op een lager niveau communiceren, zodat de low-level USB-ondersteuning van het besturingssysteem kan herkennen dat apparaatspecifieke hogere niveau-stuurprogramma's nodig zijn.

Gevolgd door het antwoord van projectdp:

Vraag

Is er een low-level USB communicatieprotocol in actie en wat is het?

Antwoord

Ja, dat is er. De USB-specificatie bevat het USB-protocol dat de manier bepaalt waarop de bus op bitniveau wordt gebruikt. Dit zou het low-level protocol zijn dat ten grondslag ligt aan de hoger niveau protocollen (dat wil zeggen massa-opslag, HID, enz.).

Voor specifieke informatie over hoe het USB-protocol werkt, is deze OSDev-wiki nuttig. Hier is nog een interessante beschrijving met sequentiediagrammen om de verschillende datatransacties per het USB-protocol te beschrijven.

Bonusvraag

Hoe vindt Linux het stuurprogramma voor dat apparaat en laad het?

Bonusantwoord

Onder Linux bij gebruik van een USB-enabled kernel wordt een werkend USB-apparaat gedetecteerd via de hardware en kernel vanwege de USB-specificatie. Aan de kant van de hardware wordt de detectie uitgevoerd door de USB Host Controller. Vervolgens neemt in de kernel de hostcontrollerstuurprogramma het over en vertaalt de low-level bits op de draad naar USB-protocol geformatteerde informatie. Deze informatie wordt vervolgens ingevuld in het usbcore-stuurprogramma in de kernel.

Ik parafraseerde dit uitstekende Opensourceforu-artikel, dat veel gedetailleerder en duidelijker is over uw vraag in de Linux-context.

Zorg ervoor dat u de rest van de de levendige discussie via de onderstaande threadlink!

Heeft u iets toe te voegen aan de uitleg? Geluid uit in de reacties. Wilt u meer antwoorden van andere technisch onderlegde Stack Exchange-gebruikers lezen? Bekijk hier de volledige discussiethread



Oplossing Er is geen beschikbare Active Mixer-apparatuur in Windows

Oplossing Er is geen beschikbare Active Mixer-apparatuur in Windows

Ik werkte onlangs op de computer van een klant die hem de foutmelding "geen actieve mixer-apparaten beschikbaar" gaf wanneer hij op het volumepictogram op de taakbalk klikte. Dit probleem kwam uit het niets en het leek bijna alsof de computer nog nooit geluid had!In de audio- en audio-apparaten of de Sound- applet in het Configuratiescherm was alles grijs en stond er een bericht Geen geluidsapparaat op het tabblad Volume

(How-to)

Waarom uw kinderen koptelefoon met volumebegrenzing zouden moeten gebruiken

Waarom uw kinderen koptelefoon met volumebegrenzing zouden moeten gebruiken

Draagbare apparaten zoals iPads, MP3-spelers en dergelijke zijn allemaal in staat om geluid uit te voeren op een niveau dat hoog genoeg is om uw gehoor te beschadigen. Terwijl volwassenen (zouden moeten) beter moeten weten en het volume moeten verlagen, doen kinderen dat vaak niet. Lees verder terwijl we u laten zien hoe u het gehoor van uw kinderen kunt beschermen met een volumebegrenzende hoofdtelefoon.

(how-to)