Objavljeno: 26.3.2013 | Avtor: Simon Peter Vavpotič | Monitor April 2013 | Teme: USB

Vodilo, brez katerega ne gre!

Danes si življenje brez USB težko predstavljamo. Uporabljajo ga skoraj vsi računalniki, od namiznih, notesov, mini PCjev in tablic, do vseh vrst strežnikov in industrijskih računalnikov. USB premorejo tudi sodobni vgrajeni računalniki namenskih naprav, kot so mobilni telefoni, digitalni fotoaparati, kamere, podatkovni ključki, prenosni diski, univerzalni daljinski upravljalniki, pa tudi razne merilne, nadzorne in alarmne naprave. Letos pričakujemo prenovljeno različico USB 3.0, počasi pa se uveljavlja tudi novo zaporedno vodilo, thunderbolt.

Priključek mikro B za USB 3.0

Priključek mikro B za USB 3.0

Zamisel o enostavnem povezovanju zunanjih naprav z vitkimi kabli z le nekaj žicami sega že v osemdeseta leta preteklega stoletja. Commodore 64 je omogočal dokaj enostaven priklop več diskovnih, zmogljivejših kasetnih enot in tiskalnikov prek ene same šestpolne vtičnice. Vendar so računalniški »friki« zaporedno vodilo kmalu nadomestili z vzporednim, tako da so izkoristili edino razširitveno vtičnico računalnika in obenem zamenjali vgrajeno programsko opremo disketnika in računalnika. S tem so dosegli okoli 10-kratno pohitritev. To je na koncu tudi Commodore prisililo v serijsko proizvodnjo podobnih rešitev. Naslednja generacija računalnikov (Atariji, Amige, Machintoshi, prvi IBM PCji) je imela zaporedna vodila le še za povezovanje počasnih naprav, kot so igralne palice, tipkovnice in miške.

Powered USB

Powered USB

Od nizke do superhitrosti

Nov zagon je zamisel o zaporednem vodilu dobila šele s tretjo generacijo računalnikov za domačo in poslovno rabo. Prvo različico USB je leta 1994 začela razvijati skupina sedmih podjetij: Compaq, DEC, IBM, Intel, Microsoft, NEC in Nortel. Cilj projekta je bil nadomestiti kopico različnih standardnih vtičnic na zadnji strani osebnega računalnika z novimi, univerzalnimi, ki bi hkrati omogočale veliko višje prenosne hitrosti, pa tudi enostavnejše povezovanje zunanjih naprav, brez vnovičnih zagonov računalnika.

Izdelovalci so se tokrat na zamenjavo vzporednih vodil z zaporednimi bolje pripravili. Izdelali so namenske krmilnike zaporednega vodila, ki so pretvorbo podatkov z vzporednega vodila na zaporedno vodilo opravili brez posredovanja glavne procesne enote. Hkrati so dodali posebne vhodne in izhodne tokovne ojačevalnike, ki so omogočili približno desetkraten dvig frekvence prenosa podatkov na zaporednem vodilu v primerjavi z vzporednim vodilom. S tem je zaporedno vodilo po hitrosti prenosa podatkov postalo konkurenčno vzporednemu.

Že leta 1996 je izšla originalna specifikacija standarda,  USB 1.0, ki je omogočala prenosne hitrosti 1,5 megabitov/s (nizka hitrost) in 12 megabitov/s (polna hitrost). Septembra 1998 smo dobili različico 1.1, ki je prva doživela širšo rabo, vendar je bila prepočasna za prenos videa. Aprila 2000 je zato sledil USB 2.0 s kar 40-kratnim povečanjem najvišje prenosne hitrosti, na 480 megabitov/s (visoka hitrost). To je omogočilo zadovoljivo povezovanje zunanjih diskov in raznih manj zmogljivih zunanjih TV in video kartic. Pred dobrimi štirimi leti smo dobili še USB 3.0 s super hitrostjo, do 5 gigabitov/s. Prve naprave z USB 3.0 smo lahko kupili januarja 2010; za letos pa je že napovedana nova različica USB 3.0, ki bo zmogla dvojno superhitrost (do 10 gigabitov/s). Tako bo po zmogljivosti podobna Intelovemu najnovejšemu standardu Thunderbolt.

