USB

Universal Serial Bus (USB[2]) industriarako estandar bat da. Konputagailu, periferiko eta beste konputagailuen arteko konexio, komunikazio eta energia iturrietarako ezartzen ditu espezifikazioak kable, konektore eta konexio protokoloetan[3].

A motako USB larako arra
USB ikonoa[1]

1996an sortua, USB estandarrak USB Implementers Forumek (USB Inplementatzaileen Foroa) mantentzen ditu. USBren 4 belaunaldiak hauek dira: USB 1.x, USB 2.0, USB 3.x, eta USB4[4].

Ikuspegi orokorra

USB ordenagailu pertsonaletako periferikoak estandarizatzeko diseinatu zen, komunikaziorako eta energia emateko hain zuzen ere. Bereziki portu serial eta paralelo gisako interfazeak ordezkatu ditu eta gailu askotan ohiko bihurtu da. USB bidez konektatzen diren periferikoen artean teklatuak, saguak, bideo-kamerak, inprimagailuak, mugikorrak eta disko gogorrak aurki daitezke, besteak beste.

USB konektoreek, gero eta konektore mota gehiago ordeztu dituzte; esaterako, gailu eramangarrien karga-kableak.

Konektore moten kontsulta azkarra

EstandarraUSB 1.0

1996

USB 1.1

1998

USB 2.0

2001

USB 2.0

berrikusia

USB 3.0

2008

USB 3.1

2013

USB 3.2

2017

USB4

2019

Transmisio abiadura maximoa12 Mbps480 Mbps5 Gbps10 Gbps20 Gbps40 Gbps
A motako konektorea
Baztertua
B motako konektorea
Baztertua
C motako konektoreaAurreko bertsioekin bateragarritasuna soilik
(Xehetasunak ikusteko handitua)
Mini-A konektorea
Baztertua
Mini-B konektorea
Baztertua
Mini-AB konektorea
Baztertua
Micro-A konektorea
Baztertua
Micro-B konektorea
Baztertua
Micro-AB konektorea
Baztertua

Helburuak

USBa ordenagailu, telefono mugikor, monitore eta bestelako gailu periferikoen arteko interfazea sinplifikatzeko eta hobetzeko garatu zen[5]. Aurrez existitzen ziren interfaze eta estandarrekin alderatuta USB interfazeak honako abantailak ditu erabiltzailearen ikuspuntutik:

  • USB interfazeak konfigurazio automatikoa eskaintzen du. Erabiltzaileak gailua erabili ahal izateko ez du ezarpenik doitu behar. Gailuaren abiadura, datu-formatua, etenak, sarrera/irteera helbideak eta zuzeneko memoria-atzipeneko kanalak automatikoki ezartzen dira[6].
  • USB konektorea estandarra da ostalarian. Edozein periferikok eskuragarri dauden harguneak erabil ditzake.
  • USBak gailu periferikoetan jarri daitekeen prozesatzeko ahalmen gehigarria aprobetxatzen du, gailuaren kudeaketarako. Hori dela eta, oro har, USB gailuek ez dute erabiltzaileak doitzeko interfaze-ezarpenik.
  • USB interfazea beroan alda daiteke (gailuak ostalariaren ordenagailua berrabiarazi gabe alda daitezke).
  • Gailu txikiak USB interfazetik zuzenean elika daitezke, elikatze-kable osagarrien beharra ezabatuz.
  • USB logotipoa adostasun-probak egin ondoren bakarrik erabiltzea onartzen denez, erabiltzailea ziur egon daiteke USB gailu batek espero bezala funtzionatuko duela, ezarpenekin interakzio handirik izan gabe.
  • USB interfazeak ohiko erroreetatik berreskuratzeko protokoloak definitzen ditu, aurreko interfazeekin alderatuz fidagarritasuna hobetuz[5].
  • USB estandarrean oinarritutako gailu bat instalatzeak erabiltzailearen aldetik ekintza minimoa eskatzen du. Erabiltzaileak gailua martxan dagoen ordenagailuko ataka batean konektatzen duenean, automatikoki konfiguratzen da lehendik zeuden kontrolatzaileak erabiliz. Sistema eragileak kontrolatzailerik aurkitzen ez badu erabiltzaileari kontrolatzailea aurkitzeko eskatuko dio, automatikoki instalatu eta konfiguratuko dena.

Gainera, USB estandarrak hardware fabrikatzaileei eta software garatzaileei hainbat abantaila eskaintzen dizkie, inplementatzeko duen erraztasun erlatiboa dela eta:

  • USB estandarrak periferiko berrietarako jabedun interfazeak garatu beharra ezabatzen du.
  • USB interfazeak teklatu eta saguetarako ez ezik bideo-interfazeetarako erabilgarriak diren transferentzia-abiadurak eskaintzen ditu.
  • USB interfazea denbora-funtzio kritikoetan ahalik eta latentzia onena eskaintzeko diseina daiteke. Atzeko planoan datu masiboen transferentziek sistemaren baliabideetan ahalik eta eragin txikiena izateko ere konfigura daiteke.
  • USB interfazea gailuko funtzio bakarrerako seinale-lerrorik gabe orokortuta dago.

Mugak

