no.phhsnews.com


no.phhsnews.com / Er det en faktisk USB-kommunikasjonsprotokoll?

Er det en faktisk USB-kommunikasjonsprotokoll?


De fleste av oss gir aldri mye tanke til våre USB-enheter, vi kobler dem bare inn og glemmer dem. Men hva om du er den nysgjerrige typen som vil vite mer om hvordan USB fungerer? Dagens SuperUser Q & A-post har svar på spørsmål fra en nysgjerrig leser.

Dagens Spørsmål og Svar-sesjon kommer til oss med høflighet av SuperUser-en underavdeling av Stack Exchange, en fellesskapsdrevet gruppe av Q & A-nettsteder.

Foto Evilelka Kowalski (Flickr).

Spørsmålet

SuperUser-leseren smeeb vil vite om det virkelig er en faktisk USB-kommunikasjonsprotokoll:

I følge Wikipedia, USB:

  • defineres kabler, kontakter og kommunikasjon protokoller som brukes i en buss for tilkobling, kommunikasjon og strømforsyning mellom datamaskiner og elektroniske enheter.

Men er det en faktisk USB kommunikasjonsprotokoll ? Min forståelse er at:

  1. Du kobler en USB-enhet til en maskin (f.eks. Ubuntu eller noen form for Linux).
  2. Linux finner enhetsdriveren for den enheten på en eller annen måte ( bonus hvis du vet! Enheten er nå koblet under
  3. / dev / theDevice . Brukerplassprogrammer kan nå lese og skrive til
  4. / dev / theDevice og driveren håndterer lavnivåinngang og -utgang til underliggende enhet / maskinvare. Ikke så langt som jeg kan fortelle, vises en

USB-kommunikasjonsprotokoll ikke noe sted i denne strømmen. Hvis min forståelse er riktig, er USB bare kabelen og elektrisk tilkobling mellom PCen og enheten. Har jeg feil her? Fungerer USB faktisk en slags lavnivå protokoll som understreker strømmen ovenfor? Hvis det er så, hva er det, og hvordan fungerer det med en 30.000 fotvisning?

Finnes det en faktisk USB-kommunikasjonsprotokoll?

Svaret

SuperUser-bidragsytere RedGrittyBrick og projectdp har svaret for oss. Først opp, RedGrittyBrick:

Ja (se USB-protokoller).

Som jeg forstår, definerer USB-spesifikasjonen et komplekst sett med lagrede protokoller og enhetsprofiler.

USB-enheter kan for eksempel tilpasse seg høyhastighets- nivåmaler som masselager, tastatur, menneskelig grensesnittsenhet, etc. og administreres av en generisk enhetsdriver. Noen USB-enheter kan kommunisere på et lavere nivå slik at operativsystemets USB-støtte på lavt nivå kan gjenkjenne at det er behov for enhetsspesifikke høyere nivådrivere.

Etterfulgt av svaret fra prosjektdp:

Spørsmål

Finnes det en lavt nivå USB kommunikasjonsprotokoll i handling og hva er det?

Svar

Ja, det er. USB-spesifikasjonen inkluderer USB-protokollen som definerer måten bussen brukes på et lite nivå. Dette ville være protokollen på lavt nivå som ligger til grunn for protokollene på høyere nivå (dvs. masselagring, HID osv.).

For detaljer om hvordan USB-protokollen fungerer, er denne OSDev wiki nyttig. Her er en annen interessant beskrivelse ved hjelp av sekvensdiagrammer for å beskrive ulike datatransaksjoner per USB-protokollen.

Bonus Spørsmål

Hvordan finner Linux og laster enhetsdriveren for den enheten?

Bonus Svar

På Linux Når du bruker en USB-aktivert kjernen, oppdages en fungerende USB-enhet via maskinvaren og kjernen på grunn av USB-spesifikasjonen. På maskinvaresiden utføres deteksjonen av USB Host Controller. Så i kjernen tar vertskontrolldriveren over og oversetter lavnivåbiter på ledningen til USB-protokollformatert informasjon. Denne informasjonen blir deretter befolket i usbcore-driveren i kjernen.

Jeg omskrevet fra denne gode Opensourceforu-artikkelen, som har mye mer detaljert og klarhet om spørsmålet ditt i Linux-sammenheng.

Pass på å sjekke resten av Den livlige diskusjonen via tråkkelen som er delt nedenfor!

Har du noe å legge til forklaringen? Lyder av i kommentarene. Vil du lese flere svar fra andre tech-savvy Stack Exchange-brukere? Se hele diskusjonstråden her.



Hva er

Hva er "Beamforming" på en trådløs ruter?

Moderne trådløse rutere lover ofte "beamforming" -teknologi for å forbedre Wi-Fi-mottak og redusere interferens. Men hva er stråleforming, hvordan fungerer det, og er det veldig nyttig? Sammendrag er beamforming en nyttig funksjon, men du vil bare få alle fordelene med nye 802.11ac-enheter. Du bør ikke nødvendigvis betale mye mer for en beamforming-aktivert router.

(how-to)

Slik aktiverer eller deaktiverer du systemgjenoppretting i Windows

Slik aktiverer eller deaktiverer du systemgjenoppretting i Windows

Systemgjenoppretting er en funksjon innebygd i Windows som periodisk lager "gjenopprettingspunkter" eller sikkerhetskopier av systemfiler og / eller brukerfiler, slik at systemet kan gjenopprettes til en tidligere tilstand i tilfelle noe går galt.Normalt vil Windows opprette disse systemgjenopprettingspunktene automatisk før bestemte hendelser, dvs.

(How-to)