sv.phhsnews.com


sv.phhsnews.com / Finns det ett faktiskt USB-kommunikationsprotokoll?

Finns det ett faktiskt USB-kommunikationsprotokoll?


De flesta av oss ger aldrig mycket tanke på våra USB-enheter, vi kopplar bara in dem och glömmer dem. Men vad händer om du är den nyfikna typen som vill veta mer om hur USB fungerar? Dagens SuperUser Q & A-inlägg har svar på en nyfiken läsarens frågor.

Dagens Frågor och svarssession kommer till vårt tillstånd av SuperUser-en indelning av Stack Exchange, en community-driven gruppering av Q & A-webbplatser.

Foto med tillstånd av Evilelka Kowalski (Flickr).

Frågan

SuperUser-läsaren smeeb vill veta om det verkligen finns ett USB-kommunikationsprotokoll:

Enligt Wikipedia, USB:

  • Definieras kablar, kontakter och kommunikation protokoll som används i en buss för anslutning, kommunikation och strömförsörjning mellan datorer och elektroniska enheter.

Men finns det ett faktiskt USB-kommunikationsprotokoll ? Min förståelse är att:

  1. Du kopplar en USB-enhet till en dator (t.ex. Ubuntu eller någon form av Linux).
  2. Linux hittar enhetsdrivrutinen för den enheten på något sätt ( bonus om du vet!
  3. Enheten är nu ansluten under / dev / theDevice .
  4. Användarutrymmeappar kan nu läsas och skrivas till / dev / theDevice och drivrutinen hanterar lågnivåingång och -utmatning till den underliggande enheten / hårdvaran.

Så långt jag kan säga kommer ett USB-kommunikationsprotokoll inte att förekomma någonstans i detta flöde. Om min förståelse är korrekt är USB bara kabeln och den elektriska anslutningen mellan datorn och enheten.

Har jag fel här? Utför USB faktiskt någon form av lågnivåprotokoll som understryker flödet ovan? Om så är fallet, vad är det och hur fungerar det med en 30.000 fotvy?

Finns det ett aktuellt USB-kommunikationsprotokoll?

Svaret

SuperUser-bidragsgivare RedGrittyBrick och projectdp har svaret för oss. Först upp, RedGrittyBrick:

Ja (se USB-protokoll).

Som jag förstår definierar USB-specifikationen en komplex uppsättning skiktprotokoll och enhetsprofiler.

USB-enheter kan till exempel överensstämma med high- nivåmallar som masslagring, tangentbord, mänsklig gränssnittsenhet etc. och hanteras av en generisk enhetsdrivrutin. Vissa USB-enheter kan kommunicera på en lägre nivå så att operativsystemets låga USB-stöd kan känna igen att enhetsspecifika högre nivådrivrutiner behövs.

Följd av svaret från projektdp:

Fråga

Finns det ett USB-protokoll med låg nivå i åtgärd och vad är det?

Svar

Ja, det finns. USB-specifikationen innehåller USB-protokollet som definierar hur bussen används på en bitnivå. Detta skulle vara det lågnivåprotokoll som ligger till grund för protokollen på högre nivå (dvs masslagring, HID, etc.).

För specifika uppgifter om hur USB-protokollet fungerar, är denna OSDev wiki till hjälp. Här är en annan intressant beskrivning med hjälp av sekvensdiagram för att beskriva de olika datatransaktionerna enligt USB-protokollet.

Bonusfråga

Hur hittar och laddar enheten drivrutinen för den enheten?

Bonussvar

På Linux När du använder en USB-aktiverad kärna, kommer en fungerande USB-enhet att upptäckas via hårdvaran och kärnan på grund av USB-specifikationen. På hårdvarusidan görs upptäckten av USB-värdkontrollen. Sedan i kärnan tar värdkontrollen drivrutinen över och översätter de låga bitarna på ledningen till USB-protokollformaterad information. Den här informationen blir sedan populär i usbcore-drivrutinen i kärnan.

Jag parafraserades från den här utmärkta Opensourceforu-artikeln, som har mycket mer detalj och klarhet om din fråga i Linux-sammanhanget.

Se till att kolla resten av den livliga diskussionen via trådlänken som delas nedan!


Har något att lägga till förklaringen? Ljud av i kommentarerna. Vill du läsa mer svar från andra tech-savvy Stack Exchange-användare? Kolla in den fullständiga diskussionsgängan här.


Hur man skapar, hanterar och tar bort larm Använda Siri

Hur man skapar, hanterar och tar bort larm Använda Siri

Siri är faktiskt ganska användbar för alla sorters saker, från att söka efter saker att identifiera låtar. Du kan också använda henne för att skapa, ta bort och ändra larm i din klockapp. Så här fungerar det. Skapa ett larm För att skapa ett nytt larm med Siri, tryck bara och håll Hem-knappen intryckt för att aktivera henne, eller säg "Hej Siri om du har hennes inställning att svara på din röst.

(how-to)

Hur man uppgraderar från Windows 10 Hem till Windows 10 Professional

Hur man uppgraderar från Windows 10 Hem till Windows 10 Professional

De flesta nya datorer kommer med Windows 10 Home, men du kan betala för en uppgradering från Windows 10 för att uppgradera från Home till Pro. Om du har uppgraderat från Professional Edition av Windows 7 eller 8.1 har du redan Windows 10 Professional. Om du väljer att uppgradera till Professional Edition av Windows 10 får du BitLocker-enhetskryptering, integrerad Hyper-V-virtualisering, en inbyggd fjärrskrivbordsserver och andra företagsinriktade funktioner som domänförena.

(how-to)