Omenimo tudi manj uveljavljeni standard, ki je bil prvič predstavljen že leta 2001, USB On-The-Go (slov. USB na poti). Namenjen je enostavnemu povezovanju zunanjih naprav USB, pri čemer ena prevzame vlogo gostiteljskega računalnika, ne da bi bil potreben zmogljivejši računalnik s krmilnikom vodila USB. USB On-The-Go je podprt tudi pri USB 3.0.

»Rumena« vtičnica USB s stalnim močnostnim napajanjem za polnjenje akumulatorjev

»Rumena« vtičnica USB s stalnim močnostnim napajanjem za polnjenje akumulatorjev

Bi bilo vzporedno vodilo hitrejše?

Marsikdo misli, da bi tudi danes lahko USB 3.0 nadomestili z zmogljivejšim vzporednim vodilom. Vendar tu naletimo na kopico težav; denimo na presluhe, do katerih lahko pride pri slabo oklopljenih vzporednih podatkovnih vodnikih. Kljub temu možnosti za nekajkratno pohitritev so, saj lahko uporabimo tudi več priključkov USB hkrati, pri čemer podatke porazdelimo. Bistveno je le, da ima računalnik na voljo dovolj krmilnikov USB, ki delujejo vzporedno. A s tem bi izgubili ključno prednost USB, enostavnost povezovanja. Po drugi strani pasovna širina 10 gigabitov/s omogoča prenos okoli 1 GB/s, kar je dovolj, da v nekaj sekundah napolnimo ves glavni pomnilnik računalnika. »Diski« brez gibljivih delov (SSD) in klasični diski še zdaleč ne morejo prebrati ali shraniti toliko podatkov v tako kratkem času; to več kot očitno dokazujejo tudi zaporedna diskovna vodila, SATA, ki jih večinoma uporabljamo znotraj računalnika. Bistvena prednost vitkih kablov je tudi omogočanje boljšega pretoka zraka skozi ohišje računalnika in s tem boljšega hlajenja.

Ventilatorji, ki se napajajo iz vodila USB. Pogosto je težava v tem, da so taki izdelki brez potrebne digitalne logike, s pomočjo katere bi lahko od krmilnika USB zahtevali ustrezen priključni tok.

Ventilatorji, ki se napajajo iz vodila USB. Pogosto je težava v tem, da so taki izdelki brez potrebne digitalne logike, s pomočjo katere bi lahko od krmilnika USB zahtevali ustrezen priključni tok.

Napajanje naprav prek USB

Naprave USB imajo lastno napajanje ali pa se napajajo iz vodila USB. Naprave z lastnim napajanjem minimalno obremenijo vodilo, vendar pri izklopljenem vodilu (povsem ugasnjen računalnik) vanj ne smejo oddajati toka. Napajanje drugih naprav iz vodila omogočajo prav vse različice osnovnega standarda USB, le da je največji dovoljeni tok prek enega priključka USB omejen na 0,5 A, oziroma na 0,9 A pri USB 3.0. Mogoča je tudi kombinacija, ko se naprava napaja iz vodila, le ko ni zadostnega zunanjega napajanja.

Vsaka naprava mora v začetku delovati kot naprava z nizko porabo (do 100 mA), ki jo lahko poveča šele, ko ji to dovoli krmilnik vodila. Če je potreben napajalni tok, večji od 0,5 A, in vseeno želimo le napajanje prek USB, moramo napravo povezati z dvema ali več vtičnicami USB, od katerih rabi ena za prenos podatkov, druge pa le za napajanje.

Priključke USB pogosto uporabljamo tudi za polnjenje baterij raznih mobilnih naprav. Zato so nekateri izdelovalci (predvsem notesov) v svoje izdelke vgradili tudi rumene priključke USB, ki delujejo s polno močjo tudi, ko je računalnik ugasnjen.