Estandar guztiek bezala USBk hainbat muga dauzka bere diseinuan:

  • USB kableak luzera mugatukoak dira, mahaigaineko periferikoetarako diseinatu zelako, ez gela edo eraikinen artean pasatzeko. Hala ere, USB portu bat urrutiko gailuetara konektatzeko atebideetara konekta daiteke.
  • USBren datu-transferentzia tasa beste interkonexio batzuena baino geldoagoa da, horien artean 100 Gigabit Ethernet.
  • USBk zuhaitz topologia eta jabe/morroi protokolo zorrotza dauka gailu-periferikoetarako, gailu horiek ezin dira beste gailu batzuekin komunikatu ostalariaren bidez ez bada, eta bi ostalari ezin dira beraien USB portuetatik komunikatu zuzenean elkarren artean. Muga hauen hedapena posible da  USB On-The-Go, Rol-Bikoitzeko-Gailu[7] eta protokolo zubiei esker.
  • Ostalari batek ezin die hainbat periferikori seinalerik bidali aldi berean. Gailu bakoitza banan-banan helbideratu behar da.
  • Egokitzaileak existitzen diren arren interfaze-klasiko eta USBren artean, hauek ez dute ondarezko hardwarearen inplementazio osoa ematen. Adibidez USB-to-parallel-port egokitzaileak ondo funtziona dezake inprimagailu batekin, baina ez pin bidirekzionalak erabiltzen dituen eskaner batekin.

Produktu garatzaile batentzat USB erabiltzeak protokolo konplexu baten inplementazioa eta kontrolagailu “adimendun” baten beharra inplikatzen du gailu bakoitzeko. Salmenta publikorako garatutako USB gailuen garatzaileak normalean USB identifikadore bat lortu behar du eta honek USB Implementers Forumari (USB-IF) kuota bat ordaintzea inplikatzen du. USB estandarra erabiltzen duten produktuen garatzaileek akordio bat sinatu behar dute USB-IFrekin. Produktuetan USB logoa erabiltzeko urtero ordaindu beharreko kuota bat eta USB-IFko harpidetzaren beharra inplikatzen du.

Historia

7 enpresek osatutako talde bat hasi zen USBaren garapenarekin, 1995ean[8]. Compaq, DEC, IBM, Intel, Microsoft, NEC eta Nortel. Orokorrean, kanpoko gailuak ordenagailuarekin konektatzeko modu errazago bat lortzea zuten helburu. Horretarako, mahaigainekoen atzealdeko konektore ezberdinak ordezkatu ziren, aurretiko intefazeen erabilpen arazoak konponduz eta konfigurazio softwarea sinplifikatuz. Gainera, periferikoen datu-transmisioa handitu eta ‘Plug and Play’ (konektatu eta erabili) ezaugarria ahalbideratu zen[9]. Ajay Bhatt eta bere taldeak, Intelen, estandar honetan lan egin zuten[10][11] eta hala, USB interfazea erabiltzen zuen lehen zirkuitu integratuak 1995ean ekoitzi ziren Intelen eskutik[12].

2008an, merkatu globalean 6.000 milioi USB portu eta interfaze aurki zitezkeen, eta urteko 2.000 milioi ale saltzen ziren[13].

USB 1.x

1996ko urtarrilean argitaratu zen, USB 1.0-k 1.5 Mbit/s-ko (Low Bandwidth edo Low Speed motak) eta 12 Mbit/s-ko (Full Speed mota)[14]. Luzapen kable gisa ez ziren erabilgarriak, denbora eta korrontean mugapenak zirelako. USB gailu gutxi merkaturatu ziren USB 1.1-a iritsi zen arte (1998ko abuztuan). Bertsio hau izan zen onarpen handia izan zuen lehen berrikuspena eta Microsoftek “Legacy-free PC” moduan izendatu zituen konputagiluen hasiera ekarri zuena[15][16][17].

Ez USB 1.0-ak, ez USB 1.1-ak ez zuten Type-A edo Type-B motako estandarrak baino konektore txikiagorik zehaztu. Type-B motako konektorearen diseinu miniaturizatu ugari agertu ziren arren, ez zitzaion jarraipenik eman. Type-A motako konektoreei dagokienez, ez zen bertsio miniaturizaturik agertu USB 2.0 argitaratu arte.

USB 2.0

USB 2.0 2000ko Apirilean argitaratu zen, 480 Mbit/s-ko (datu pasatze maximo teorikoa 53 MB/s-koa izanda[18]) seinaleztapen-tasa maximoa, High Speed (Abiadura Handiko) edo High Bandwidth (Banda Zabalera Handikoa) deritzona gehituz USB 1.x-ren Full Speed (Abiadura Maximo) 12 Mbit/s-ko (datu pasatze maximo teoriko 1.2 MB/s-koa izanda[19]) seinaleztapen-tasari.

