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.



Fjern bakgrunnsbakgrunnsbilder i Windows

Fjern bakgrunnsbakgrunnsbilder i Windows

Leter du etter en måte å slette skrivebordsbakgrunner fra din Windows PC? Hvis du noen gang har endret bakgrunnen i Windows, har du sannsynligvis lagt merke til det latterlige antallet ubrukelige bakgrunnsbilder som følger med systemet som standard. Jeg har ALDRI brukt noen av de innebygde bakgrunnsbilder og derfor ønsket å finne ut en måte å slette dem permanent!Dette

(How-to)

Slik flytter du og trekker ut PDF-sider

Slik flytter du og trekker ut PDF-sider

På et eller annet tidspunkt har du sannsynligvis måtte redigere en PDF-fil ved å enten flytte sidene rundt, slette en side eller trekke ut en side eller et sett med sider i en egen PDF-fil. Nylig måtte jeg endre rekkefølgen på noen få PDF-sider og trekke ut et annet sett med sider i en egen PDF-fil.I denn

(How-to)