4771: USB Architectuur

USB is opgezet als een master/slave netwerk in een boom topologie. Dit is niet direct duidelijk omdat de z.g.n. "root" hub altijd in de computer (de controller/master) is ingebouwd. Om een groot draagvlak voor de USB architectuur te creëren is de standaard geoptimaliseerd voor een eenvoudig ontwerp van de "slaves".

Hardware

De USB-bekabeling is t/m versie 2.0 uitgevoerd als een getwist paar koperaders voor de data plus een 0 en 5 V ader voor de voeding; vanaf versie 3.0 worden 2 extra hoge snelheid paren toegevoegd. De signalering is een bidirectionele seriële zelfklokkende NRZI datastroom.

De controller stuurt het USB-netwerk aan vanuit de "root node" en kan steeds slechts één "end-node" in een apparaat (slave) tegelijk bedienen. Binnen een "end-node" zijn weer meerdere "end-points" beschikbaar voor verschillende taken (instellingen, print-input, scan-output, enz.). De meeste computers hebben meerdere USB-poorten, maar die stammen alle af van dezelfde root node, via de ingebouwde "Root-hub". Als een computer niet voldoende USB-poorten heeft kunnen er extern extra hubs worden toegevoegd, totdat het maximum van 127 nodes is bereikt.

Snelheid

Vanaf de start in 1996 worden er regelmatig hogere snelheden geïntroduceerd, met behoud van compatibiliteit met eerdere versies. Toetsenborden en muizen zijn eenvoudige USB 1.0 apparaten, voor een externe Harddisk is minstens een USB 2.0 verbinding nodig en voor een externe SSD moet dat een Super Speed verbinding zijn.

VersieNaamKleur SnelheidIntro
USB 1.0Low Speedwit1,5 Mbit/s1996
USB 1.1Full Speedwit12 Mbit/s1998
USB 2.0High Speedzwart480 Mbit/s2001
USB 3.0Super Speedblauw5 Gbit/s2011
USB 3.1Super Speed +blauw10 Gbit/s2014
USB 3.2Super Speed +blauw?20 Gbit/s2017
USB 4.0USB4 40Gbpstype-C40 Gbit/s2019

Plug&Play Software

Bij het opstarten van een computer wordt vanaf de root node een scan uitgevoerd over alle 127 mogelijke adressen om aangesloten apparaten (nodes) te detecteren. Van elke gevonden node worden diverse parameters ingelezen en in een lijst van actieve nodes bewaard. Als de node tot een bekende klasse behoort kan deze met de bijbehorende besturingssoftware (driver) worden verbonden. Als de klasse nog onbekend is, kan m.b.v. de "fabrikant+model"-parameter de juiste software alsnog worden geladen. Ook bij het aansluiten van een USB-object op een werkende computer wordt deze procedure gevolgd. In beginsel kan een USB-object ook op elk moment worden verwijderd en dan uit de lijst gewist. Bij opslag-systemen kan echter een deel van de data nog niet zijn weggeschreven en moet het systeem (b.v. een USB-stick of harddisk) eerst ontkoppeld worden, waarbij de gebufferde data eerst "ge-flushed" (weggeschreven) wordt.