USB estandarraren aldaketak engineering change notices (ECN) bidez egin dira. ECN hauetako aldaketa garrantzitsuenak USB 2.0 zehaztapen paketean daude eskuragarri USB.org-en[20]:

  • Mini-A eta Mini-B konektoreak
  • Micro-USB kableak eta Konektoreen 1.01 zehaztapena
  • InterChip USB gehigarria
  • On-The-Go 1.3 gehigarria: USB On-The-Go bi USB gailuen arteko komunikazioa posible bihurtzen du beste USB ostalari bat eduki gabe.
  • Bateriak kargatzeko 1.1 zehaztapena: euskarria eman dio kargagailu dedikatuentzat eta ostalarientzat jokabidea hildako bateria duten gailuetarako.
  • Bateria kargatzeko 1.2 zehaztapena[21]: 1.5 A-ko korronte gehigarria konfiguratu gabeko gailuen portuetarako, abiadura handiko komunikazioa gaituz eta 1.5 A-ko korronteraino iritsiz.
  • Link Power Management Addendum (estekaren energia kudeatzeko gehigarria) ECN, lo energia egoera gehitzen du.

USB 3.x

USB 3.0 zehaztapena 2008ko azaroaren 12an kaleratu zen, bere kudeaketa USB 3.0 Promoter Groupetik USB Implementers Forumera (USB-IF) transferitu zen eta 2008ko azaroaren 17an SuperSpeed USB Developers Conferencen iragarri zen[22].

USB 3.0-k SuperSpeed transferentzia modua gehitzen du, entxufe, hargune eta kableen aurreko bertsioekin bateragarriak. SuperSpeed entxufe eta harguneak logotipo desberdin batekin eta txertatze urdineko harguneekin identifikatzen dira.

SuperSpeed busak 5 Gbit/s-ko tasa nominaleko transferentzia modua eskaintzen du, beste hiru transferentzia moduez gain. Eraginkortasuna hainbat faktoreren menpe dago, besteak beste, sinbolo fisikoen kodeketa eta esteka-mailaren gainkostua. 5 Gbit/s-ko seinaleztapen abiaduran 8b/10b kodeketarekin, byte bakoitzak 10 bit behar ditu transmititzeko, beraz, fluxu gordina 500 MB/s-koa da. Fluxuaren kontrola, paketeen markoa eta protokoloaren gainkostua kontuan hartzen direnean, errealista da 400 MB/s (3,2 Gbit/s) edo gehiago aplikazio batera transmititzea[23]. Komunikazioa erabateko duplex (full-duplex) da SuperSpeed transferentzia moduan; lehenagoko moduak erdiduplex (half-duplex) dira, ostalariak kudeatuak[24].

Potentzia baxuko eta potentzia handiko gailuek funtzionatzen jarraitzen dute estandar honekin, baina SuperSpeed erabiltzen duten gailuek 150 mA eta 900 mA inguruko korronte gehigarria aprobetxa dezakete, hurrenez hurren[23].

USB 3.1 2013ko uztailean kaleratu zen eta bi aldaera ditu. Lehenengoak, USB 3.1 Gen 1-k[25][26], USB 3.0-ren SuperSpeed transferentzia modua mantentzen du. Bigarrenak, USB 3.1 Gen 2-k, SuperSpeed+ transferentzia modu berri bat aurkezten du. SuperSpeed+-k datuen seinaleztapen-tasa maximoa 10 Gb/s-ra bikoizten du eta kodeketa-eskema 128b/132b-ra aldatuz lerroen kodeketaren gainkostua % 3-ra murrizten du[25][27].

USB 3.2 2017ko irailean kaleratu zen[28]. Lehendik zeuden USB 3.1 SuperSpeed eta SuperSpeed+ moduak mantentzen ditu, baina bi SuperSpeed+ transferentzia modu berri aurkezten ditu USB-C konektorearen bidez, 10 eta 20 Gbit/s-ko datu-abiadurekin (1,25 eta 2,5 GB/s). Banda-zabaleraren gehikuntza USB-C konektorearen flip-flop gaitasunerako dauden kableen gaineko errei anitzeko funtzionamenduaren ondorio da[29].

USB 3.0-k UASP (USB Attached SCSI Protocol) protokoloa ere ekarri zuen. Orokorrean BOT (Bulk-Only-Transfer) protokoloak baino transferentzia-abiadura azkarragoak eskaintzen ditu.

USB 3.2 estandarretik hasita, USB-IF-ek izen-eskema berri bat aurkeztu zuen[30], enpresei tranferentzia modu ezberdinak izendatzearekin laguntze aldera. USB-IF-ek 5, 10 eta 20 Gbit/s-ko transferentzia moduak SuperSpeed USB 5Gbps, SuperSpeed USB 10Gbps eta SuperSpeed USB 20Gbps gisa izendatzea gomendatu zuen, hurrenez hurren[31].

USB4

USB4 zehaztapena 2019ko abuztuak 29an argitaratu zuen USB Implementers Forumek[32].

USB4 Thunderbolt 3 protokoloan oinarrituta dago[33]. 40 Gbit/s-ko datu-transferentzia onartzen du, Thunderbolt 3-arekin bateragarria da eta USB 3.2 eta USB 2.0 bertsioekin bateragarria da[34][35]. Duen arkitekturak metodo bat ezartzen du, abiadura handiko esteka bat  amaierako hainbat gailu mota ezberdinekin modu dinamikoan partekatzeko. Metodo honek transferentziarako gailu onena aukeratzen du datu eta aplikazio motaren arabera.