Zanimiv je tudi nekoliko dopolnjen in spremenjen lastniški standard, Powered USB, ki so ga skupaj razvili IBM, NCR in FCI/Berg.  Namenjen je predvsem elektronskim blagajnam za trgovine in podobni profesionalni namenski strojni opremi. Poleg komunikacije prek USB omogoča tudi dokaj zmogljivo napajanje zunanjih naprav s tokom 6 A pri napetostih 5 V, 12 V ali 24 V.

Razne izvedbe vtikačev za USB 2.0 in USB 1.x.

Razne izvedbe vtikačev za USB 2.0 in USB 1.x.

Kako deluje?

USB ima asimetrično zvezdno topologijo, ki jo sestavljata gostiteljski računalnik in veliko vhodno-izhodnih vrat, od katerih so vsaka povezana s po eno fizično zunanjo napravo. Povezava naprav z gostiteljskim računalnikom je večnivojska. Gostiteljski računalnik ima lahko vgrajenih enega ali več krmilnikov USB, ki v topologiji predstavljajo korenske spojnike, pri čemer lahko prek vsakega povežemo največ 127 naprav.  To je skupno število vseh naprav, ne glede na to, ali so povezane neposredno ali prek podrednih spojnikov, s katerimi le povečamo število razpoložljivih fizičnih vtičnic USB.

Vsaka fizična zunanja naprava se lahko na vodilu USB predstavi kot več logičnih naprav, ki jih uporabniki vidijo kot različne funkcionalnosti. Taka je, denimo, spletna kamera z vgrajenim mikrofonom, pri kateri je smiselno ločiti funkcionalnosti prenosa digitalizirane slike in digitaliziranega zvoka. Zato ločimo sestavljene in spojene naprave. Sestavljene naprave imajo za vse logične naprave enak naslov na vodilu, spojene logične naprave pa imajo vsaka svoj naslov, celotna naprava pa je na vodilu USB predstavljena kot spojnik.

Vsaka od logičnih naprav komunicira z gostiteljskim računalnikom po podatkovnih ceveh (angl. pipes), ki so logične povezave med krmilnikom USB in logičnimi končnimi točkami (angl. endpoint). Podatkovna cev je povezana z natanko eno končno točko, vsaka naprava pa ima lahko do 32 končnih točk. Lastnosti in število slednjih so določeni v vgrajeni programski opremi zunanje naprave, vendar je mogoče podatkovno cev iz gostiteljskega računalnika odpreti ali zapreti.

Cevi delimo na dva tipa: tokovne in sporočilne. Sporočila cev je dvosmerna in je navadno namenjena prenosu nadzornih podatkov s pomočjo kratkih in preprostih ukazov ter povratnih statusnih odzivov. Tokovna cev je enosmerna in je povezana z enosmerno končno točko, ki omogoča prenos velike količine podatkov na isohronski, prekinitveni ali masovni (angl. bulk) način. Isohronski način je namenjen hitremu prenosu digitaliziranega videa ali zvoka s konstantno hitrostjo, pri katerem so dovoljene manjše izgube podatkov. Prekinitveni način omogoča visoko odzivnost zunanjih naprav,  masovni način pa zagotavlja izkoriščenost vse razpoložljive pasovne širine in brezizgubni prenos podatkov, vendar ne zagotavlja hitre odzivnosti ali konstantne hitrosti prenosa podatkov. Zato je primeren predvsem za hiter prenos datotek.

Krmilnik USB začne komunikacijo s končno točko podatkovne cevi prek paketnih žetonov, ki vsebujejo naslov naprave in številko končne točke. Izhodni paketni žetoni potujejo iz krmilnika USB v končno točko, vhodni pa ravno nasprotno. Enosmerne vhodne končne točke le sprejemajo, enosmerne izhodne končne točke pa le oddajajo žetone. Končne točke so logično povezane v vmesnike, od katerih vsak podpira po eno funkcionalnost zunanje naprave, oziroma je predstavljen kot ena logična naprava.

