14Aug
Lielākā daļa no mums nekad nav daudz domājuši par mūsu USB ierīcēm, mēs vienkārši pievienojam tos un aizmirst par tiem. Bet ko tad, ja jūs esat ziņkārīgs veids, kurš vēlas uzzināt vairāk par to, kā darbojas USB?Šodienas SuperUser Q & amai ir atbildes uz ziņkārīgo lasītāja jautājumiem.
šodienas jautājums &Atbildes sesija mums priecājas par SuperUser - Stack Exchange, kas ir kopienas un Q & A tīmekļa vietņu grupa.
Foto pieklājīgi no Evilelka Kowalski( Flickr).
Jautājums
SuperUser lasītājs smeeb vēlas uzzināt, vai patiešām ir faktiskais USB sakaru protokols:
Saskaņā ar Wikipedia, USB:
- Nosaka kabeļus, savienotājus un sakaru protokolus, kas tiek izmantoti autobusā pieslēgšanai, sakari un barošana starpdatori un elektroniskās ierīces.
Bet vai pastāv faktiskais USB komunikācijas protokols ?Es saprotu, ka:
- Jūs pievienojat USB ierīci mašīnai( piemēram, Ubuntu vai jebkura veida Linux).
- Linux kaut kādā veidā atrod šo ierīču draiveri( bonuss, ja jūs zināt, ) un ielādē to.
- Iekārta tagad ir savienota ar /dev/ theDevice .
- Lietotāju telpu progr tagad var lasīt un rakstīt /dev/ theDevice , un draiveris apstrādā zemā līmeņa ievadi un izvadi uz pamata ierīci / aparatūru.
Cik es varu pateikt, USB sakaru protokols neparādās šajā plūsmā.Ja mana izpratne ir pareiza, USB ir tikai kabelis un elektriskie savienojumi starp datoru un ierīci.
Vai es esmu nepareizi šeit? Vai USB patiešām īsteno kādu zema līmeņa protokolu, kas pasvītro plūsmu virs? Ja jā, kāds ir tas un kā tas darbojas 30 000 kājām?
Vai ir faktiskais USB sakaru protokols?
Atbildes
SuperUser atbalstītāji RedGrittyBrick un projectdp ir atbildes mums. Pirmkārt, RedGrittyBrick:
Jā( skatiet USB protokolus).
Kā es to saprotu, USB spec definē kompleksu virkni slāņveida protokolu un ierīču profilu.
Piemēram, USB ierīces var atbilst augsta līmeņa veidnēm, piemēram, masveida uzglabāšanai, tastatūrai, cilvēka saskarnes ierīcei utt., Un tās var pārvaldīt ar vispārēju ierīces draiveri. Dažas USB ierīces var sazināties zemākā līmenī, tādā veidā, ka operētājsistēmas zemā līmeņa USB atbalsts var atpazīt, ka ir nepieciešami ierīces augstāka līmeņa draiveri.
Pēc tam, kad atbildēja no projectdp:
jautājums
Vai darbojas zema līmeņa USB sakaru protokols un kas tas ir?
Atbilde
Jā, tur ir. USB specifikācijā ietilpst USB protokols, kas definē veidu, kā autobuss tiek izmantots bitu līmenī.Tas būtu zemā līmeņa protokols, kas ir pamatā augstāka līmeņa protokoliem( t.i., masveida uzglabāšanai, HID utt.).
Lai iegūtu informāciju par to, kā darbojas USB protokols, šī OSDev wiki ir noderīga.Šeit ir vēl viens interesants apraksts, izmantojot secības diagrammas, lai aprakstītu dažādus datu pārraides gadījumus, izmantojot USB protokolu.
Bonusa jautājums
Kā Linux atrod un ielādē šīs ierīces draiveri?
bonusa atbilde
Linux, izmantojot USB kodolu, USB aparatūras un kodola dēļ USB aparatūra tiks atpazīta, izmantojot USB specifikāciju. No datortehnikas puses atklāšanu veic USB resursdatora kontrolleris. Tad kodolā Host Controller Driver pārņem un pārveido zemā līmeņa biti uz stieņa uz USB protokola formatētu informāciju.Šī informācija pēc tam tiek ievietota usbcore draiverī kodolā.
es pārfrāzēju no šī lieliskā Opensourceforu rakstu, kas daudz vairāk detalizēti un skaidrāk skaidro jūsu jautājumu Linux kontekstā.
Pārliecinieties, lai iepazīstieties ar pārējo dzīvo diskusiju, izmantojot pavedienu saiti, kas ir kopīga tālāk!
Vai kaut kas jāpievieno paskaidrojumam? Skatieties komentāros. Vēlaties lasīt citas atbildes no citiem tehnoloģiju savvy Stack Exchange lietotājiem?Šeit skatiet pilnu diskusiju pavedienu.