USB4 zehaztapenak hurrengo  teknologiei USB4k euskarria eman behar diela ezartzen du[32]:

KonexioaDerrigorrezkoaOharrak
ostalariahubagailua
USB 2.0 (480 Mbit/s)BaiBaiBaiBeste funtzio batzuek ez bezala (abiadura handiko esteken multiplexazioa erabiltzen dutenak), USB 2.0-k USB-C bidez bere hari-pare diferentzial propioa erabiltzen du.
USB4 Gen 2×2 (20 Gbit/s)BaiBaiBaiUSB 3.0 etiketadun gailu batek USB4 ostalari edo hub bidez funtzionatzen du oraindik USB 3.0 gailu gisa. Gen 2x2 gailuen eskakizuna USB4 etiketadun gailu berriei bakarrik aplikatzen zaie.
USB4 Gen 3×2 (40 Gbit/s)EzBaiEz
DisplayPortBaiBaiEzZehaztapenak ostalari eta hubek DisplayPort-aren ordezko modua onartzea eskatzen du.
Ostalari-ostalari komunikazioakBaiBaiBi parekoren arteko LAN motako konexioa
PCI ExpressEzBaiEzUSB4-ren PCI Express funtzioak Thunderbolt zehaztapenaren aurreko bertsioen funtzionaltasuna erreplikatzen du
Thunderbolt 3EzBaiEzThunderbolt 3-k USB-C kableak erabiltzen ditu. USB4 zehaztapenak ostalariak eta gailuak baimentzen ditu eta hubak behar ditu estandarrarekin elkarreragingarritasuna lortzeko.
Beste modu batzukEzEzEzUSB4 produktuek HDMI, MHL eta VirtualLink-en ordezko moduekin elkarreragingarritasuna eskaini dezakete.

USB4 2.0 2022ko irailak 1ean argitaratu zuen USB Implementers Forumek[36].

Bertsio-historia

IzenaArgitaratze dataTransferentzia abiadura MaximoaOharrak
USB 0.71994ko azaroak 11n?Argitaratu aurretiko bertsioa
USB 0.81994ko abendua?Argitaratu aurretiko bertsioa
USB 0.91995ko apirilaren 13nFull Speed (12 Mbit/s)Argitaratu aurretiko bertsioa
USB 0.991995ko abuztua?Argitaratu aurretiko bertsioa
USB 1.0-RC1995ko azaroa?Argitaratzeko hautagaia
USB 1.01996ko urtarrilak 15aFull Speed (12 Mbit/s),

Low Speed (1.5 Mbit/s)

USB 1.11998ko abuztua
USB 2.02000ko apirilaHigh Speed (480 Mbit/s)
USB 3.02008ko azaroaSuperSpeed USB (5 Gbit/s)USB 3.1 Gen 1[25] eta USB 3.2 Gen 1x1 bezala ere ezagunak.
USB 3.12013ko uztailaSuperSpeed+ USB (10 Gbit/s)USB 3.1 Gen 2[25], USB 3.2 Gen 2x1 bezala ere ezaguna espezifikazio berriagoetan. Type-A motako konektorea onartzen duen azken bertsioa.
USB 3.22017ko abuztuaSuperSpeed+ USB dual-lane (20 Gbit/s)USB 3.2 Gen 1x2 eta Gen 2x2 multi-link modu berriak gehitzen ditu.[37] Type-C konektorea behar du.
USB42019ko abuztua40 Gbit/s (2-lane)USB4 Gen 2x2 (64b/66b kodeketa) eta Gen 3x2 (128/132b kodeketa) moduak gehitzen ditu. USB 3.x, DisplayPort 1.4a eta PCI Express trafikoa eta ostalari-ostalari (host-to-host) transferentzien  tuneletarako USB4 bideratzea aurkezten ditu, Thunderbolt 3 protokoloan oinarrituta.
USB4 2.02022ko iraila120 Gbit/s80 eta 120 Gbit/s-ko modu berriak gehitzen ditu Type-C konektorea erabiliz.[38]

Diseinua

USB sistema izar topologia osatzen duten ostalari batez eta hainbat periferikoz osaturik dago, ostalariak jaitsierako hainbat portu izan ditzake eta topologian USB hubak gehi daitezke, gehienez 5 maila onartuz. USB ostalari batek hainbat kontrolagailu izan ditzake, bakoitzak portu bat baino gehiago duelarik. Ostalari bateko kontrolatzailera 127 gailu konekta daitezke aldi berean[39][23]. USB gailuak huben bidez seriean konektatzen dira. Ostalariaren kontrolagailuak duen huba root hub izenarekin identifikatzen da.

USB gailu bat beste gailu batzuez osatuta egon daiteke, hauei device functions (gailuaren funtzioak) deitzen zaie. Gailu konposatu batek hainbat funtzio izan ditzake, adibidez webcamek (bideo funtzioa) mikrofono integratua (audio funtzioa) izan ohi dute. Horren ordezko gisa gailu konposatuak daude, non ostalariak gailu logiko bakoitzari helbide ezberdin bat esleitzen dion eta gailu logiko guztiak USB kable fisikora konektatzen den hub batera konektatzen diren.

