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].
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].
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.
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:
Gainera, USB estandarrak hardware fabrikatzaileei eta software garatzaileei hainbat abantaila eskaintzen dizkie, inplementatzeko duen erraztasun erlatiboa dela eta:
Estandar guztiek bezala USBk hainbat muga dauzka bere diseinuan:
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.
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].
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 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]:
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 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]:
Konexioa | Derrigorrezkoa | Oharrak | ||
---|---|---|---|---|
ostalaria | huba | gailua | ||
USB 2.0 (480 Mbit/s) | Bai | Bai | Bai | Beste 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) | Bai | Bai | Bai | USB 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) | Ez | Bai | Ez | |
DisplayPort | Bai | Bai | Ez | Zehaztapenak ostalari eta hubek DisplayPort-aren ordezko modua onartzea eskatzen du. |
Ostalari-ostalari komunikazioak | Bai | Bai | — | Bi parekoren arteko LAN motako konexioa |
PCI Express | Ez | Bai | Ez | USB4-ren PCI Express funtzioak Thunderbolt zehaztapenaren aurreko bertsioen funtzionaltasuna erreplikatzen du |
Thunderbolt 3 | Ez | Bai | Ez | Thunderbolt 3-k USB-C kableak erabiltzen ditu. USB4 zehaztapenak ostalariak eta gailuak baimentzen ditu eta hubak behar ditu estandarrarekin elkarreragingarritasuna lortzeko. |
Beste modu batzuk | Ez | Ez | Ez | USB4 produktuek HDMI, MHL eta VirtualLink-en ordezko moduekin elkarreragingarritasuna eskaini dezakete. |
USB4 2.0 2022ko irailak 1ean argitaratu zuen USB Implementers Forumek[36].
Izena | Argitaratze data | Transferentzia abiadura Maximoa | Oharrak |
---|---|---|---|
USB 0.7 | 1994ko azaroak 11n | ? | Argitaratu aurretiko bertsioa |
USB 0.8 | 1994ko abendua | ? | Argitaratu aurretiko bertsioa |
USB 0.9 | 1995ko apirilaren 13n | Full Speed (12 Mbit/s) | Argitaratu aurretiko bertsioa |
USB 0.99 | 1995ko abuztua | ? | Argitaratu aurretiko bertsioa |
USB 1.0-RC | 1995ko azaroa | ? | Argitaratzeko hautagaia |
USB 1.0 | 1996ko urtarrilak 15a | Full Speed (12 Mbit/s),
Low Speed (1.5 Mbit/s) |
|
USB 1.1 | 1998ko abuztua | ||
USB 2.0 | 2000ko apirila | High Speed (480 Mbit/s) | |
USB 3.0 | 2008ko azaroa | SuperSpeed USB (5 Gbit/s) | USB 3.1 Gen 1[25] eta USB 3.2 Gen 1x1 bezala ere ezagunak. |
USB 3.1 | 2013ko uztaila | SuperSpeed+ 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.2 | 2017ko abuztua | SuperSpeed+ 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. |
USB4 | 2019ko abuztua | 40 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.0 | 2022ko iraila | 120 Gbit/s | 80 eta 120 Gbit/s-ko modu berriak gehitzen ditu Type-C konektorea erabiliz.[38] |
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).
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.
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]:
Klasea | Erabilera | Deskripzioa | Adibideak |
---|---|---|---|
00h | Gailua | Zehaztu gabea | Gailu mota ezarri gabea dago, interfaze deskripzioak behar diren kontrolatzaileak zehazteko behar dira |
01h | Interfazea | Audioa | Bozgorailu, mikrofono, soinu-txartel, MIDI |
02h | Biak | Komunikazioak eta CDC kontrola | UART eta RS-232 serial egokitzaile, Modem, Wi-Fi egokitzaile, Ethernet egokitzaile. 0Ah(CDC-Data) klasearekin batera erabiltzen da |
03h | Interfazea | Giza-interfazeko gailua (Human interface device) | Teklatua, sagua, joysticka |
05h | Interfazea | Interfaze fisikoko gailua | Force feedbackdun joysticka |
06h | Interfazea | Irudia (PTP/MTP) | Eskaner, Kamera |
07h | Interfazea | Inprimagailu | Laser inprimagailu, tinta-inprimagailu, CNC makina |
08h | Interfazea | USB biltegiratze masiboa, USBri lotutako SCSI | USB memoria, memoria txartel irakurtzailea, audio digital erreproduktorea, kamera digitala, Argazki-kamera digitala, kanpoko disko gogorra. |
09h | Gailua | USB hub | Abiadura handiko USB huba |
0Ah | Interfazea | CDC-Data | 02h klasearekin batera erabilia (Komunikazioak eta CDC kontrola) |
0Bh | Interfazea | Txartel adimenduna | USB txartel adimendun irakurlea |
0Dh | Interfazea | Edukiaren segurtasuna | Hatza-marka irakurlea |
0Eh | Interfazea | Bideoa | Web kamera |
0Fh | Interfazea | Osasun personalerako gailu motak | Pultsu monitoreak |
10h | Interfazea | Audioa/Bideoa (AV) | Web kamera, telebista |
11h | Gailua | Karteldegia | USB-C-ren euskarri diren moduak deskribatzen ditu |
DCh | Biak | Diagnostikarako gailua | USB onartze-testerako gailua |
E0h | Interfazea | Haririk gabeko kontrolagailu | Bluetooth egokitzailea, Microsoft RNDIS |
EFh | Biak | Askotarikoak | ActiveSync gailuak |
FEh | Interfazea | Aplikazio-jakinetarako | IrDA zubia, Test eta Neurketa Klasea (USBTMC)[42], USB DFU (Device Firmware Upgrade)[43] |
FFh | Biak | Saltzaile espezifikoa | Gailuak saltzailearen kontrolatzaile behar dituela zehazten du |
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 (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.
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 (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]).
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]:
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.
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.
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.
USBaren oinarrizko transakzioak[71] hauek dira: