Hoe werkt USB en FireWire

Als we de relatief eenvoudige werking van USB en FireWire bestuderen, is het eigenlijk raar dat het zo lang heeft geduurd eer deze universele interfaces beschikbaar kwamen.

Universal Serial Bus

De afkorting USB staat voor Universal Serial Bus, een gestandaardiseerde interface die werd ontwikkeld door een aantal samenwerkende computer- en telecommunicatiebedrijven, waaronder Compaq, IBM, Microsoft, Intel en NEC. Het doel was een methode te ontwikkelen om verschillende typen randapparatuur met de computer te verbinden via dezelfde snelle en gebruikersvriendelijke interface. De interface moest bovendien uit eenvoudige, makkelijk en relatief goedkoop te fabriceren componenten bestaan.

FireWire

FireWire is geen afkorting van de een of andere verzameling technische termen, maar klinkt gewoon beter dan IEEE 1394 High Performance Serial Bus zoals deze interface officieel heet. FireWire werd in 1995 geaccepteerd als een standaard om grote hoeveelheden data van apparatuur naar computer en andersom te transporteren. De interface is gebaseerd op technologieën van Apple en werd met hetzelfde doel als USB ontwikkeld, maar dan vooral voor ‘datavreters’ als digitale videocamera’s, harde schijven en dvd-recorders. Sony noemt de FireWire-aansluiting in dvd-videorecorders iLink.

Hardware USB

Het zichtbare gedeelte van USB bestaat uit de stekkers, kabels en de sleuven waar de stekkers in worden gestoken. Een standaardkabel heeft aan beide uiteinden een verschillende stekker. type ‘A’ heeft een platte, rechthoekige vorm, terwijl type ‘B’ een bijna vierkante vorm heeft. Eerstgenoemde type is ‘stroomopwaarts’ ingesteld en wordt aan de computer verbonden. Het andere type is ‘stroomafwaarts’ ingesteld en moet worden aangesloten op de randapparatuur. Deze configuratie zorgt ervoor dat een apparaat altijd goed wordt aangesloten op de computer. Er zijn uitzonderingen op deze regel, waarvan het type ‘B’ van de meeste digitale camera’s de meest voorkomende is. Deze is veel minder groot uitgevoerd omdat zo’n camera nu eenmaal behoorlijk klein is. Ook zijn er kabels met aan beide uiteinden een type ‘A’ stekker. Deze verbinden de computer met een hub, een soort ‘vierwegstekker’ die wordt gebruikt om meerdere USB-apparaten op dezelfde computersleuf aan te sluiten.

usbfw_01
Afbeelding 1
Connectoren USB

Wat de USB-stekkers altijd gemeen hebben is dat ze vier connectoren hebben. Een USB-kabel bestaat namelijk uit vier draden: twee om elektrische spanning van maximaal +5 Volt bij 0,5 Ampère te kunnen leveren aan een randapparaat en twee voor het transporteren van data van en naar de computer (afbeelding 2). De maximale hoeveelheid data die door een USB-interface kan stromen bedraagt 12 megabits per seconde (Mbps). Dit betekent dat ieder individueel apparaat een maximum doorvoersnelheid heeft van 6 Mbps, anders zouden twee apparaten op maximumsnelheid de 12 Mbps-grens kunnen overschrijden. De draden worden bovendien omhuld door een beschermende laag die interferentie tussen de draden voorkomt. Interferentie kan tot verstoring leiden en verlies aan of vervorming van data. De stroomvoorziening in de USB-kabel betekent dat apparatuur voor hun werking kunnen gebruikmaken van de USB-sleuf in de computer, mits ze niet te veel energie nodig hebben. Muizen en toetsenborden hebben genoeg aan de USB-sleuf, maar externe harde schijven en scanners hebben eigen stroomvoorziening nodig.

usbfw_02
Afbeelding 2
Drivers

Het onzichtbare gedeelte van USB bestaat uit de software (driver) die de dataoverdracht in goede banen leidt. Veel hiervan zit al ingebouwd in het (moderne) besturingsysteem van uw computer, dat vaak al veel apparaten kan aansturen via USB. Zo niet, dan moet er een driver worden geïnstalleerd, een klein brokje software met instructies voor het specifieke apparaat. De computer treedt op als ‘gast’ voor alle aangesloten apparaten en is het centrale brein dat alle dataverkeer regelt. Wanneer de computer opstart controleert hij welke apparaten zijn aangesloten op de USB-interface en kent aan ieder apparaat een (tijdelijk) uniek adres toe. De computer houdt tevens in de gaten wat voor soort datatransport ieder apparaat wil gebruiken. USB onderscheidt hierbij drie methoden: ‘Interruptie’, ‘Asynchroon’ en ‘Isochroon’.

Interruptie

De eerste methode wordt gebruikt door randapparatuur dat heel weinig data verstuurt, maar als er iets naar de computer moet worden gezonden, dan moet het ook onmiddellijk aankomen. De muis en het toetsenbord zijn voorbeelden van apparaten die de datastroom interrumperen om de eigen datastroom zeker te stellen.

Asynchroon