USB gailuen komunikazioa hodietan (kanal logikoak, pipe izenaz ezagunak) oinarritzen da. Hodi bat, ostalariaren kontrolagailuaren eta gailuaren entitate logiko baten arteko konexio bat da. Gailuen entitate logikoek endpoint izena hartzen dute, hodi bakoitzari endpoint bat dagokiolarik. USB gailu bakoitzak 32 (16 sarrera, 16 irteera) endpoint edo gehiago izan ditzake, hala ere ez da oso ohikoa horrenbeste izatea. Endpoint hauek zenbakiz identifikatzen ditu gailuak hasieratze prozesuan (konexio fisikoaren ondorengo periodoa enumeration edo zenbakitze deitua) eta finkoak dira hodiak itxi eta ireki daitezkeelarik.

Bi hodi mota daude: stream (etengabeko jarioa) eta message (mezu bidezkoa).

  • Mezu bidezko hodia bi zentzukoa da eta kontrol transmisioetarako erabiltzen da. Orokorrean gailuari bidaltzen zaizkion komando sinple eta gailuaren egoera erantzunetarako erabiltzen da.
  • Stream hodiak zentzu bakarrekoak dira. Datu-transmisioak era isokronoan[40] (regularki, denbora interbalo berdinekin), etenen bidez edo jario handian egiten dira.

Transmisio isokronoak

Datu frekuentzia bermatu batean, datu galera posibleekin.

Eten transmisioak

Erantzun bizkorra behar duten gailuetarako, esaterako sagu eta teklatuetarako.

Jario handiko transmisioa (Bulk tranfer)

Noizbehinkako transmisio luzeak dira libre dagoen banda zabalera osoa erabiltzen dutenak, baina ez du banda zabalera osoa edo latentzia minimoa bermatzen.


Ostalaria datuak transmititzen hasten denean, TOKEN deituriko pakete bat bidaltzen du endpoint bat identifikatuz tupla baten bidez (gailu helbidea, endpoint zenbakia). Transmisioa ostalaritik endpoint izanez gero, ostalariak OUT pakete bat bidaltzen du (TOKEN pakete espezifiko bat) gailuaren helbidearekin eta endpoint zenbakiarekin. Kontrako kasuan ordea, gailutik ostalarira, ostalariak IN paketea bat bidaltzen du. Endpoint jasotzailea zentzu bakarrekoa bada eta ekoizleak ezarritako zentzua ez badator bat TOKEN paketearekin, TOKEN paketea alde batera uzten da. Bestela, onartu eta transmisioa hasten da. Bi zentzutako kasuetan ez da arazorik ematen eta bi paketeak (IN eta OUT) onartzen dira.

Endpoint guztiak interfazeetan taldekatuak daude eta interfaze bakoitza gailuaren funtzio bati lotua dago. Salbuespen bakarra zero endpointa da, gailuaren konfiguraziorako erabiltzen dena eta ez dago interfaze bati lotuta. Independenteki kontrolatuak dauden interfazeez osatutako gailu funtzioei gailu konposatuak deritze. Gailu konposatu batek gailu helbide bakarra du, izan ere ostalariak soilik funtzio bati atzitzen dio helbidea.

USB gailu bat USB ostalari batekin konektatzen denean, USB gailuen zenbaki atzitze prozesua hasten da. Zenbakien atzipena, USB gailu bati berrabiarazteko (reset) seinale bat bidaltzen hasten da. USB gailu baten datu abiadura, berrabiarazteko seinalea bidaltzean zehazten da. Berrabiarazi ondoren, USB gailuaren informazioa irakurtzen du ostalariak eta gailuari 7 biteko helbide esklusibo bat ematen zaio. Ostalariak gailua onartzen badu, gailuarekin komunikatzeko kontrolatzaileak kargatzen dira eta gailua konfiguratutako egoerara aldatzen da. USB ostalaria berrabiarazten bada, zenbakiak atzitzeko prozesua errepikatzen da konektatutako gailu bakoitzerako.

Ostalariaren kontrolatzaileak trafikoa gailuetara zuzentzen du, beraz USB gailuek ezin izango dute daturik igorri busean ostalariaren kontrolatzailearen eskaerarik ez dagoen bitartean. USB 2.0 protokoloan, ostalariaren kontrolatzaileak galdeketa bat egiten du buseko trafikoari buruz, orokorrean round-robin teknika erabiliz. USB portu bakoitzaren errendimendua USB portuaren beraren edo konektatutako USB gailuaren arteko abiadura baxuenaren arabera zehazten da.

High Speed USB 2.0 hubek transakzio itzultzaile (transaction translator) izeneko gailu batzuk dituzte hiru bus moten artean aldatzea ahalbidetzen dutenak: High Speed, Full Speed eta Low Speed. Hub bakoitzeko edo portu bakoitzeko itzultzaile bat egon daiteke.

USB 3.0 ostalari bakoitzean bi kontrolatzaile ezberdin daudenez, USB 3.0 gailuek USB 3.0 datu-abiaduran transmititu eta jasotzen dituzte datuak USB 2.0 izan arren. Gailu zaharretan datu-transmisioa egokitu egiten da.

Erabilerak