Krmilnik USB usmerja tudi smer pretoka podatkov po vodilu, zato nobena od naprav ne sme oddati paketa, razen na izrecno zahtevo krmilnika. Pri USB 2.0 krmilnik preverja potrebe zunanjih naprav po prenosu podatkov po krožnem sistemu.

Kabel za USB 3.0 z vtikačem in vtičnico

Kabel za USB 3.0 z vtikačem in vtičnico

Pri vtikaču mikro B za USB 3.0 je očitna delitev na del za prenos podatkov s superhitrostjo in del prenos podatkov z nižjim hitrostmi, ki zagotavlja združljivost z USB 2.0.

Pri vtikaču mikro B za USB 3.0 je očitna delitev na del za prenos podatkov s superhitrostjo in del prenos podatkov z nižjim hitrostmi, ki zagotavlja združljivost z USB 2.0.

Razlike med standardi

Strokovnjaki so se pri razvoju standardov USB potrudili, da so ohranili združljivost za nazaj. Pri USB 1.x in USB 2.0 so vtičnice popolnoma enake. Združljivi za nazaj so tudi podatkovni kabli. Tako lahko podatkovni kabel za USB 2.0 brez težav uporabimo za USB 1.x, vendar pa ni nujno, da bo delovalo tudi nasprotno. USB 1.x podpira le počasnejša načina komunikacije z 1,5 megabiti/s in 12 megabiti/s, za doseganje hitrosti 480 megabitov/s (teoretično to pomeni 60 MB/s, dejansko pa povprečno okoli 35 MB/s) pa je potreben kabel za USB 2.0, ki se od klasičnega kabla razlikuje po boljših električnih lastnostih, še vedno pa je sestavljen iz štirih vodnikov: vodnik za 5 V napajanje, vodnik za maso (povratni vodnik) in parica z diferencialnima signaloma D+ in D-. Vrednost slednjih določa stanje 0 ali 1, poseben znak pa je rezerviran tudi za konec paketa. Izbira ene izmed treh hitrosti prenosa podatkov, nizke, polne in visoke, je samodejna in je odvisna od zmogljivosti krmilnika, morebitnih vmesnih spojnikov in priključene naprave.

USB 3.0 se od USB 2.0 in starejših različic bistveno razlikuje. Videti je, da so snovalci združljivost za nazaj dosegli preprosto tako, da so par v parico spletenih signalnih vodnikov D+ in D- za starejše standarde pustili nedotaknjen, dodali pa so dve novi parici, namenjeni najhitrejšim napravam. USB 3.0 ima tako pet dodatnih vodnikov, saj poleg diferencialnih vodnikov za oddajanje (SSTX+ in SSTX-) in sprejemanje (SSRX+ in SSRX-) podatkov potrebuje še dodatno signalno maso, ki so jo snovalci poimenovali GND_DRAIN (odtočna masa). To ni presenetljivo, saj mora biti električni tok na vodilu dovolj močan, da je mogoče po trimetrskem kablu prenašati podatke s superhitrostjo (5 gigabitov/s).

Prenos podatkov s superhitrostjo sicer poteka po precej spremenjenem protokolu v primerjavi s prej omenjenimi hitrostmi, ki jih podpira tudi USB 2.0. Pri slednjem krmilnik vodila vsak paket odda vsem napravam na vodilu. Te morajo iz naslova naprave same ugotoviti, ali je paket zanje, in se v tem primeru ustrezno odzvati. V nasprotju s tem USB 3.0 pri superhitrosti uporablja usmerjanje. V spojnike USB 3.0 so vgrajeni usmerjevalniki, ki omogočajo neposredno povezavo med krmilnikom vodila in napravo, ne da bi morale druge naprave preverjati, ali so paketi namenjeni njim.

Praktično vsa infrastruktura USB 3.0 je dvojna. Če bi jo razdelili na dva dela in novim signalom USB 3.0 dodali še 5-voltni napajalni vodnik, bi dobili dve ločeni vodili, eno za superhitrost in drugo za preostale hitrosti prenosa podatkov.