De asynchrone methode wordt gebruikt door apparaten die grote hoeveelheden data tegelijkertijd moeten versturen of ontvangen, waarbij de data honderd procent foutloos de andere kant van de kabel moet bereiken. Printers en externe harde schijven zijn voorbeelden van apparaten die gebruikmaken van de asynchrone methode. De totale hoeveelheid data wordt hierbij in kleine brokjes van 64 byte verstuurd, samen met wat meta-informatie over het brokje, zoals welk deel van het geheel het vormt en andere controlegegevens. Komt een brokje om wat voor reden niet of niet goed aan, dan zorgt de USB-software ervoor dat het opnieuw wordt verzonden. De totale hoeveelheid data komt op deze manier altijd perfect aan, ten koste van wat topsnelheid.

Isochroon

Voor sommige toepassingen is de asynchrone methode niet acceptabel omdat de doorvoersnelheid het enige is dat telt. USB-luidsprekers bijvoorbeeld maken daarom gebruik van de isochrone methode, waarbij alle data zonder foutcorrectie door de kabel wordt geperst. Dat is ook logisch, want foutcorrectie zou ervoor kunnen zorgen dat delen van het geluid opnieuw moeten worden verzonden en op een later tijdstip aankomen. Dat zou een raar soort muziek opleveren. De ‘prijs’ die de isochrone methode hiervoor betaalt is dat foute of niet aangekomen brokjes data voor altijd verloren zijn, kwaliteitsverlies dus.

Bandbreedte

De 1.0 versie van de USB-software zorgde er tevens voor dat de maximale bandbreedte van 12 Mbps (megabits per seconde) niet wordt overschreden door van alle aangesloten apparaten in de gaten te houden hoeveel capaciteit ze vragen. Het huidige USB 2.0 schopt het overigens al tot 480 Mbps en de komende 3.0 versie kan data met een snelheid van 4,8 Gbps verwerken. Het principe blijft overigens hetzelfde: alle interruptie en isochrone transporten mogen samen 90% van de bandbreedte opsnoepen. Daarboven worden alle interruptie- en isochrone verzoeken afgewezen en wordt de resterende 10% gebruikt voor controledata en asynchrone transporten. USB regelt alle datastromen door de beschikbare bandbreedte te verdelen in frames van 1500 bytes groot. Iedere milliseconde start een nieuw frame en wordt een gegarandeerd deel hiervan toegewezen aan interrupt en isochrone datastromen, zodat deze kunnen beschikken over de bandbreedte die ze nodig hebben. De asynchrone en controlestromen gebruiken het restant van de bandbreedte.

Connectoren FireWire

Hiermee is bijna alles verteld over zowel USB als FireWire, want laatstgenoemde interface lijkt in heel veel opzichten op USB. Het grootste verschil zit in de toepassing: FireWire werd ontwikkeld voor datahongerige apparaten, iets waar versie 2.0 van USB overigens ook heel goed mee overweg kan. Een zichtbaar onderscheid tussen USB en FireWire bestaat uit de bekabeling, stekkers en sleuven. De standaardstekker en sleuf hebben bijvoorbeeld geen vier maar zes connectoren. Er bestaan ook stekkers met negen connectoren, maar die zijn bedoeld voor de tweede generatie FireWire, die een doorvoersnelheid heeft van 800 Mbps . Dezelfde 9-pins connectoren zullen gebruikt gaan worden voor de derde generatie FireWire, met een doorvoersnelheid van 3,2 Gbps een geduchte concurrent van USB 3.0 moet worden.

usbfw_03
Afbeelding 3
Videocamera

Ook zijn er kleine Fire-Wire-stekkers met vier connectoren, die meestal worden gebruikt voor digitale videocamera’s. De voedingsdraden ontbreken in dit geval en de camera moet dus altijd zelf stroom leveren. Het grotere aantal connectoren heeft te maken met het feit dat er door een FireWire-kabel veel grotere hoeveelheden data kunnen stromen, maar liefst 400 Mbps. De kabel is daarom uitgevoerd met een dubbel paar draden voor de datastroom, naast de twee draden die een spanning van +8 tot 40 Volt bij maximaal 1,5 Ampère dragen. Ook voor FireWire geldt dat apparaten met een aansluiting voor zes connectoren kunnen gebruikmaken van de spanning op de sleuf, mits ze niet te veel stroom nodig hebben.

usbfw_04
Afbeelding 4

Ketting
De softwarematige kant van FireWire verschilt op één punt wezenlijk van USB: alle apparaten hebben de computer niet nodig voor het regelen van het datatransport. De computer is dus geen allesbepalende ‘gast’, maar slechts eind- of beginpunt van de datastroom. FireWire-apparaten kunnen dus in een ketting op elkaar worden aangesloten en data kan via de aangesloten apparaten van en naar de computer stromen. Om dit voor elkaar te krijgen moet natuurlijk wel bekend zijn waar de informatie vandaan komt. Dat is nu wel weer een taak van de computer. Bij het opstarten controleert deze welke apparaten zijn aangesloten op de FireWire-interface en kent aan ieder apparaat een uniek adres toe. De data wordt in brokjes van 64 bit verstuurd, waarbij ieder brokje uit drie delen bestaat: een deelbrokje van 10 bit met informatie over de sleuf waar de data vandaan komt, een 6-bit deelbrokje met informatie over het apparaat dat de data verstuurde en het restant van 48 bit met de echte data. Informatie kan zowel isochroon als asynchroon worden verstuurd. Digitale videocamera’s en andere videotoepassingen maken gebruik van isochroon transport, terwijl een externe harde schijf met FireWire-aansluiting de data asynchroon zal verzenden of ontvangen.

Scroll Up

Pin It on Pinterest