USB gailu baten funtzionaltasuna USB ostalariari bidalitako klase kode batek definitzen du. Honela, ostalariak software modulo berriak kargatzen ditu, fabrikatzaile ezberdinen gailuak onartuz.

Erabilera hauek daude[41]:

KlaseaErabileraDeskripzioaAdibideak
00hGailuaZehaztu gabeaGailu mota ezarri gabea dago, interfaze deskripzioak behar diren kontrolatzaileak zehazteko behar dira
01hInterfazeaAudioaBozgorailu, mikrofono, soinu-txartel, MIDI
02hBiakKomunikazioak eta CDC kontrolaUART eta RS-232 serial egokitzaile, Modem, Wi-Fi egokitzaile, Ethernet egokitzaile. 0Ah(CDC-Data) klasearekin batera erabiltzen da
03hInterfazeaGiza-interfazeko gailua (Human interface device)Teklatua, sagua, joysticka
05hInterfazeaInterfaze fisikoko gailuaForce feedbackdun joysticka
06hInterfazeaIrudia (PTP/MTP)Eskaner, Kamera
07hInterfazeaInprimagailuLaser inprimagailu, tinta-inprimagailu, CNC makina
08hInterfazeaUSB biltegiratze masiboa, USBri lotutako SCSIUSB memoria, memoria txartel irakurtzailea, audio digital erreproduktorea, kamera digitala, Argazki-kamera digitala, kanpoko disko gogorra.
09hGailuaUSB hubAbiadura handiko USB huba
0AhInterfazeaCDC-Data02h klasearekin batera erabilia (Komunikazioak eta CDC kontrola)
0BhInterfazeaTxartel adimendunaUSB txartel adimendun irakurlea
0DhInterfazeaEdukiaren segurtasunaHatza-marka irakurlea
0EhInterfazeaBideoaWeb kamera
0FhInterfazeaOsasun personalerako gailu motakPultsu monitoreak
10hInterfazeaAudioa/Bideoa (AV)Web kamera, telebista
11hGailuaKarteldegiaUSB-C-ren euskarri diren moduak deskribatzen ditu
DChBiakDiagnostikarako gailuaUSB onartze-testerako gailua
E0hInterfazeaHaririk gabeko kontrolagailuBluetooth egokitzailea, Microsoft RNDIS
EFhBiakAskotarikoakActiveSync gailuak
FEhInterfazeaAplikazio-jakinetarakoIrDA zubia, Test eta Neurketa Klasea (USBTMC)[42], USB DFU (Device Firmware Upgrade)[43]
FFhBiakSaltzaile espezifikoaGailuak saltzailearen kontrolatzaile behar dituela zehazten du

USB diskoa

