If-Koubou

Vai pastāv faktiskais USB sakaru protokols?

Vai pastāv faktiskais USB sakaru protokols? (Kā)

Lielākā daļa no mums nekad nesniedz daudz domu 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 & A ziņai ir atbildes uz ziņkārīgo lasītāja jautājumiem.

Šodienas jautājumu un atbilžu sesija mums priecājas par SuperUser - Stack Exchange dalību, kas ir kopienas vadī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 tiešām ir faktiskais USB sakaru protokols:

Saskaņā ar Wikipedia, USB:

  • Nosaka kabeļus, savienotājus un sakaru protokolus, ko izmanto autobusā savienojumam, komunikācijai un barošanas nodrošināšanai starp datoriem un elektroniskajām ierīcēm.

Bet vai pastāv fakts USB sakaru protokols? Mana izpratne ir šāda:

  1. Jūs pievienojat USB ierīci mašīnai (piemēram, Ubuntu vai jebkura veida Linux).
  2. Linux šo ierīci atdala kaut kādā veidā (bonusu, ja zināt!) un ielādē to.
  3. Tagad ierīce ir savienota zem / dev / theDevice.
  4. Lietotāja vietas lietotnes tagad var lasīt un rakstīt / dev / theDevice un vadītājs maina zemā līmeņa ieejas un izejas datus uz pamata ierīci / aparatūru.

Cik es varu pateikt, a 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?

Atbilde

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 projekta DDP atbildes:

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

Lietojot Linux USB kodolu, operētājsistēma Linux, izmantojot USB aparatūru un kodolu, datorā un kodolā atklās darbojošos USB ierīci. 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, kurā Linux kontekstā ir daudz detalizētākas un skaidrākas par jūsu jautājumu.

Pārliecinieties, ka esat izlasījis pārējās aktīvās diskusijas, izmantojot pavedienu saiti, kas ir pieejama zemāk!

Vai kaut ko pievienot paskaidrojumam? Skatieties komentāros. Vēlaties lasīt citas atbildes no citiem tehnoloģiju savvy Stack Exchange lietotājiem? Šeit skatiet pilnu diskusiju pavedienu.