Sveiki visi. Kartais žmonėms įdomu sužinoti, kuo USB 3.0 skiriasi nuo USB 2.0, kartais norisi suprasti, kokios versijos ar tipo USB jungtis jie turi savo kompiuteryje, koks dinozauras yra USB 1.0 ir pan. Pasigilinkime į šią temą šiek tiek giliau.
USB standartas pasirodė 90-ųjų viduryje. Iššifruota USBštai kaip - Universali serijinė magistralė. Šis standartas buvo sukurtas specialiai ryšiui tarp periferinių įrenginių ir kompiuterio ir dabar užima pirmaujančią vietą tarp visų tipų ryšio sąsajų. Tai nestebina. Šiais laikais sunku įsivaizduoti bet kurį įrenginį be USB jungties, nors šios jungtys skiriasi.
Šiandien jų užtenka didelis skaičius USB jungčių tipai. Kai kurie yra dažnesni, kiti mažiau. Bet kokiu atveju, pažvelkime į juos.
USBtipas-A– vienas iš labiausiai paplitusių USB jungčių tipų. Galbūt matėte jį ant savo, ant bloko įkroviklis ir ne tik. Turi daug naudos. Su juo galite prijungti peles ir klaviatūras prie kompiuterio (ar kito įrenginio), „flash drives“, išoriniai diskai, išmanieji telefonai ir pan. Šis sąrašas gali būti tęsiamas ilgai, jei gerai pagalvosite.
USBtipas-B– jungtis daugiausia naudojama spausdintuvui ar kitiems išoriniams įrenginiams prijungti prie kompiuterio. Gauta daug mažiau paplitusi nei A tipo USB.
Mini USB buvo labai dažnas mobiliuosius įrenginius ah prieš „Micro USB“ atsiradimą. Šiuo metu tai labai reta, bet vis tiek galite jį rasti kai kuriuose senesniuose įrenginiuose. Mano nešiojamoje garso kolonėlėje mini USB jungtis gauna elektros energiją, kad įkrautų akumuliatorių. Šį garsiakalbį pirkau prieš kokius 5 metus (pasirodė, kad patvarus).
Mikro USB dabar naudojamas išmaniuosiuose telefonuose ir Mobilieji telefonai beveik visi gamintojai. Ši USB jungtis įgijo neįtikėtiną populiarumą tarp mobiliųjų įrenginių. Tačiau USB Type-C pamažu užima vietą.
USB standarto proprosenelis yra USB 1.0 gimė šaltą 1995 metų lapkritį. Tačiau jis gimė šiek tiek per anksti ir nesulaukė didelio populiarumo. Tačiau jo jaunesnysis brolis USB 1.1, gimęs po trejų metų, buvo perspektyvesnis pavyzdys ir sugebėjo pritraukti pakankamai dėmesio.
Kalbant apie techninę dalį, duomenų perdavimo greitis buvo mažas, tačiau pagal tų laikų standartus šio greičio buvo daugiau nei pakankamai. Greitis siekė iki 12 Mbit/s ir tai buvo didelio pralaidumo režimu.
USB 2.0 ir USB 3.0 yra du visiškai modernūs USB standartai, kurie dabar naudojami visur kompiuteriuose ir nešiojamuosiuose kompiuteriuose. USB 3.0, žinoma, yra naujesnis ir greitesnis, taip pat turi pilną suderinama atgal su USB 2.0 įrenginiais. Bet greitis šiuo atveju bus ribojamas iki didžiausio greičio pagal USB 2.0 standartą.
Teoriškai USB 3.0 perdavimo greitis yra maždaug 10 kartų didesnis nei USB 2.0 (5 Gbps palyginti su 480 Mbps). Tačiau praktikoje informacijos mainų tarp įrenginių greitį dažnai riboja patys įrenginiai. Nors apskritai USB 3.0 vis tiek laimi.
Nors USB 2.0 ir USB 3.0 standartai yra suderinami atgal, vis dėlto jie turi tam tikrų techninių skirtumų. USB 2.0 turi 4 kontaktus – 2 įrenginiams maitinti ir 2 duomenims perduoti. Šie 4 kaiščiai buvo išsaugoti USB 3.0 standarte. Bet be jų buvo pridėti dar 4 kontaktai, kurių reikia didelis greitis duomenų perdavimas ir greitesnis įrenginių įkrovimas. Beje, USB 3.0 gali veikti iki 1 ampero srove.
Dėl to USB 3.0 standartinis laidas tapo storesnis, o jo ilgis dabar neviršija 3 metrų (USB 2.0 maksimalus ilgis siekė 5 metrus). Tačiau išmanųjį telefoną galite įkrauti daug greičiau, net jei prie vienos jungties per skirstytuvą prijungsite kelis išmaniuosius telefonus.
Natūralu, kad gamintojai pasirūpino vizualiniais skirtumais. Nereikia ieškoti pagrindinės plokštės pakuotės, kad pamatytumėte, kokius USB standartus ji palaiko. Ir jums nereikia eiti į kompiuterio nustatymus ar įrenginių tvarkytuvę, kad tai padarytumėte. Tiesiog pažiūrėkite į savo jungties spalvą. USB 3.0 jungtis beveik visada yra mėlyna. Labai retai jis būna ir raudonas. Nors USB 2.0 beveik visada yra juodas.
Taigi dabar vienu greitu žvilgsniu galite nustatyti, ar nešiojamajame kompiuteryje yra USB 2.0 ar USB 3.0.
Tai turbūt ir baigiasi pokalbis apie tai, kuo USB 2.0 skiriasi nuo USB 3.0.
Ko išmokome iš šio straipsnio? Tas USB yra padalintas į duomenų perdavimo standartus, kurie skiriasi duomenų perdavimo greičiu. Ir taip pat, kad USB turi daugybę jungčių tipų.
Ir įdomiausias dalykas, kurį pamiršau paminėti straipsnyje, yra tai, kad jungčių tipus galima derinti taip. Galite rasti viso dydžio A tipo USB jungtį ir viso dydžio B tipo USB, tuo pačiu metu yra (bet retai) A tipo mikro USB ir B tipo mikro USB (labai paplitę). A tipo USB gali veikti naudojant USB 2.0 protokolą arba USB 3.0 protokolą. Apskritai, jei norite, galite susipainioti.
Ir jei nerimaujate dėl klausimo, kurias jungtis geriau pasirinkti USB 2.0 ar USB 3.0 nešiojamam kompiuteriui, nesijaudinkite. Dabar visuose šiuolaikiniuose nešiojamuosiuose ir kompiuteriuose yra abiejų tipų USB. Pavyzdžiui, mano nešiojamasis kompiuteris turi dvi USB 2.0 jungtis ir vieną USB 3.0 jungtį. Ir visos trys jungtys yra A tipo USB.
Štai kokie jie – USB!
Ar perskaitėte iki galo?
Ar šis straipsnis buvo naudingas?
Ne visai
Kas tiksliai nepatiko? Ar straipsnis buvo neišsamus ar klaidingas?
Rašykite komentaruose ir pažadame tobulėti!
Didelės spartos signalizacijos bitų sparta – 12 Mb/s – Maksimalus laido ilgis didelės spartos signalizacijos bitų spartai – 5 m – Mažo greičio signalizacijos bitų sparta – 1,5 Mb/s – Maksimalus kabelio ilgis, skirtas mažos spartos signalizacijos bitų spartai – 3 m – Maksimalus prijungtų įrenginių skaičius (įskaitant daugiklius) - 127 - Galima prijungti įrenginius su skirtingais duomenų perdavimo sparta - 500 mA
USB signalai perduodami dviem ekranuoto keturių laidų kabelio laidais.
Čia :
GND- „dėklo“ grandinė, skirta išoriniams įrenginiams maitinti V AUTOBUSAS- +5V taip pat maitinimo grandinėms Magistralė D+ skirtas duomenų perdavimui
Padanga D- gauti duomenis.
Nors Maksimalus greitis USB 2.0 duomenų perdavimas yra 480 Mbit/s (60 MB/s), realiame gyvenime tokius greičius pasiekti nerealu (praktikoje ~33,5 MB/s). Taip yra dėl didelio USB magistralės vėlavimo tarp užklausos dėl duomenų perdavimo ir faktinės perdavimo pradžios. Pavyzdžiui, FireWire magistralė, nors ir turi mažesnę 400 Mb/s didžiausią pralaidumą, kuri yra 80 Mb/s (10 MB/s) mažesnė nei USB 2.0, iš tikrųjų leidžia padidinti duomenų mainų su standžiaisiais diskais ir kitais įrenginiais pralaidumą. prietaisai. Šiuo atžvilgiu įvairius mobiliuosius įrenginius jau seniai ribojo nepakankamas praktinis USB 2.0 pralaidumas.
Svarbiausias USB 3.0 pranašumas yra didesnis greitis (iki 5 Gbps), kuris yra 10 kartų greitesnis nei senesnio prievado. Naujoji sąsaja pagerino energijos taupymą. Tai leidžia pavarai pereiti į miego režimą, kai jis nenaudojamas. Vienu metu galima atlikti dvipusį duomenų perdavimą. Tai suteiks didesnį greitį, jei prie vieno prievado prijungsite kelis įrenginius (padalinkite prievadą). Galite šakotis naudodami šakotuvą (koncentratorius yra įrenginys, kuris iš vieno prievado išsišakoja į 3-6 prievadus). Dabar, jei prijungsite šakotuvą prie USB 3.0 prievado, o prie šakotuvo prijungsite kelis įrenginius (pavyzdžiui, „flash drives“) ir vienu metu atliksite duomenų perdavimą, pamatysite, kad greitis bus daug didesnis nei naudojant USB. 2.0 sąsaja. Yra savybė, kuri gali būti pliusas ir minusas. USB 3.0 sąsaja padidino srovę iki 900 mA, o USB 2.0 veikia su 500 mA srove. Tai bus pliusas tiems įrenginiams, kurie buvo pritaikyti USB 3.0, tačiau nedidelis minusas – gali kilti rizika kraunant silpnesnius įrenginius, pavyzdžiui, telefoną. Fizinis naujos sąsajos trūkumas yra kabelio dydis. Kad būtų išlaikytas didelis greitis, kabelis tapo storesnis ir trumpesnis (negali būti ilgesnis nei 3 metrai) nei USB 2.0. Svarbu pažymėti, kad įrenginiai su skirtingomis USB sąsajomis bus dirbti gerai ir neturėtų būti problema. Tačiau nemanykite, kad greitis padidės, jei USB 3.0 prijungsite prie senesnio prievado arba senesnį sąsajos kabelį prijungsite prie naujo prievado. Duomenų perdavimo greitis bus lygus silpniausio prievado greičiui.
Iliustruota OSI tinklo modelio projekcija į universaliąją nuosekliąją magistralę.
Nelabai naudingas USB kaminas
Jei skaitytojui yra buvę panašių jausmų, siūlau alternatyvią USB kamino viziją, kuri staiga man pasirodė aiškiai perkaitusiose smegenyse, paremtą pamėgtu 7 sluoksnių OSI modeliu. Aš apsiribojau penkiais lygiais:
Nenoriu pasakyti, kad visa programinė įranga ir bibliotekos jau yra sukurtos arba turėtų būti sukurtos remiantis šiuo modeliu. Dėl inžinerinių priežasčių kodas su lygiais bus labai sumaišytas. Bet noriu padėti tiems, kurie pradeda pažintį su USB magistrale, kurie nori suprasti įrenginių mainų protokolus ir dalykinės srities terminologiją, priartėti prie paruošti pavyzdžiai, bibliotekas ir geriau jose naršyti. Šis modelis skirtas ne įkelti į MK, o į jūsų nuostabius protus, brangūs draugai. Ir tada tavo auksinės rankos viską padarys pačios, neabejoju :)
Taigi, eikime, pataisykite, jei pastebėsite klaidų. Tai juodraštinis variantas, ir jei jau kažkas panašaus kur nors buvo nupieštas, atsiprašau, neradau, todėl pasidariau pats. Manau, kad paveikslas nepabėgs, bet kol kas garbingai visuomenei paaiškinsiu, kodėl iš viso pradėjau šį leidinį.
Dar vienas prisiminimas iš devintojo dešimtmečio
Pirmąją klaidą iš kažkieno kodo pašalinau devintojo dešimtmečio pabaigoje, dirbdamas studentu kaip studentas. Tai buvo pppd skirta FreeBSD, kurią vėliau įdiegėme modemo telkinyje. „Motorola“ modemai įstrigo ant ragelio, niekas negalėjo patekti, linija buvo prarasta veltui, o vienintelis likęs būdas per PPP išlaikyti gyvą buvo kažkodėl klaidingas. Tada ir sužinojau, kad pppd kažkodėl laukia šešių LCP atsako baitų, o ne reikalingų keturių. Tada jaučiausi tokia beprotiška klaidų kratytuvas iš devintojo dešimtmečio :-) Ką su tuo turi PPP? Tai tiesiog panašu į USB: paketas ir taškas į tašką. Tiesa, skirtingai nei USB 2.0, jis yra visiškai dvipusis.
Man patiko HID idėja. Bet kai tik palikau „Windows“ už mokomųjų užduočių, susijusių su mirksinčiais šviesos diodais (pirmyn į tikrą UNIX aplinką!), ji pradėjo skverbtis pro visus neužsandarintus plyšius ir jaučiausi kaip kažkoks bejėgis luošas. Derindamas projektą instinktyviai griebiau kažkokį tcpdump (taip jis vadinasi: usbdump(8) , arba usbmon), bet mačiau tik žinutes nepažįstama kalba.
Tapo akivaizdu: trūksta esminių žinių apie USB magistralę. Jei koks patyręs IT specialistas tiesiog iš reikalo supranta OSI modelį ir TCP/IP stacką kažkur nugaros smegenų lygyje, tai su USB situacija yra kitokia. Tai suprantama: ten galite (reikia) šnipinėti srautą per tą patį tcpdump ir konfigūruoti aparatinę bei programinę įrangą, tačiau čia viskas yra visiškai „plug and play“, ir jūs galite ką nors pataisyti atnaujindami tvarkyklę ar programinę įrangą (arba iš naujo įdiegdami OS). Bet mes čia susirinkome tik tam, kad sukurtume gerą programinę-aparatinę įrangą, tiesa? Perskaičiusi kai kuriuos USB aprašymus internete, nustebau, kokia paini gali būti dokumentacija. Netgi buvo toks jausmas, kad jie tyčia norėjo mus suklaidinti, skleisdami rūką ir atsikratydami konkurencijos. Aš nesutinku su tokia padėtimi!
Iš pradžių tai atrodo optimistiškai. Galiausiai rietuvė išardoma. Tačiau kadrai yra prastai pažymėti: brėžčiau juos vertikaliomis punktyrinėmis linijomis, o EOF yra tik pauzė, faktiškai duomenys neperduodami. Bet mes pradedame skaityti kontekstą ir prarandame supratimą apie tikrąjį autoriaus ketinimą (supainioti mus):
Sugeneruoja USB magistralės sąsajos pagrindinio kompiuterio valdiklis personalas;Ir čia dar vienas:
Personalas perduodami serijiniu bitų perdavimu naudojant NRZI metodą.
kas rėmelis susideda iš aukščiausio prioriteto siuntinių, kurios sudėtį sudaro priimančioji vairuotojas;
kiekviena transliacija susideda iš vienos ar kelių operacijų;
kiekvienas sandoris susideda iš paketus;
kas plastikinis maišelis susideda iš paketo identifikatoriaus, duomenų (jei yra) ir kontrolinės sumos.
Štai vienas iš jų
Dėl programinės įrangos viskas aišku: tai ne pramoniniam naudojimui skirti pavyzdžiai, gali būti klaidų, kai kurios dalys (pavyzdžiui, nuorodų lentelė masinės atminties pavyzdyje) yra apsaugotos patentu ir jūs neturite teisės jų naudoti komerciniame projekte. Bet tai nieko, kinai tada sugeba parduoti USB produktus rinkoje, kuriems net nesivargina pakeisti bibliotekos VID ir PID.
Dėl geležies, kaip suprantu, reikia pradėti nuo kvarco. Turiu Chelyabinsk PinBoard II su 12 MHz kvarcu (visos bibliotekos skirtos 8 MHz), pakeičiau PLL daugiklį nuo 9 į 6 (nuoroda su paaiškinimais), kitaip MK įsibėgės iki 108 MHz, o ne 72 MHz, o USB neis į 72 MHz vietoj reikalingų 48 MHz. Taip pat galite sulėtinti MK greitį iki 48 MHz, pakeisdami USB magistralės daliklį iš pusantro į vieną. Specialistai nemėgsta naudoti vidinio HSI MK generatoriaus: dėl šildymo dažnis gali šiek tiek nukrypti, o pasekmes USB sunku numatyti. Na, žinoma, nepamirškite apie periferiją. Be SPI / SDIO „flash“ atminties, iš didelės atminties pavyzdžio galite sukurti tik /dev/null analogą, bet negalite jo suformatuoti :-)
Pramonės elektronikos inžinieriai turi puikių žinių ir įgūdžių aparatūros srityje, kaire ranka užmerktomis akimis lituoja iki plauko plonus radijo komponentus (ir tada jis veikia). Žiūrėti į elektroninė grandinė, beveik fiziškai pradeda jausti visas jo sroves su potencialais, jie taip pat dirba su maitinimo grandinėmis ir su (dideliais, greitais, pavojingais) pramoniniais gaminiais. MK programavimo metodas yra tinkamas: jis tiesiog turi išvesti reikiamus loginius lygius į tinkamas kojas tinkamu laiku, nesvarbu, kokiu būdu. Jie yra konservatyvūs technologijų atžvilgiu (nesikiškite - tai veikia), sunkieji MK periferiniai įrenginiai nėra ypač palankūs. Kai kalbame apie objektinį programavimą, informacijos saugumas, gigantiški projektai su milijonu kodo eilučių ir visokiomis įmantriomis grafinėmis sąsajomis darosi nuobodūs. Vietoj į paketus orientuotos USB magistralės jie renkasi USART srautinio perdavimo režimą, patobulintą arba įprastu RS-232, arba žiauresniu RS-485 (nuoseklioji magistralė pramoninėms reikmėms, iki 10 Mbit/s 15 m atstumu, iki 100 kbit/s 1200 m atstumu iki 32 įrenginių).
IT žmonės yra auklėjami suprasti Operacinės sistemos, tinklo infrastruktūra ir sudėtingos sąveikos, elitas puikiai išmano informacijos saugumą ir supranta visus nematomus būdus, kaip įsiskverbti į kažkieno sistemą. Kai kurie žmonės labai myli kates (kaip jų nemyli? Tačiau aš nelaikau, neauginu ir negaminu :-). Daugelis žmonių mėgsta informacijos laisvę, kritikuoja korporacijas/vyriausybes ir minties galia nugali gamtos jėgas. Jie yra patologiškai tingūs, tačiau mėgsta naujas technologijas ir susuktus inžinerinius galvosūkius su brangiais žaislais (geriausia išspręsti programinės įrangos arba, kraštutiniais atvejais, džemperių lygmeniu). Santykiai su lituokliu saugomi: neklauskite IT specialisto, ar jam patinka lituoklis, gali nesuprasti; Geriau paklauskite, ar jam patinka lituoti elektronines grandines.
apie ką aš kalbu? Tiesiog kitaip matome šį pasaulį... Juk Linux branduolys Tie patys vaikinai išpjaustė jį iš C modulių ir surinkėjų įdėklų konkrečioms platformoms, ir atrodė, kad jie apsieina be holivarų. Tikrai rimtą projektą matau kaip kelių branduolių sistemą, apjungiančią naujausius mikrovaldiklius su sunkiais periferiniais įrenginiais, tačiau neatmetu derinių su klasikiniais modeliais, tokiais kaip AVR: juose galima pakabinti kai kuriuos kritinius, greitai besisukančius technikos progreso ietigalius. Jei kodas buvo išbandytas metų metus, kodėl gi ne?
Pridėti žymesUSB (Universali serijinė magistralė- "universali nuoseklioji magistralė") - Serijinė sąsaja duomenų perdavimas vidutinio ir mažo greičio išoriniams įrenginiams.Jungimui naudojamas 4 laidų laidas, kurio du laidai naudojami duomenims priimti ir perduoti, o 2 laidai – išoriniam įrenginiui maitinti. Dėl įmontuotų linijų USB maitinimo šaltinis leidžia prijungti periferinius įrenginius be savo maitinimo šaltinio.
USB kabelis susideda iš 4 varinių laidininkų - 2 maitinimo laidų ir 2 duomenų laidų vytos poros ir įžemintos pynimo (ekrano).
USB kabeliai turi fiziškai skirtingus patarimus „į įrenginį“ ir „prie pagrindinio kompiuterio“. Galima USB diegimas prietaisai be laido, su korpuse įmontuotu antgaliu „to-host“. Taip pat galima nuolat integruoti kabelį į įrenginį(pavyzdžiui, USB klaviatūra, interneto kamera, USB pelė), nors standartas tai draudžia pilnos ir didelės spartos įrenginiuose.
USB magistralė griežtai orientuotas, t. y. turi „pagrindinio įrenginio“ sąvoką (host, taip pat žinomas kaip USB valdiklis, paprastai įmontuotas į pietų tilto lustą pagrindinė plokštė) ir „išoriniai įrenginiai“.
Įrenginiai gali gauti +5 V maitinimą iš magistralės, tačiau gali prireikti ir išorinio maitinimo šaltinio. Budėjimo režimas taip pat palaikomas įrenginiams ir skirstytuvams gavus komandą iš magistralės, išjungiant pagrindinį maitinimą, išlaikant budėjimo režimą ir įjungiant jį gavus komandą iš magistralės.
USB palaikoĮrenginių prijungimas ir atjungimas karštu būdu. Tai įmanoma dėl padidėjusio įžeminimo kontaktinio laidininko ilgio, palyginti su signaliniais. Prisijungus USB jungtis yra pirmieji, kurie užsidaro įžeminimo kontaktai, abiejų įrenginių korpusų potencialai susilygsta ir tolesnis signalų laidų sujungimas nesukelia viršįtampių, net jei įrenginiai maitinami iš skirtingų trifazio elektros tinklo fazių.
Loginiame lygmenyje USB įrenginys palaiko duomenų gavimo ir perdavimo operacijas. Kiekviename kiekvienos operacijos pakete yra skaičius galutinis taškas prietaise. Kai įrenginys yra prijungtas, OS branduolio tvarkyklės nuskaito įrenginio galinių taškų sąrašą ir sukuria valdymo duomenų struktūras, kad galėtų susisiekti su kiekvienu įrenginio galiniu tašku. Galinių taškų ir duomenų struktūrų rinkimas OS branduolyje vadinamas vamzdis.
Galiniai taškai, taigi ir kanalai, priklauso vienai iš 4 klasių:
1) srautas (masinis),
2) vadovas (kontrolė),
3) izochroninis (isoch),
4) pertraukimas.
Mažo greičio įrenginiai, tokie kaip pelė, negali turėti izochroniniai ir srauto kanalai.
Valdymo kanalas skirtas trumpiems klausimų-atsakymų paketams keistis su įrenginiu. Bet kuris įrenginys turi valdymo kanalą 0, kuris leidžia programinė įranga OS skaitymas trumpa informacija apie įrenginį, įskaitant gamintojo ir modelio kodus, naudojamus tvarkyklei pasirinkti, ir kitų galinių taškų sąrašą.
Pertraukite kanalą leidžia pristatyti trumpus paketus į abi puses, nesulaukus atsakymo/patvirtinimo, tačiau su pristatymo laiko garantija – paketas bus pristatytas ne vėliau kaip per N milisekundžių. Pavyzdžiui, naudojamas įvesties įrenginiuose (klaviatūrose, pelėse ar vairasvirtėse).
Izochroninis kanalas leidžia pristatyti paketus be pristatymo garantijos ir be atsakymų/patvirtinimų, bet su garantuotu N paketų pristatymo greičiu per magistralės laikotarpį (1 KHz mažam ir visam greičiui, 8 KHz dideliam greičiui). Naudojamas garso ir vaizdo informacijai perduoti.
Srauto kanalas suteikia kiekvieno paketo pristatymo garantiją, palaiko automatinį duomenų perdavimo sustabdymą dėl įrenginio nenorėjimo (buferio perpildymo ar paleidimo), tačiau negarantuoja pristatymo greičio ir vėlavimo. Naudojamas, pavyzdžiui, spausdintuvuose ir skaitytuvuose.
Autobuso laikas yra padalintas į periodus, periodo pradžioje valdiklis perduoda „periodo pradžios“ paketą visai magistralei. Tada per laikotarpį siunčiami pertraukimo paketai, po to reikiamu kiekiu izochroniniai, likusį laikotarpį – kontroliniai paketai, o galiausiai – srautiniai paketai.
Aktyvioji autobuso pusė visada yra valdiklis, duomenų paketo perdavimas iš įrenginio į valdiklį įgyvendinamas kaip trumpas valdiklio klausimas ir ilgas atsakymas iš įrenginio, kuriame yra duomenys. Paketų judėjimo tvarkaraštį kiekvienam magistralės periodui kartu sukuria valdiklio aparatinė įranga ir tvarkyklės programinė įranga; tam daugelis valdiklių naudoja Tiesioginė prieiga prie atminties DMA (Tiesioginė prieiga prie atminties) - duomenų mainų tarp įrenginių arba tarp įrenginio ir pagrindinės atminties būdas be dalyvavimo Centrinis procesorius(CPU). Dėl to perdavimo greitis padidėja, nes duomenys nėra siunčiami pirmyn ir atgal į centrinį procesorių.
Galinio taško paketo dydis yra konstanta, įmontuota į įrenginio galinių taškų lentelę ir negali būti pakeista. Jį parenka įrenginio kūrėjas iš tų, kuriuos palaiko USB standartas.
Didelė perdavimo sparta (visos spartos signalizacijos bitų sparta) – 12 Mb/s
- Maksimalus laido ilgis esant dideliam perdavimo greičiui - 5 m
- Mažos spartos signalizacijos bitų sparta - 1,5 Mb/s
- Maksimalus kabelio ilgis esant mažam duomenų perdavimo greičiui - 3 m
- Maksimalus prijungtų įrenginių skaičius (įskaitant daugiklius) - 127
- Galima prijungti įrenginius su skirtingais duomenų perdavimo sparta
- Vartotojui nereikia diegti papildomų elementų, tokių kaip SCSI terminatoriai
- Išorinių įrenginių maitinimo įtampa - 5 V
- Maksimalus srovės suvartojimas vienam įrenginiui - 500 mA
USB signalai perduodami dviem ekranuoto keturių laidų kabelio laidais.
Čia :
GND- „dėklo“ grandinė, skirta išoriniams įrenginiams maitinti
V AUTOBUSAS- +5V taip pat maitinimo grandinėms
Padanga D+ skirtas duomenų perdavimui
Padanga D- gauti duomenis.
Nors maksimalus perdavimo greitis USB duomenys 2.0 yra 480 Mbit/s (60 MB/s), realiame gyvenime tokius greičius pasiekti nerealu (praktikoje ~33,5 MB/s). Taip yra dėl didelio USB magistralės vėlavimo tarp užklausos dėl duomenų perdavimo ir faktinės perdavimo pradžios. Pavyzdžiui, „FireWire“, nors jos didžiausias pralaidumas yra mažesnis – 400 Mb/s, ty 80 Mb/s (10 MB/s) mažesnis nei USB 2.0, iš tikrųjų leidžia pasiekti didesnį duomenų perdavimo pralaidumą. kietieji diskai ir kiti informacijos saugojimo įrenginiai. Šiuo atžvilgiu įvairius mobiliuosius įrenginius jau seniai ribojo nepakankamas praktinis USB 2.0 pralaidumas.
Užtikrina duomenų mainus tarp pagrindinio kompiuterio ir įrenginio. Protokolo lygmeniu sprendžiamos tokios užduotys kaip perdavimo ir srauto valdymo patikimumo ir patikimumo užtikrinimas. Visas srautas USB magistrale perduodamas per operacijas; kiekvienoje operacijoje apsikeitimas galimas tik tarp pagrindinio kompiuterio ir adresuoto įrenginio (jo galinio taško).
Visos operacijos (keitimai) su USB įrenginiais susideda iš dviejų arba trijų paketų; tipinės paketų sekos operacijose parodytos Fig. 1. Kiekvieną operaciją suplanuoja ir inicijuoja pagrindinis valdiklis, kuris siunčia operacijos prieigos rakto paketą. Operacijos prieigos raktas apibūdina perdavimo tipą ir kryptį, pasirinkto USB įrenginio adresą ir galinio taško numerį. Prietaisas, kuriam skirtas žymeklis, atpažįsta savo adresą ir pasiruošia apsikeitimui. Žetonu identifikuotas duomenų šaltinis perduoda duomenų paketą. Šiuo metu operacijos, susijusios su izochroniniais pervedimais, baigiamos – nėra paketo gavimo patvirtinimo. Kitų tipų perdavimo atveju yra patvirtinimo mechanizmas, užtikrinantis garantuotą duomenų pristatymą. Paketų formatai parodyti pav. 2, pakuotės tipai pateikti lentelėje. Visuose paketo laukuose, išskyrus CRC lauką, pirmiausia perduodami mažiausiai reikšmingi bitai (laiko diagramose kairėje rodomas mažiausiai reikšmingas bitas). Paketas prasideda sinchronizavimo seka ir baigiasi terminatoriumi - EOP. Paketo tipas nustatomas pagal PID lauką. Likusių laukų paskirtis paaiškinta toliau. Sinchronizavimo ir EOP laukų ilgis nurodomas perdavimui naudojant FS/LS; didelės spartos perdavimo atveju laukas Sync išplečiamas iki 32 bitų intervalų, o EOP - iki 8 (SOF paketuose EOP laukas yra 40 bitų ).
Visi gauti paketai yra tikrinami, ar nėra klaidų, kaip leidžia priimti paketų formatai ir tam tikros sutartys:
Aptikus bet kurią iš šių klaidų pakete, imtuvas jį laiko negaliojančiu. Nei įrenginys, nei pagrindinis valdiklis nereaguoja į gautus paketus su klaida. Izochroninio perdavimo metu neteisingi paketiniai duomenys turėtų būti tiesiog ignoruojami (jie prarandami); Kitų tipų transmisijai naudojamos patikimą pristatymą užtikrinančios priemonės.
Norint aptikti, kad partneris neatsako į paketą, kiekvienas įrenginys turi skirtojo laiko skaitiklį, kuris nustoja laukti atsakymo praėjus tam tikram laikui. USB turi ribotą magistralės reiso laiką: laikas nuo sugeneruoto paketo EOP pabaigos iki atsakymo paketo gavimo pradžios. Galutiniam įrenginiui (ir pagrindinio kompiuterio valdikliui) didžiausias atsako delsa (atsakymo laikas) nuo matomo EOP pabaigos iki paketo pradžios įvedimo normalizuojama. Stebulių paketų perdavimo delsa normalizuojama, kabelių signalo sklidimo delsa normalizuojama. Laiko pabaigos skaitiklis turi atsižvelgti į maksimalų galimą vėlavimą esant galiojančiai magistralės konfigūracijai: iki 5 tarpinių šakotuvų, iki 5 metrų kiekvienas kabelis. Leidžiama skirtojo laiko reikšmė, išreikšta bitų intervalais (bt), priklauso nuo greičio:
Pagrindinis valdiklis turi savo klaidų skaitiklį, susietą su kiekvienu visų įrenginių galiniu tašku, kuris iš naujo nustatomas į nulį, kai suplanuojama kiekviena operacija. Šis skaitiklis skaičiuoja visas protokolo klaidas (įskaitant skirtojo laiko klaidas), o jei klaidų skaičius viršija slenkstį (3), tada kanalas su šiuo galutiniu tašku sustabdomas ir pranešama jo savininkui (įrenginio tvarkyklei arba USBD). Kol neviršijama slenkstis, pagrindinis kompiuteris apdoroja neizochroninių perdavimų klaidas, bandydamas iš naujo atlikti operacijas, nepranešdamas kliento programinei įrangai. Izochroniniai perdavimai nekartojami; pagrindinis kompiuteris nedelsiant praneša apie klaidas.
Rankų paspaudimo paketai naudojami patvirtinimui, srauto valdymui ir klaidų signalizavimui. Iš šių paketų pagrindinis valdiklis gali siųsti įrenginiui tik ACK paketą, patvirtinantį duomenų paketo priėmimą be klaidų. Įrenginys naudoja šiuos rankos paspaudimo paketus, kad atsakytų į pagrindinį kompiuterį:
ACK – patvirtinimas (teigiamas) apie sėkmingą išvesties arba valdymo operacijos atlikimą;
NAK - neigiamas patvirtinimas, yra ženklas, kad įrenginys nėra pasirengęs atlikti šią operaciją (nėra duomenų, kuriuos būtų galima perduoti pagrindiniam kompiuteriui, buferyje nėra vietos priėmimui, valdymo operacija nebaigta). Tai įprastas atsakymas, apie kurį niekas nežinos, išskyrus pagrindinio kompiuterio valdiklį, kuris vėliau yra priverstas pakartoti operaciją. Įvesties operacijose įrenginys pateikia NAK atsakymą, o ne duomenų paketą, jei jie nėra paruošti;
STALL yra rimtas klaidos pranešimas, reiškiantis, kad be specialaus programinės įrangos įsikišimo dirbti su šiuo galutiniu tašku tampa neįmanoma. Šis atsakymas perduodamas ir USBD tvarkyklei, kuri atšaukia tolesnes operacijas su šiuo tašku, ir kliento tvarkyklei, iš kurios programinės įrangos intervencija turėtų atblokuoti tašką. Valdymo operacijose (Control) STALL atsakymas reiškia nevykdomą šio prašymo; Taško atblokuoti nereikia.
Išvesties srauto valdymas, kuris remiasi tik galimybe atsakyti NAK, jei įrenginys neparengtas, yra labai neefektyvus magistralės pralaidumo panaudojimas: didelis duomenų paketas iššvaistomas magistralėje, siekiant užtikrinti, kad įrenginys neparengtas. Naudojant USB 2.0, šios problemos išvengiama atliekant masinio išdavimo ir valdymo operacijas naudojant Ping protokolą. Pagrindinis kompiuteris gali apklausti įrenginio pasirengimą gauti maksimalų paketo dydį, nusiųsdamas jam PING zondo prieigos raktą. Įrenginys gali atsakyti į šį prieigos raktą ACK (jei paruoštas) arba NAK (jei negali gauti didžiausio paketo dydžio). Neigiamas atsakymas privers šeimininką bandyti dar kartą vėliau, teigiamas atsakymas leis atlikti išvesties operaciją. Į išėmimo operaciją po teigiamo testo atsakymo įrenginio atsakymai yra įvairesni:
Galinių taškų deskriptoriuose esantis didelės spartos įrenginys praneša apie galimą NAK siuntimų intensyvumą: masinio ir valdymo galinių taškų lauke bInterval nurodomas mikrokadrų skaičius NAK (0 reiškia, kad įrenginys niekada neatsakys NAK į išvesties operaciją).
Masyvas, pertraukimas ir valdymas užtikrina patikimą duomenų perdavimą. Sėkmingai gavęs paketą, duomenų imtuvas išsiunčia patvirtinimą – ACK patvirtinimo paketą. Jei duomenų imtuvas aptinka klaidą, paketas yra ignoruojamas ir į jį nesiunčiamas joks atsakymas. Duomenų šaltinis mano, kad kitas paketas buvo sėkmingai perduotas, kai gauna ACK iš imtuvo. Jei patvirtinimas negaunamas, kitos operacijos metu šaltinis pakartoja siųsdamas tą patį paketą. Tačiau patvirtinimo paketas gali būti prarastas dėl trukdžių; kad tokiu atveju pakartotinis imtuvo siuntimas paketo nebūtų suvokiamas kaip kita duomenų dalis, duomenų paketai sunumeruojami. Numeravimas yra modulo 2 (1 bito numeris): paketai skirstomi į lyginius (su identifikatoriumi DATA0) ir nelyginius (DATA1). Kiekvienam galutiniam taškui (išskyrus izochroninį) pagrindinis kompiuteris ir įrenginys turi perjungimo bitus, jų pradinės būsenos vienaip ar kitaip yra nuoseklios. IN ir OUT operacijos perduoda ir laukia duomenų paketų su identifikatoriais DATA0 arba DATA1, atitinkančiais esamą šių bitų būseną. Duomenų imtuvas perjungia savo bitą be klaidų priimant duomenis su laukiamu identifikatoriumi, duomenų šaltinis persijungia gavęs patvirtinimą. Jei imtuvas gauna paketą be klaidų su netikėtu ID, jis siunčia ACK, bet nepaiso pakete esančių duomenų, nes paketas yra jau gautų duomenų pakartotinis siuntimas.
Sandoriai už įvairių tipų perdavimo protokolai skiriasi dėl pralaidumo, atsako laiko, pristatymo patikimumo ir įvesties bei išvesties sinchronizavimo garantijos arba negarantijos. Priklausomai nuo šių charakteristikų, operacijose naudojamas vienas ar kitas aukščiau aprašytas protokolo mechanizmas. Atminkite, kad perdavimo klaidų aptikimas veikia visose operacijose, todėl per klaidą gauti duomenys visada yra ignoruojami. Kokie protokolo mechanizmai naudojami atliekant dabartinę operaciją, „žino“ ir pagrindinio kompiuterio valdiklis (remiantis anksčiau gautu galutinio taško aprašu), ir USB įrenginys, kuriame šis galutinis taškas yra įdiegtas.
Izochroniniai sandoriai užtikrina garantuotus valiutos keitimo kursus, bet neužtikrina patikimo pristatymo. Dėl šios priežasties protokole nėra patvirtinimų, nes paketų atkūrimas sukels duomenų perdavimo planų nesėkmę. Nėra patvirtinimu pagrįsto srauto valdymo – įrenginys turi palaikyti srauto greitį, nurodytą izochroniniame galutinio taško apraše.
Izochroninės išvesties operacijos susideda iš dviejų paketų, kuriuos siunčia pagrindinis valdiklis, OUT prieigos rakto ir DATA duomenų paketo. Vykdydamas įvesties operaciją, pagrindinis kompiuteris siunčia IN prieigos raktą, į kurį įrenginys atsako duomenų paketu, kurio duomenų lauko ilgis gali būti lygus nuliui (jei nėra paruoštų duomenų). Bet koks kitas įrenginio atsakas (taip pat ir „tyla“) pagrindinio kompiuterio laikomas klaida, dėl kurios šis kanalas sustabdomas.
Naudojant izochroninį keitimą, galima kontroliuoti patikimumą (atmesti paketus su klaidomis) ir duomenų vientisumą (nustatyti trūkstamo paketo faktą). Vientisumo kontrolė pagrįsta griežtu valiutos kurso determinizmu – pagal jo aprašą taškas tikisi sandorio su 2bInterval-1 mikrokadrų periodu. Tipiškam izochroniniam galutiniam taškui viename mikrokadre galima tik viena operacija, o klaida priimant paketą negauna jokių gautų duomenų mikrokadre, kuriame jų tikėtasi. Taigi, paketų numeravimas (Toggle Bit jungiklis) nereikalingas. Viso greičio įrenginiai ir pagrindiniai valdikliai turėtų siųsti tik DATA01 tipo paketus. Plačiajuosčio ryšio izochroniniams galiniams taškams (USB 2.0) kiekviename mikrokadre galima perduoti iki trijų duomenų paketų. Bet kuris iš šių paketų gali būti prarastas, todėl norint aptikti šią situaciją, reikalingas paketų numeravimas mikrokadre. Šiai numeracijai buvo pristatyti du nauji duomenų paketų tipai: DATA2 ir MDATA. Paketų tipų įvairovė, be numeracijos, taip pat leidžia informuoti komunikacijos partnerį apie jūsų planus dėl konkretaus mikrokadro. IN operacijose įrenginys pagal paketo identifikatorių nurodo, kiek dar paketų ketina išleisti tame pačiame mikrokadre, o tai leidžia pagrindiniam kompiuteriui išvengti nereikalingų įvesties bandymų. Taigi, jei vienas paketas perduodamas mikrokadre, tai bus DATA0; jei du, seka bus DATA1, DATA0; trys - DATA2, DATA1, DATA0. OUT operacijos naudoja MDATA (daugiau duomenų) paketą, kad išvestų ne paskutinį paketą mikrokadrelyje, o paskutinio paketo identifikatorius rodo, kiek paketų buvo perduota prieš jį. Taigi, su viena išvesties operacija naudojamas DATA0 paketas, su dviem - seka MDATA, DATA1, su trimis - MDATA, MDATA, DATA2. Visoms operacijoms, išskyrus paskutinę mikrokadre, turi būti naudojamas maksimalus paketo dydis. Atminkite, kad kitos operacijos gali būti įtrauktos tarp plačiajuosčio ryšio operacijų mikrokadre.