Vai ir faktiskais USB komunikācijas protokols?
Lielākā daļa no mums nekad nedomā par mūsu USB ierīcēm, mēs vienkārši pievienojam tos un aizmirstam 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&A ziņojumam ir atbildes uz ziņkārīgiem lasītāja jautājumiem.
Šodienas jautājumu un atbilžu sesija mums dod pieklājību no SuperUser-Stack Exchange apakšnodaļas, kas ir kopienas orientēta 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 ir īsts USB komunikācijas protokols:
Saskaņā ar Wikipedia, USB:
- Definē kabeļus, savienotājus un sakaru protokolus, ko izmanto autobusā savienojumu, komunikāciju un barošanas nodrošināšanai starp datoriem un elektroniskām ierīcēm.
Bet vai ir faktiski USB sakaru protokols? Es saprotu, ka:
- Jūs pievienojat USB ierīci ierīcei (piemēram, Ubuntu vai jebkura cita veida Linux).
- Linux atrod ierīces ierīces draiveri kaut kādā veidā (ja jūs zināt!) un ielādē to.
- Tagad ierīce ir pievienota / dev / theDevice.
- Lietotāju telpu lietotnes tagad var lasīt un rakstīt / dev / theDevice un vadītājs apstrādā zema līmeņa ievadi un izeju uz pamatā esošo ierīci / aparatūru.
Cik es varu pateikt, a USB sakaru protokols neparādās nekur šajā plūsmā. Ja mana izpratne ir pareiza, USB ir tikai kabelis un elektriskais savienojums starp datoru un ierīci.
Vai es šeit nepareizi? Vai USB faktiski īsteno zema līmeņa protokolu, kas pasvītro iepriekšminēto plūsmu? Ja tā, tad kas ir un kā tas darbojas 30 000 pēdu skatījumā?
Vai ir faktisks USB sakaru protokols?
Atbilde
SuperUser ieguldītājiem RedGrittyBrick un projectdp ir atbilde mums. Pirmkārt, RedGrittyBrick:
Jā (skatiet USB protokolus).
Kā es to saprotu, USB spec definē kompleksu slāņu protokolu un ierīču profilu kopumu.
Piemēram, USB ierīces var atbilst augsta līmeņa veidnēm, piemēram, masu glabāšanai, tastatūrai, cilvēku saskarnes ierīcei utt., Un tās pārvalda vispārējs ierīces draiveris. Dažas USB ierīces var sazināties zemākā līmenī tā, ka operētājsistēmas zemais USB atbalsts var atpazīt, ka ir nepieciešami ar ierīci saistīti augstāki draiveri.
Seko atbilde no projectdp:
Jautājums
Vai darbojas zems USB komunikācijas protokols un kas tas ir?
Atbilde
Jā tur ir. USB specifikācija ietver USB protokolu, kas nosaka veidu, kādā autobuss tiek izmantots mazliet līmenī. Tas būtu zemākā līmeņa protokols, kas ir augstāka līmeņa protokolu pamatā (t.i., masveida uzglabāšana, HID utt.).
Lai uzzinātu, kā darbojas USB protokols, šis OSDev wiki ir noderīgs. Šeit ir vēl viens interesants apraksts, izmantojot secības diagrammas, lai aprakstītu dažādus datu darījumus USB protokolā.
Bonusa jautājums
Kā Linux atrod un ielādē ierīces draiveri?
Bonusa atbilde
Izmantojot Linux, izmantojot USB iespējotu kodolu, USB specifikācija noteiks darbojošu USB ierīci, izmantojot aparatūru un kodolu. Aparatūras pusē noteikšanu veic USB Host Controller. Tad kodolā Host Controller Driver pārņem un pārveido zema līmeņa bitus uz USB protokola formatētu informāciju. Pēc tam šī informācija tiks ievietota kodola usbcore draiverī.
Es pārfrāzēju šo lielisko rakstu Openourceforu, kurā Linux kontekstā ir daudz sīkāka informācija par jūsu jautājumu.
Noteikti pārbaudiet pārējo dzīvo diskusiju, izmantojot tālāk norādīto saiti!
Vai kaut kas jāpievieno paskaidrojumam? Skaņas izslēgšana komentāros. Vai vēlaties lasīt vairāk atbildes no citiem tehnoloģiju gudriem Stack Exchange lietotājiem? Apskatiet pilnu diskusiju pavedienu šeit.