USB končno »ukročen« in »udomačen«!

Pri razvoju maloserijske ali hobi elektronike in naprav za znanega naročnika pogosto naletimo na problem povezovanja krmiljenih naprav z računalnikom. Včasih smo za krmiljenje počasnih naprav lahko uporabili vmesnika centronix in RS-232, novi računalniki pa ju nimajo več. Obenem bi bila pogosto prepočasna. Lahko se sicer odločimo za uporabo vmesnikov USB, ki podpirajo omenjena stara priključka. Vendar je ob poplavi poceni mikroračunalnikov oziroma mikrokrmilnikov (angl. microcontrollers), ki podpirajo komunikacijo prek USB, to daleč najslabša rešitev.

Veliko boljša rešitev je, da nova naprava podpira neposredno komunikacijo prek USB. Današnji mikroračunalniki v enem čipu so že tako izpopolnjeni, da za svoje delovanje potrebujejo le nekaj diskretnih elektronskih elementov (uporov in kondenzatorjev, včasih še kak tranzistor). Zgrajeni so iz številnih funkcionalnih enot, ki omogočajo enostavno krmiljenje močnostne elektronike, kot so relejska preklopne vezja pa tudi koračni motorji. Omogočajo tudi zajemanje analognih (analogno-digitalna pretvorba) in digitalnih signalov, pa tudi merjenje širine impulzov. Slednje je še posebej pomembno, če podatke prenašamo s pomočjo impulzno-širinske modulacije, ki je pogost način prenosa podatkov iz raznih tipal, s katerimi lahko merimo temperaturo, tlak, vlažnost ipd.

Več podatkov o takih in podobnih projektih s fotografijami najdemo na raznih spletnih straneh, kot je: https://sites.google.com/site/pcusbprojects, ki opisuje številne možnosti  povezave PCja zunanjim svetom. Pri vsem je dobro tudi, da nam ni treba kupiti dragega programatorja za mikroračunalnike; lahko ga za nekaj evrov naredimo sami.

Novi USB 3.0 in Intelov Thunderbolt

Mnogi so pričakovali, da bo skupina podjetij za pripravo standarda USB 3.0 letos izdala povsem novo specifikacijo, morda celo različico 4.0, a se to ni zgodilo. Namesto tega naj bi letos jeseni dokončali nekoliko dopolnjeno različico USB 3.0, ki bo v primerjavi z zdajšnjim USB 3.0 omogočala dvakrat hitrejše prenose podatkov, do 10 gigabitov/s. Vsa programska logika in arhitektura bosta ostali enaki, zato pa bodo izboljšani kabli in osnovna elektronika za prenos podatkov.

Po drugi strani ima Intel, ki je eden najpomembnejših promotorjev USB, že več let v rokavu še en adut, Thunderbolt. Združuje prenos video signala med računalnikom in monitorjem ter hitre povezave z zunanjimi napravami, kot so zmogljivi diski. Po istem kablu tako potujejo podatki za prikaz slike (standard DisplayPort 1.1a) in podatki, ki se prenašajo po vodilu PCI Express (največ štiri naprave PCI Express 2.0). Thunderbolt ima simetrično arhitekturo, kar pomeni, da je na vsaki strani kabla po en krmilnik vodila, ki podatke iz zaporedne oblike pretvori spet v vzporedno obliko in nasprotno.

Največja pasovna širina je 10 gigabitov/s na napravo, a ne več kot 20 gigabitov/s, če sta povezani dve ali več naprav. Thunderbold pozne dva tipa krmilnikov vodila, z dvoje oziroma enimi vrati. Na vsaka vrata je mogoče povezati po eno napravo, mogoče pa je tudi veriženje, kar pomeni, da ima lahko povezana naprava na voljo dodatna vrata (če ima krmilnik z dvoje vrati), na katera priključimo naslednjo napravo v verigi itd. V verigo je mogoče povezati največ šest naprav. Spomnimo se, da povezovanje v t. i. »marjetično verigo« ni novo, saj ga je že v osemdesetih letih uporabljal Commodore 64 za priklop disketnikov, tiskalnika in drugih naprav.