USB biltegiratze masiboko gailuak (ingelesezko USB mass storage device class (MSC edo UMS ) konexioak estandarizatzen ditu biltegiratze gailuetan. Disko magnetiko eta optikoetarako diseinatu zen baina flash diskoetarako euskarria zabaldu da. Euskarria zabaltzen jarraitu da, direktorio baten barruko fitxategiak manipulatzen dituen gailu berrietara zehazki. Gailu berri bat ohiko gailu gisa ikustarazteari hedapen deitzen zaio. USB egokitzaile batekin idazketa blokeatutako SD txartel bat hotzean irakurtzea abantailatsua da txartelaren osotasuna eta iraunkortasuna mantentzeko.

Nahiz eta 2005etik aurrerako ordenagailu gehienak USB batetik hotzean abia daitezkeen, USB ez dago diseinatuta ordenagailuko biltegiratze masiboko bus nagusi moduan funtzionatzeko. Hala ere, USBk beroan trukea egiteko abantaila du, erabilgarria bilakatuz periferiko eramangarrietarako, disko mota ezberdinak barne.

Fabrikatzaile askok eskaintzen dituzte kanpoko USB disko gogor eramangarriak. Hauek barneko diskoen pareko errendimendua eskaintzen dute, errendimendu honen muga erantsitako USB gailuek eta USB interfazearen mugapenek  ezartzen dute. Honen lehiakide diren kanpoko disko gogorren estandarrak hauek dira: eSATA, ExpressCard, FireWire (IEEE 1394), eta berriena, Thunderbolt.

USB biltegiratze-gailuen beste erabileretako bat softwarearen exekuzio eramangarria izango litzateke, non ez dagoen softwarerik ordenagailuan instalatu beharrik.[44][45]

Media Transfer Protocol

Media Transfer Protocol (MTP) Microsoftek diseinatu zuen, USB biltegiratzeari baino maila altuagoko sarrera emateko gailuaren fitxategi sistemari. Eskubide digitalen kudeaketarako hautazko ezaugarriak ere baditu. MTP multimedia erreproduktore eramangarrietarako garatu zen, baina gaur egun smartphonetarako egokitu da. Android 4.1 eta Windows Phone 8 bertsiotatik aurrera sistema eragileen biltegian sartzeko protokolo nagusia da. Honetarako arrazoi nagusia MTPk ez duela biltegiratzearen sarbide esklusiboa hartzen, horrela Androideko aplikazio batek biltegiratze-sarbidea behar badu arazoak saihestuz. Alderdi txarrena da MTP Windows sistema eragiletik kanpo ez dagoela hain ondo inplementatuta.

Giza-interfazeko gailuak

USB sagu eta teklatuak normalean PS/2 konektorea duten ordenagailu zaharretan erabil daitezke USB-to-PS/2 egokitzailearekin. Protokolo bikoitzerako euskarria duten sagu eta teklatuetarako ez dago logika zirkuiturik duen egokitzaile beharrik, teklatu edo saguko USB hardwarea diseinatuta baitago USB edo PS/2 konektorera konektatuta dagoen detektatzeko eta komunikazio protokolo egokia  erabiltzeko. PS/2 teklatuak eta saguak USBra egokitzeko periferikoak ere existitzen dira[46]. Gailu hauek bi giza-interfazeko gailu endpoint dituzte sistemarako eta mikrokontrolagailu bat erabiltzen da estandarren arteko datu itzulpena egiteko.

Device Firmware Upgrade mekanismoa

Device Firmware Upgrade (DFU) USB gailuen firmwarea fabrikatzaileek emandako bertsio hobetuekin eguneratzeko mekanismo bat da eta, adibidez, firmware akatsen konponketak zabaltzeko erabiltzen da. Firmwarearen eguneraketa egiteko USB gailuek beren funtzionamendu modua aldatzen dute, PROM sasi-programatzaile bihurtuz. Edozein USB gailuk inplementa dezake gaitasun hau DFUren zehaztapen ofizialak jarraituz.[43][47][48]

Gainera, DFU-k erabiltzaileari USB gailuan firmware alternatibo bat flasheatzeko aukera ematen dio. Honen ondorioz USB gailu batek beste motako gailu gisa joka lezake. Adibidez, teklatu gisa detektatzen den USB memoria bat (BadUSB[49]).

Audio streaminga

USB Device Working Groupak zehaztapenak ezarri ditu audio streamingerako eta zehaztapen bereziak garatu eta inplementatu ditu audio klaseen erabilerarako gailuetarako (mikrofonoak, bozgorailuak, kaskoak, telefonoak, musika instrumentuak eta abar). Working Groupak hiru audio gailuren zehaztapen bertsioak argitaratu ditu[50][51] eta Audio 1.0, 2.0 eta 3.0, “UAC”[52] edo “ADC”[53] gisa ere ezagunak dira.

UAC 3.0k gailu eramangarrietarako hobekuntzak ditu, esaterako energia gastu txikia, datuak transferitu eta energia baxuko moduan denbora gehiago mantenduz, gailuaren osagai ezberdinen energia-domeinua izanik eta erabili behar ez denean itzalita mantenduz.[54]

UAC 2.0k High Speed USBrako (baita Full Speed) euskarria sortu zuen, honela banda zabalera hobea lortzen zen multi-kanaleko interfazeetan, lagintze-abiadura altuagoak[55], berezko latentzia baxuagoa[52] eta denboraren bereizmenean 8x hobekuntza modu sinkrono eta moldakorrean[52]. UAC2k erloju domeinuen kontzeptua ere sartu zuen, non ostalariari informazioa ematen dioten zein sarrera edo irteera terminalek eratorri duten beraien erlojua iturri beretik, baita euskarri hobeak audio kodeketarako (adibidez, DSD), audio efektuak, kanal multzokatzea, erabiltzaile-kontrolak eta gailu-deskribapenak.[52][56]

UAC 1.0 gailuak oraindik erabiltzen dira duten kontrolatzaile gabeko plataforma bateragarritasunagatik[55] eta Microsoftek Windows 10en UAC 2.0 inplementatzea lortu zuen arte (2017ko martxoko eguneratzean)[57][58][56] UAC 1.0 erabili zuelako hamarkada batez. UAC 2.0 MacOS, iOS eta Linuxen[52] inplementatuta dago. Androidek soilik UAC 1.0ren azpimultzo bat baino ez du inplementatu.[59]

USB-ak hiru sinkronizazio-mota isokrono (banda-zabalera finkoa) eskaintzen ditu[60], guztiak audio-gailuekin erabiltzen direlarik[61]:

  • Asinkronoa: ADC edo DACa ez daude ostalariaren ordenagailuko erlojuarekin sinkronizaturik eta gailuaren exekuzio libreko erloju batekin funtzionatzen dute.
  • Sinkronoa: gailuaren erlojua USB start-of frame (SOF) edo Bus Interval seinaleekin sinkronizatuta dago. Adibidez, 11,2896 MHz-ko erloju batek 1 kHz-ko SOF seinale batekin sinkronizatzea eska dezake, maiztasun handiko biderketa.[62][63]
  • Moldakorra: gailuaren erlojua ostalariak frame bakoitzean bidaltzen duen datu-kopuruarekin sinkronizatuta dago.[64]

USB zehaztapenak jatorriz modu asinkronoa “kostu baxuko bozgorailuetan” eta modu moldakorra “goi-mailako bozgorailu digitaletan” erabiltzen direla deskribatu arren[65], hi-fi munduan kontrako pertzepzioa nabarmentzen da, modu sinkrono edo moldakorrek fama txarra dutelarik[66][67][59]. Berez, mota guztiak izan daitezke bai kalitate handikoak bai kalitate baxukoak, ingeniaritza eta aplikazioaren kalitatearen arabera[63][52][68]. Modu asinkronoak ordenagailuaren erlojutik aske egotearen onura du, baina hainbat iturri konbinatzean lagintze-maiztasunaren bihurketa behar izatearen desabantaila.

Konektoreak

USB batzordeak zehazten dituen konektoreak USBren oinarrizko helburu batzuk onartzen dituzte eta informatika industriak erabili dituen konektoreetatik jasotako ikasgaiak islatzen dituzte. Ostalarian edo gailuan muntatutako konektore emeari hargune deitzen zaio eta kableari loturiko konektore arrari entxufe[69]. USB zehaztapen-dokumentu ofizialek aldian-aldian male (ar) terminoa erabiltzen dute entxufea adierazteko eta female (eme) terminoa hargunea adierazteko.[70]

Diseinuaren xedea da USB entxufea bere hargunean sartzea zaila izatea. USB zehaztapenak kablearen entxufea eta hargunea markatuta egotea eskatzen du, erabiltzaileak orientazio egokia ezagutu dezan[69]. USB-C entxufea, ordea, itzulgarria da. USB kableak eta USB gailu txikiak hargunearen harrapatzeko indarraren bidez eusten dira soilik, torloju edo klipik gabe.

A eta B entxufe ezberdinek bi elikadura-iturri nahi gabe konektatzea eragozten dute. Hala ere, zuzendutako topologia hau galdu egiten da erabilera anitzeko USB konexioen sorrerarekin (adibidez, USB On-The-Go telefonoetan eta USB bidezko Wi-Fi bideratzaileak) A-to-A, B-to-B eta batzuetan Y/splitter kableak eskatzen dituztelako.

USB konektore motak biderkatu egin ziren zehaztapenak aurrera egin ahala. Jatorrizko USB zehaztapenak A eta B estandarretarako entxufe eta harguneak zehazten zituen. Konektoreak desberdinak ziren, erabiltzaileek ordenagailu bateko hargunea beste bateko hargunera konekta ez zezaten. Entxufe estandarrean dauden datu-pinak elikadura-pinekin alderatuta barrurago daude, gailua datu-konexio bat ezarri aurretik piztu ahal izateko. Gailu batzuek modu ezberdinetan funtzionatzen dute datu-konexioa baldin badago edo ez badago. Kargagailuek energia hornitzen dute eta ez dute ostalari gailurik edo datu-pinik, gai den edozein USB gailu USB kable estandar bat erabiliz kargatu edo funtzionatzea ahalbidetuz. Karga-kableek energia ematen dute, baina ez dute daturik bidaltzen. Soilik-kargatzeko den kable batean datu-hariak laburtu egiten dira bestela gailuak kargagailua desegokitzat hartuz bazter dezakeelako.

Protokolo maila

USB komunikazioan[71] datuak pakete gisa transmititzen dira. Hasieran, pakete guztiak ostalaritik bidaltzen dira, root hub eta beharbada hub gehiagoren bidez, gailuetara. Pakete horietako batzuek gailu bat zuzentzen dute erantzun gisa pakete batzuk bidal ditzan.

Sinkronizazio eremuaren ondoren, pakete guztiak 8 biteko bytez osatuta daude, pisu txikieneko bitetik hasita transmitituz. Lehenengo bytea pakete-identifikatzailea (PID) da. PIDa berez 4 bitekoa da eta gainerako 4 bitak PIDaren bitez biteko osagarriak dira. Erredundantzia honek akatsak detektatzen laguntzen du.

Transakzioak

USBaren oinarrizko transakzioak[71] hauek dira:

  • OUT transakzioa: ostalariak ADDRx helbideko gailuari sarrerako datu-paketea EPx endpointean entzuten hasteko esaten dio. Jarraian, ostalariak USB gailuari bidali beharreko datuak bidaltzen dizkio. Bukatzeko, gailuak ostalariari datuak behar bezala jaso dituela esaten dio
  • IN transakzioa: ostalariak ADDRx helbideko gailuari EPx endpointean dituen datuak bidaltzeko esaten dio. Gailuak EPx-eko bufferra begiratzen du eta ostalariari bidaltzen dio edukia. Bukatzeko, ostalariak datuak behar bezala jaso dituela jakinarazten dio gailuari.
  • SETUP transakzioa: 8 byteko konfigurazio pakete bat transferitzen du gailura. Konfigurazio-paketeak hurrengo datu-paketeen norabidea eta luzera kodetzen ditu.
  • Kontrol-transferentzia trukea (Control Transfer Exchange). Hiru etapatan burutzen da eta ostalariari busak kudeatzeko ekintzak burutzea eta USB gailu berriak zenbatzea ahalbidetzen du.

Segurtasun arriskuak

  • USB Killer: eramangarria izateko diseinatutako gailu bat. Konektatzen den gailuaren datu-lerroetara tentsio handiko gorakadak behin eta berriz bidaltzen ditu, babesik gabeko gailuetako hardware osagaiak kaltetuaz.
  • Windowseko bertsio zaharretan, konektatutako USB memoriak automatikoki exekutatzen ziren. Hau Windows XPn desgaitu egin zen.[72]

Erreferentziak

Ikus, gainera

Kanpo estekak