Zanimivo je tudi, da je vmesnike Thunderbolt v svoje računalnike prvi vgradil Apple, ki je standard sprva sam razvijal, nato pa ga je prodal Intelu, ki je v celoti prevzel licenco in vodenje razvoja. Kljub temu da razvoj poteka že od leta 2009 (prej pod imenom Light Peak) in smo že septembra 2010 videli nekaj komercialnih prototipov, zaenkrat Thunderbolt v svetu osebnih računalnikov še ni polno zaživel. Večinoma je vmesnik Thunderbolt serijsko vgrajen v novejše izdelke višjega srednjega ali višjega cenovnega razreda, ki jih lahko kupimo tudi pri nas. Kratek je tudi seznam zunanjih naprav. Vsi povezovalni vodniki v kablu USB 3.0 so zaenkrat bakreni, kar omogoča tudi prenos električne energije (18 V pri 0,5 A).

Pri Intelu razmišljajo tudi o Thunderboldu, ki bi uporabljal zmogljivejše kable z optičnimi vlakni, vendar bi ti morali vsebovati tudi bakrene vodnike za prenos električne energije. Kljub temu se zdi, da bo izboljšani 10-gigabitni USB 3.0 huda konkurenca. Čeprav je mogoče z optičnimi vodniki signale brez večjih težav prenašati tudi na razdalji 100 metrov, se upravičeno sprašujemo, kdo potrebuje računalnik, ki bo od tipkovnice, zaslona in morebitnega zunanjega diska tako zelo oddaljen. Zato ni presenetljivo, da so med prvimi izdelki, ki uporabljajo Thunderbolt, tudi diskovna polja tipa RAID za velike strežnike. Velikanske omare diskovja pač ni mogoče strpati v majhno ohišje in tu je možnost uporabe daljših kablov za hiter prenos podatkov do krmilnika RAID več kot dobrodošla.

Doma narejen programator mikrokrmilnikov, ki deluje preko vodila USB 2.0

Doma narejen programator mikrokrmilnikov, ki deluje preko vodila USB 2.0

Povezave prihodnosti

Potrebe po vse večji zmogljivosti podatkovnih povezav med računalniki ter med zunanjimi napravami in drugimi računalniki so močno odvisne od razvoja tehnologije. Čim večji so pomnilniki in diski, tem večje so potrebe po hitrem prenosu podatkov. Po diskovnem vodilu SATA je mogoče danes prenašati podatke s hitrostmi od 160 MB/s naprej, kar je okoli 1,8 gigabita/s (faktor zaporednega prenosa v primerjavi z zaporednim je približno 11) oziroma okoli petkrat manj od Thunderbolda in 2,5-krat manj od 5-gigabitnega USB 3.0. Vendar kritični faktor pri branju in zapisovanju podatkov z diska in na disk ni hitrost vodila SATA, temveč hitrost dostopa do posamezne pomnilne celice na magnetnih ploščah. Po drugi strani je res, da se vse bolj uveljavljajo tudi »diski« brez gibljivih delov, ki niso nič drugega kot velikanski bliskovni pomnilniki. Pri slednjih bo Thunderbolt vsekakor dobrodošel, a se upravičeno sprašujemo, ali ni eSATA za priklop zunanjega diska čisto dovolj. Pač zunanji disk nekoliko bolj približamo računalniku. Zdi se, da se morajo v Intelu končno odločiti, kateri standard bodo razvijali v prihodnje, drugače bodo PCji spet dobili poplavo nezdružljivih priključkov, od katerih bo vsak namenjen le priključevanju določenih vrst naprav.

Naroči se na redna tedenska ali mesečna obvestila o novih prispevkih na naši spletni strani!

Komentirajo lahko le prijavljeni uporabniki

 
  • Polja označena z * je potrebno obvezno izpolniti
  • Pošlji