Svetainės skyriai
Redaktoriaus pasirinkimas:
- „Samsung Galaxy A3“ gamykliniai nustatymai iš naujo
- BIOS: paleiskite iš disko
- Kaip paleisti iš „diegimo“ DVD arba „flash drive“ - BIOS sąranka nuotraukose
- Kaip teisingai nustatyti RAM laiką?
- „Navitel“ diegimas navigatoriuje ir kompiuteryje
- Pakeiskite slaptažodį Minecraft serveryje per savo asmeninę paskyrą ir klientą
- Kas yra garsiakalbio kabelis
- Kompiuterio naudojimas kaip telefonas
- Kaip naudoti išmanųjį telefoną kaip nešiojamojo kompiuterio modemą
- Kaip prijungti antrą televizorių prie imtuvo arba skaitmeninės televizijos priedėlio
Reklama
USB magistralės protokolas. USB sąsajos pagrindai USB 2.0 protokolo aprašymas |
USB OTGUSB 3.0USB 3.0 yra paskutiniame kūrimo etape. USB 3.0 kuria šios įmonės: Microsoft, Texas Instruments, NXP Semiconductors. USB 3.0 specifikacijoje atnaujinto standarto jungtys ir laidai bus fiziškai ir funkcionaliai suderinami su USB 2.0. USB kabelis 2.0 yra keturios eilutės - pora duomenų priėmimui / perdavimui, viena maitinimui ir dar viena įžeminimui. Be šių, USB 3.0 prideda penkias naujas linijas (dėl to kabelis yra daug storesnis), tačiau nauji kaiščiai yra lygiagrečiai seniesiems kitoje kaiščių eilutėje. Dabar galite lengvai nustatyti, ar kabelis priklauso vienai ar kitai standarto versijai, tiesiog pažvelgę į jo jungtį. USB 3.0 specifikacija padidina maksimalų perdavimo greitį iki 4,8 Gb/s – tai yra eilės tvarka daugiau nei 480 Mb/s, kurį gali užtikrinti USB 2.0. USB 3.0 gali pasigirti ne tik didesniu duomenų perdavimo greičiu, bet ir padidinta srove nuo 500 mA iki 900 mA. Nuo šiol vartotojas iš vieno šakotuvo galės ne tik maitinti kur kas didesnį įrenginių skaičių, bet ir Aparatūra, anksčiau tiekiamas su atskirais maitinimo šaltiniais, jų atsikratys.
USB 3.0 B tipo jungtis A tipo USB 3.0 jungtis USB 3.0 laidai ir jungtysUSB trūkumaiNors didžiausias USB 2.0 pralaidumas yra 480 Mbps (60 MB/s), praktiškai pralaidumas, arti piko, nepavyksta. Tai paaiškinama gana dideliais USB magistralės vėlavimais nuo duomenų perdavimo užklausos iki faktinės perdavimo pradžios. Pavyzdžiui, „FireWire“ magistralė, nors jos didžiausias pralaidumas yra mažesnis – 400 Mb/s, ty 80 Mb/s mažiau nei USB 2.0, tačiau iš tikrųjų užtikrina didesnį duomenų mainų su standžiaisiais diskais ir kitais saugojimo įrenginiais pralaidumą. USB ir FireWire/1394protokolas USB atmintinė, kuris yra komandų perdavimo būdas Be to, USB atmintis nebuvo palaikoma senesnėse operacinėse sistemose (originalioje „Windows 98“), todėl reikėjo įdiegti tvarkykles. Juose taip pat buvo palaikomas SBP-2. Be to, senesnėse operacinėse sistemose (Windows 2000) USB saugojimo protokolas buvo įdiegtas sutrumpinta forma, todėl prijungtame kompiuteryje nebuvo leidžiama naudoti CD/DVD įrašymo funkcijos. USB diskas,SBP-2 niekada neturėjo tokių apribojimų. USB magistralė yra griežtai orientuota, todėl norint prijungti 2 kompiuterius arba 2 išorinius įrenginius, reikia papildomos įrangos. Kai kurie gamintojai palaiko spausdintuvo ir skaitytuvo arba fotoaparato ir spausdintuvo prijungimą, tačiau šie diegimai labai priklauso nuo gamintojo ir nėra standartizuoti. 1394/FireWire magistralei šis trūkumas netaikomas (galima prijungti 2 vaizdo kameras). Tačiau dėl „Apple“ licencijavimo politikos ir daug sudėtingesnės aparatinės įrangos 1394 yra mažiau paplitęs. pagrindinės plokštės senesni kompiuteriai neturi 1394 valdiklių. Kalbant apie periferinius įrenginius, 1394 palaikymas paprastai nerandamas nieko kito, išskyrus vaizdo kameras ir išorinių standžiųjų diskų ir CD / DVD diskų įrenginius. taip pat žr
ŠaltiniaiNuorodos
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ą; 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. Sąsaja USB (Universal Serial Bus – Universal Serial Interface) yra skirta išoriniams įrenginiams prijungti prie asmeninio kompiuterio. Leidžia keistis informacija su išoriniais įrenginiais trimis greičiais (specifikacija USB 2.0):
Prisijungia USB sąsaja šeimininkas (šeimininkas) ir įrenginius. Šeimininkas viduje Asmeninis kompiuteris ir kontroliuoja visos sąsajos veikimą. Norėdami leisti prie vieno USB prievado prijungti daugiau nei vieną įrenginį, naudokite stebulės (centras- įrenginys, užtikrinantis ryšį su kitų įrenginių sąsaja). Šaknies stebulė (šaknies stebulė) yra kompiuterio viduje ir tiesiogiai prijungtas prie pagrindinio kompiuterio. USB sąsaja naudoja specialų terminą "funkcija" - tai logiškai sukomplektuotas įrenginys, kuris atlieka konkrečią funkciją. USB sąsajos topologija yra 7 lygių rinkinys ( pakopa): pirmame lygyje yra pagrindinis ir šakninis centras, o paskutiniame lygyje yra tik funkcijos. Įrenginys, kuriame yra šakotuvas ir viena ar daugiau funkcijų, vadinamas sudėtinis (sudėtinis prietaisas). Centro arba funkcijos prievadas, jungiantis prie aukštesnio lygio šakotuvo, vadinamas aukštesnio lygio prievadu ( prieš srovę esantis uostas), o šakotuvo prievadas, jungiantis prie žemesnio lygio šakotuvo arba funkcijos, vadinamas pasroviniu prievadu ( pasroviui skirtas uostas). Visus duomenų perdavimą per sąsają inicijuoja pagrindinis kompiuteris. Duomenys perduodami paketų pavidalu. USB sąsaja naudoja kelių tipų paketus:
USB sąsaja naudoja kelių tipų informacijos perdavimą.
Srautiniai perdavimai
būdingas garantuotas be klaidų duomenų perdavimas tarp pagrindinio kompiuterio ir funkcijos, aptinkant klaidas perdavimo metu ir pakartotinai reikalaujant informacijos. Dėl to, kad USB sąsaja įgyvendina sudėtingą informacijos mainų protokolą, sąsajos įrenginiui su USB sąsaja reikalingas mikroprocesoriaus blokas, kuris palaiko protokolą. Todėl pagrindinė galimybė kuriant sąsajos įrenginį yra naudoti mikrovaldiklį, kuris palaikys mainų protokolą. Šiuo metu visi pagrindiniai mikrovaldiklių gamintojai gamina produktus, kuriuose yra USB blokas.
Iliustruota OSI tinklo modelio projekcija į universaliąją nuosekliąją magistralę. Trys „puikūs“ USB krūvos lygiaiNebuvau patenkintas USB kamino išvaizda, kurią dažniausiai galima rasti internete:Nelabai naudingas USB kaminas Autobuso lygis, logiškas, funkcionalus... Tai, žinoma, nuostabios abstrakcijos, bet jos labiau tikėtinos tiems, kurie ruošiasi padaryti tvarkyklę ar taikomąją programinę įrangą pagrindiniam kompiuteriui. Iš mikrovaldiklio pusės tikiuosi šabloninės baigtinės būsenos mašinos, kurios mazguose dažniausiai statome savo naudingas kodas, o iš pradžių jis pagal visus žanro dėsnius bus netvarkingas. Arba pagrindinio kompiuterio programinė įranga trikdys. Arba vairuotojas. Bet kokiu atveju kažkam nepavyks. Taip pat neįmanoma iš karto išsiaiškinti MK bibliotekų. Ir taip su analizatoriumi žiūriu į eismą USB magistrale, kur įvykiai, vykstantys nepažįstama kalba su trimis nuostabiais lygiais, niekaip netelpa. Įdomu, ar mano galvoje toks disonansas dėl gripo karštinės? 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, nori suprasti įrenginių mainų protokolus ir domenų terminologiją, priartėti prie paruoštų pavyzdžių, bibliotekų ir geriau juose 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 :) 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. Norime to ar ne, mikrovaldiklių evoliucija akivaizdžiai nestovės vietoje. Ne, ne, ir tai bus rodoma leidiniuose (http://habrahabr.ru/post/208026/, http://habrahabr.ru/post/233391/) „sunkieji išoriniai įrenginiai“ - USB magistralės diegimas, integruotas į MK, su analizės pavyzdžiais, naudojant HID ir kt. Turime pagerbti RaJa autorių: iš aštuonių pavyzdžių, pateiktų standartinėje bibliotekoje STSW-STM32121 (UM0424) ir kažkaip jis išsirinko naudingiausią (Custom HID), perkėlė į nemokamą Em::Blocks aplinką, pateikė jį suprantama kalba ir šiek tiek pagražino, bravo! Taip sutaupiau daug laiko. Kaip patekti į biblioteką?Gavęs RHIDDemo projektą, skirtą Em::Blocks, kurį autorius maloniai paskelbė GitHub, pradėjau jį perkelti į Keil (mano FTDI pagrįstas CoLink derinimo įrankis; kas nors pasakykite man Coocox įskiepį, skirtą Em::Blocks). Bet aš tiesiog negalėjau suprasti: iš kur, po velnių, autorius gavo SPL 3.6.1 nuo 2012 m., jei svetainė paskelbė 3.5.0 nuo 2011 m.? Išgyvenau gana nuobodžią užduotį, kuri, mano nuostabai, atvedė... tiesiai į paruoštą „Keil“ pritaikytą HID projektą kaip USB FS 4.0.0 bibliotekos dalį. Guli matomoje vietoje, kaip pelė po šluota. Na, gerai. Bet pagaliau susipažinau su STMicroelectronics leidimais, radau STSW-STM32121 (UM0424) USB FS bibliotekos aprašymą ir sustabdžiau kūrėjo bandymus išvesti mane iš proto. Pasakyk man, ar normalu įdėti senovinį CMSIS 1.30 nuo 2009 į SPL 3.5.0 rinkinį nuo 2011 m., slėpti naują SPL 3.6.1 nuo 2012 USB-FS 4.0.0 nuo 2013 m (įdedant CMSIS 3.0.1 iš 2012 ten taip pat), nepaisant to, kad jie turi dabartinę CMSIS 3.30 versiją, išleistą 2014 m.? Beje, SPL 3.6.x, skirta STM32F10X, buvo ištaisyta keletas USART klaidų, susijusių su buferio perpildymo signalais. Ačiū, bent jau jie paliko laidos pastabas...HID vs SNMPTaigi, ėmęsis STM32F103C8T6, taip pat nusprendžiau šiek tiek pasigilinti į USB HID temą, USB HID abstrakcija labai gerai įsilieja į visokių jutiklių, jutiklių ir kitų PWM valdomų maitinimo tvarkyklių koncepciją. Kažkaip tai man priminė SNMP, tik labai supaprastinta forma: HID deskriptoriai atlieka SNMP MIB vaidmenį. Kai įrenginį inicijuoja šeimininkas: „Sveiki, šeimininke! Aš esu kavos virimo aparatas. Turiu mygtuką [pradėti], [grietinėlės], [cukraus] valdiklius, [likęs kavos kiekis], [likęs vanduo], [likęs cukrus], [likęs grietinėlė]. Patraukite vairuotojus, paspauskite mygtuką, išgerkime kavos. Ar tau nieko neprimena? SNMP dialogo pavyzdys: „Na, sveiki, valdymo stotis su programine įranga už 100 000 USD. Ir aš turiu jungiklio važiuoklę už 200 000 USD ir turiu dar 4 modulius už 100 000 USD už vienetą; kiekvienas turi dar 16 prievadų, kurių greitis nepadorus, o visų funkcijų čia išvardyti tiesiog neįmanoma... dėl kiekvienos prekės teirautis atskirai; o, taip, procesoriaus apkrova yra tokia ir tokia, atmintis yra tokia ir tokia...“ Ir dar keliolika puslapių ta pačia dvasia.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ę. Jeigu OSI modelis o bet koks prityręs IT specialistas TCP/IP stacką kur nors nugaros smegenų lygyje supranta tiesiog iš reikalo, tada su USB situacija 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 būtent tam, kad padarytume gera programinė įranga, ar ne? 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! Dar viena puiki schemaInternete aptikau dar vieną iliustraciją (ji buvo BMP formato, nejuokaujant):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 štai dar vienas: kas rėmelis susideda iš aukščiausio prioriteto siuntinių, kurios sudėtį sudaro priimančioji vairuotojas; Atrodo, kad viskas nupiešta teisingai, bet skaitant klausimų vis daugėja. Ar minimali duomenų struktūra, perduodama magistrale, yra kadras ar paketas? Apskritai, ar turėtume žiūrėti iš viršaus į apačią ar atvirkščiai? O kas užkoduota naudojant NRZI metodą – kadrai, paketai ar tik visas bitų srautas magistralėje? Sandorius sudaro siuntinys, perdavimas, o gal koks nors vertingas siuntinys? Kodėl tu negali tiesiog: ar pagrindinis kompiuteris sugrupuoja paketus į operacijas ir paskirsto juos į laiko pjūvius, vadinamus kadrais, kad suteiktų pirmenybę laikui svarbiems duomenims (vaizdo, garso) pagal esamą magistralės pralaidumą? Taip, USB turi niuansų planuojant paketų perdavimą, aš jų dar neliečiu. Mano vizija apie USB kaminąManau, kad USB in a NutShell, paminėtas čia ant šakotuvo (hurray, vertimas), taip pat USB Made Simple yra gera dokumentacija. Remdamasis jais, surinkau savo USB kamino versiją, nupiešiu dar kartą.Fizinis sluoksnisFiziniu lygiu diferencinės laidininkų poros elektrinių režimų rinkinys (kartu su įžeminimu) naudojamas būsenoms, kuriomis bitų srautas užkoduojamas naudojant NRZI metodą su bitų užpildymu, nurodyti: čia po šešių iš eilės „1“ ( na, norėjau perduoti, tarkim, 0xffff) „0“ įdėtas, kad imtuvas ilgai neužstrigtų vienoje būsenoje; Imtuvas A Nėra įterpto „0“ ir jie nebus skaičiuojami kaip duomenys; tai gana įprasta kodavimo technika, skirta geresniam automatiniam dažnių derinimui. Laidų pora kartu su įžeminimu leidžia suformuoti mažiausiai keturias statines būsenas (jos žymimos J, K, SE0, SE1). USB 2.0 SE1 nenaudojamas, o trys likę papildomai žaidžiami dinamikoje (su laikrodžiais ir perėjimais), kad būtų perduota dar keletas valdymo simbolių (paketo ribos, atstatymas, prijungimas/atjungimas, energijos taupymas/išėjimas). Gerų iliustracijų yra USB Made Simple 3 dalyje – duomenų srautas.Tie. Dėl to duomenys perduodami nulių ir vienetų pavidalu, taip pat visokiais valdymo ženklais, kad iš visos šios elektrodinaminės virtuvės būtų galima paruošti įprastus duomenų paketus. (pridėta skaitytojų pageidavimu) Partijos lygisPaketų lygiu beadresiai paketai perduodami tarp pagrindinio kompiuterio ir įrenginio (pora įrenginių, esančių pusiau dvipusėje linijoje, gali apsieiti be adresavimo). Paketą sudaro SYNC žymeklis, skirtas sinchronizuoti imtuvo laikrodį, baitų seka ir EOP simbolis. Pakuotės ilgis kintamas, bet derinamas per viršutiniai lygiai krūva. Pirmasis baitas vadinamas Packet Identifier (PID), turi paprastą perteklinį formatą, skirtą atsparumui triukšmui, ir yra tinkamas tiekimui į kito lygio mašiną (operacijų surinkimui iš paketų). Paketai su užpildu (ilgesni nei vienas PID baitas) pateikiami su kontroline suma (trumpas CRC5 arba ilgas CRC16, priklausomai nuo paketo tipo). Protokolo analizatorius turėtų bent parodyti mums paketus.Sandorio lygisKitame lygyje nuo paketus vyksta sandorius. Sandoris yra nedidelis paketų rinkinys (viso greičio USB 1, 2 arba 3), kurie griežtai seka vienas po kito, kuriais (pusdupleksiniu režimu) pagrindinis kompiuteris keičiasi su galutiniu tašku ir tik vienu. Labai svarbu, kad operaciją atidarytų tik pagrindinis kompiuteris; tai yra USB specifika (mums mažiau vargo su MK programine įranga). Sandorio lygmeniu galime kalbėti apie kanalas(vamzdis) tarp pagrindinio kompiuterio ir vieno iš įrenginio galinių taškų, bet aš sąmoningai vengiu termino „duomenų saitas“ iš OSI modelio. Protokolo analizatorius turi bent iššifruoti operacijas.Pavaros lygisAnt operacijų įdėsime pervedimų sluoksnį. USB jų yra keturių tipų: valdymo perdavimai su galutiniu tašku Nr. 0, pertraukimų perdavimai, izochroniniai perdavimai ir masiniai perdavimai. Paskutiniai trys yra srautinių kanalų (stream pipe) variantai, apie kuriuos pasakysiu keletą žodžių vėliau. Šiame lygyje taip pat turėtų būti rodomas geras protokolo analizatorius.Taikymo sluoksnisKamino viršuje, kaip įprasta, yra taikymo sluoksnis. Čia nutinka: įrenginio adreso nustatymas pagrindinio kompiuterio, įrenginio pasakojimas apie save deskriptorių kalba, pagrindinio kompiuterio komandos konfigūracijai pasirinkti (valdymo perdavimai), keitimasis duomenimis su HID įrenginiais (pavyzdžiuose radau perdavimas su pertraukimais iki šiol, noriu išbandyti kontrolinį), spausdinimas spausdintuvu ir skenavimas, prieiga prie USB atmintinės (didelis blokas), bendravimas per ausines ir web kameras (izochroninis) ir daug kitų puikių dalykų.Apdailos prisilietimasSekundei pašokdami lygius žemyn, galime pridurti, kad šeimininkas periodiškai meta tuos pačius Start of Frame (SOF) paketus per magistralę, laiką skirstydamas į vienodus intervalus, bet taip, kad nenutrūktų pačios operacijos. Todėl SOF paketai gali būti laikomi nepriklausomomis operacijomis. USB rėmelio nereikėtų painioti su OSI modelio duomenų ryšio sluoksnio homonimu. Geriau atsiminti garso kompaktinio disko kadrus (kadrus), tai tik laiko kvantas: šeimininkas „įsirašo“ į magistralę su SOF paketais, kad prijungti įrenginiai iš anksto planuotų dalyvauti vadinamajame. izochroninės transmisijos, valdydami duomenų srautus realiuoju laiku. Na, arba taip: operacijų grupes suplanuoja šeimininkas laiko intervalais, vadinamais kadrais. Kadras yra 1 ms naudojant „Full Speed“ ir 125 μs „High Speed USB“, tačiau „High Speed“ yra sudėtingesnis standartas, todėl geriau jį ištirti atskirai.UPD: Gerą klausimą uždavė skaitytojai: o kaip su fragmentacija? Neradau jokių suskaidymo požymių USB 2.0 transakcijų lygiu ir žemiau, t.y. Sandoriai turi būti perduoti visos. Kai kuriais atvejais pervedimus galima ir reikia suskirstyti į kelias operacijas, ypač atsižvelgiant į izochroninius režimus. Ir pasikartosiu, kad kol kas už mus visą planavimą atsakingas šeimininkas (iš MK pusės turime mažiau galvoti). Žiūrint į USB srautąGeras iliustracijų pasirinkimas yra minėtos knygos USB Made Simple 5 skyriuje: www.usbmadesimple.co.uk/ums_5.htmŠtai vienas iš jų Taigi operaciją visada inicijuoja pagrindinis kompiuteris su vienu pasirinktu įrenginio galutiniu tašku (be to specialus taškas su skaičiumi 0, viename įrenginyje jų gali būti iki 15 daugiau, pavyzdžiui, kombinuota klaviatūra su pele, termometras, „flash drive“, kavos virimo aparatas ir mygtukas iškviesti santechniką, kad užsisakytų picą). Jei pagrindinis kompiuteris gauna duomenis iš įrenginio, pastarasis pats negali atidaryti operacijos, o gali tik laukti tinkamas momentas ir jame dalyvauti. Pagrindinis kompiuteris atidaro operaciją į įrenginį su paketu su PID = IN (Token group) ir garantuoja magistralės laisvę reikiamam laikui, įrenginys įmeta paketą iš duomenų grupės, priklausomai nuo operacijos tipo, kompiuteris gali patvirtinti sėkmės su trečiuoju paketu iš Handshake grupės (ACK, NAK, STALL, NYET), sandoris uždarytas. Siųsdamas duomenis į įrenginį (PID = OUT, Token group), šeimininkas atidaro transakciją, išsiunčia duomenų paketą (Data), o priklausomai nuo režimo gali gauti ir Handshake paketą, patvirtinantį operacijos sėkmę. Pasibaigus operacijai, viskas grįš į normalią būseną, įrenginys vėl lauks valdymo paketų iš pagrindinio kompiuterio. USB perdavimo režimai STM32 USB FS pavyzdžiuoseNorint vienu laidų porą kopijuoti iš disko kartu su garso ir vaizdo srautu, pelės gestais ir didelės spartos osciloskopo signalu, yra skirtingi tipaižinutes ir transliacijas.Tiesiog aukščiau aš ką tik aprašiau paprastą transliacijos kanalas(Stream Pipe) tarp pagrindinio kompiuterio ir galinio taško, kur paketai su užpildymu (duomenų grupės) neperneša jokios specialios ar valdymo informacijos į patį USB posistemį. Visiška korespondencijos laisvė, valdiklio biblioteka turi pateikti primityvus savavališko dydžio buferiui atsisiųsti iš MK atminties į pagrindinį kompiuterį arba atgal. Leiskite MK bibliotekai kartu su pagrindine tvarkykle tvarkyti paketų pjaustymą, persiuntimą ir „defragmentavimą“. STM32 tai yra USB_SIL_Write() ir USB_SIL_Read(), aprašyti UM0424. Jie yra pats logiškas abstrakcijos lygis. Prieglobos pusėje žr. atitinkamos tvarkyklės aprašymą (pavyzdžiui, FreeBSD tai yra ugen(4)). Tačiau aš laikau šventvagyste naudoti sunkius išorinius įrenginius, tokius kaip USB, norint organizuoti paprastą srautinio perdavimo kanalą (klausimas: kas negerai su USART?). Bet, žinoma, būna visokių situacijų. Bet kuriuo atveju, norint, kad USB posistemis apskritai atgytų ir įrenginys būtų aptiktas, reikia keistis valdymo operacijomis. ATSISAKYMASKiti pavyzdžiai bus paminėti iš tos pačios UM0424 bibliotekos, skirtos darbui su Full Speed USB iš STMicroelectronics, tačiau jie yra skirti jų vietinėms demonstracinėms plokštėms. Paimkite pavyzdį iš autorės Raja, parodykite inžinerinį išprusimą pritaikydami projektus savo demonstracinei lentai.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 :-) Valdykite perdavimus ir pranešimų kanalusGalvodamas apie USB, prisimenu seną gerą PPP protokolą su jo LCP, IPCP, CCP ir taip pat xzCP. Ypatingo tipo pranešimų mainai tarp pagrindinio kompiuterio ir galinio taško Nr. 0 yra vietinis x3CP atitikmuo.Per valdymo perdavimus įrenginys inicijuojamas, gauna adresą, praneša pagrindiniam kompiuteriui apie save deskriptorių kalba (kad jis galėtų rasti ir suaktyvinti reikalingas vairuotojas). Be valdymo operacijų net ir paprastos „nevyks“ transliacija, jei įrenginys neatsako formoje, pagrindinis kompiuteris greitai išjungs prievadą: reikia laikytis protokolo. Iš esmės protokolas nedraudžia jungti duomenų mainų prie valdymo taško Nr. 0, panašiai kaip režimas su pertrūkiais. Tuo pačiu pagalvokite apie tai: kaip atnaujinsite MK programinę-aparatinę įrangą, taip sakant, lauke? Ar turite pasiruošę programuotoją? Yra ir kitas sprendimas. Pavyzdys: Įrenginio programinės įrangos atnaujinimas Pertrauktos transliacijosŠi veislė ( nutraukti perdavimą) skirtas apsikeitimui nedideliais sandoriais, panašiais į kontrolinius. Ne, įrenginys negali pertraukti pagrindinio kompiuterio, jis laukia apklausos, jų dažnis ir paketų dydžiai yra iš anksto nurodyti įrenginio apraše. Puikiai tinka visų tipų nuotolinio valdymo pultams, jutikliams, pelėms, šviesos diodams ir kitiems HID kavos virimo aparatams. Kanalas su pertraukimais kiekviename taške yra vienakryptis.Pavyzdžiai: Pasirinktinis HID, Vairasvirtės pelė, Virtualus COM prievadas Izochroninės transmisijosΧρόνος graikų kalba reiškia „laikas“. Izochroninė transmisija ( izochroninis perkėlimas) – vietinės aukštosios technologijos, leidžiančios valdyti duomenų srautus realiuoju laiku. Jame yra garantuotas (bet nebūtinai platus) pralaidumas ir jokių patvirtinančių operacijų, panašiai kaip UDP su QoS. Sugedusi pakuotė? Tai buvo dievas Chronos, kuris pastūmė MK ant kojos. Nereikia bandyti išsiųsti siuntos dar kartą, kitaip Dievas nusimins. Tačiau mes tyliai tikriname kontrolines sumas iš Chronos. Izochroniniai perdavimai tinka garso ir vaizdo bei realaus laiko matavimo sistemoms, taip pat kitiems žaislams dvejopo naudojimo. Nors kai kurie iš jų gali. Įdomiau pakabinti kokį nors AVR, prijungiant jį prie mūsų ARM per USART arba SPI. Izochroninės operacijos yra susijusios su kadrų signalizavimu (prisiminkite SOF paketo žymėjimą).Pavyzdys: USB balso garsiakalbis Didelio bloko transmisijosNe, cemento maišų nenešime. Manau, kad visi išmoko visų rūšių USB diskų veikimo režimą. Pervedimai masinis perdavimas turi tikslą siųsti kuo daugiau duomenų ir kuo greičiau, visada perduodant sugedusius paketus, bet be garantijų dėl pralaidumo, prireikus atiduodant jį izochroniniam perdavimui (kaip TCP be QoS). Aš jau kalbėjau apie vidinę USB atmintinių struktūrą, dabar galite atsisiųsti ir paleisti veikiantį prototipą. Pats nebandžiau, bet SCSI komandų lentelė pavyzdžio aprašyme (kaip beje) yra gana simbolinė. Neradau jokių NAND atminties nusidėvėjimo valdymo algoritmo požymių :-)PASTABA: vietomis taikoma STM patentinė apsauga. Pavyzdys: Masinė saugykla Kas liko neatskleistaNeturiu tikslo daryti dar vieno vadovėlio USB, jų užtenka ir be manęs, ir jie puikiai aprašyti: elektrinė dalis, protokolo detalės, darbas su šakotuvais, deskriptorių kalba ir HID abstrakcijos lygis, problemos su VID/ PID unikalumas, USB 3.0 ir daug kitų nuostabių USB magistralės savybių, kai kurios mums naudingos, o kai kurios nelabai. IT specialistams ypač rekomenduoju ekskursiją į tamsiąją pusę su priešo įrenginių apžvalga (flash drive su užmaskuota HID klaviatūra, kuri darys baisius dalykus).NuorodosTinkinto HID pavyzdžio pritaikymas laisva aplinka Em::Blocks ir biudžeto demonstracinė plokštė STM32F103C8T6, kurią pagamino LC-Tech Industrial Electronics ir IT žmonės. Tai savotiška inžinerija Yin ir Yang, kiekvienas iš mūsų turime abiejų dalį.Pramoninės elektronikos inžinieriai turi puikių techninių žinių ir įgūdžių, kaire ranka užmerktomis akimis lituoja iki plauko plonus radijo komponentus (o 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. Diskutuodami apie objektinį programavimą, informacijos saugumą, milžiniškus projektus su milijonu kodo eilučių ir visokias įmantrias grafines sąsajas, žmonės nusibosta. Vietoj į paketus orientuotos USB magistralės jie renkasi USART srautinio perdavimo režimą, patobulintą arba įprastu RS-232, arba žiauresniu RS-485 ( serijinė magistralė pramoniniams tikslams, iki 10 Mbit/s 15 m atstumu, iki 100 kbit/s 1200 m atstumu, iki 32 įrenginių). IT specialistai išmano operacines sistemas, tinklo infrastruktūrą ir sudėtingas sąveikas; elitas puikiai išmano informacijos saugumą ir supranta visokius nematomus būdus į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. Patologiškai tingūs, bet jie mėgsta naujas technologijas ir susuktus inžinerinius galvosūkius brangūs žaislai(pageidautina išspręsti programinės įrangos lygiu arba, kraštutiniais atvejais, trumpikliais). 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? Tik mes šį pasaulį matome kitaip... Juk Linux branduolį kūrė tie patys vaikinai, iš modulių C ir assembler intarpų 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 žymes2008 metų pabaigoje. Kaip ir galima tikėtis, naujas standartas padidino pralaidumą, nors padidėjimas nėra toks reikšmingas kaip 40 kartų padidėjęs greitis pereinant nuo USB 1.1 prie USB 2.0. Bet kokiu atveju 10 kartų padidintas pralaidumas yra sveikintinas. USB 3.0 palaiko maksimalus perdavimo greitis 5 Gbit/s. Pralaidumas beveik dvigubai didesnis už šiuolaikinį Serial ATA standartą (3 Gbit/s, atsižvelgiant į perteklinės informacijos perdavimą). USB 3.0 logotipas Kiekvienas entuziastas patvirtins, kad USB 2.0 sąsaja yra pagrindinė. kliūtis» šiuolaikiniai kompiuteriai ir nešiojamieji kompiuteriai, nes jo didžiausias „grynasis“ pralaidumas svyruoja nuo 30 iki 35 MB/s. Tačiau šiuolaikiniai turi 3,5 colio kietieji diskai staliniams kompiuteriams perdavimo greitis jau viršijo 100 MB/s (atsiranda ir nešiojamiesiems kompiuteriams skirtų 2,5 colių modelių, kurie artėja prie šio lygio). Didelės spartos kietojo kūno diskai sėkmingai peržengė 200 MB/s slenkstį. O 5 Gbit/s (arba 5120 Mbit/s) atitinka 640 MB/s. Nemanome, kad artimiausioje ateityje kietieji diskai pasieks 600 MB/s greitį, tačiau naujos kartos SSD diskai šį skaičių gali viršyti vos po kelerių metų. Didėjantis pralaidumas tampa vis svarbesnis, nes didėja informacijos kiekis ir atitinkamai ilgėja laikas, kurio reikia atsarginei jos kopijai sukurti. Kuo greičiau veiks saugykla, tuo trumpesnis bus atsarginės kopijos laikas, tuo lengviau bus sukurti „langus“ atsarginių kopijų grafike. USB 1.0 – 3.0 greičio palyginimo lentelė Šiandien skaitmeninės vaizdo kameros gali įrašyti ir saugoti gigabaitus vaizdo duomenų. Didėja HD vaizdo kamerų dalis, todėl norint įrašyti didelius duomenų kiekius reikia didesnės ir greitesnės saugyklos. Jei naudojate USB 2.0, kelių dešimčių gigabaitų vaizdo duomenų perkėlimas į kompiuterį redagavimui užtruks daug laiko. USB įgyvendintojų forumas mano, kad pralaidumas išliks labai svarbus ir USB 3.0 per ateinančius penkerius metus pakaks visiems vartotojų įrenginiams. 8/10 bitų kodavimasSiekiant užtikrinti patikimą duomenų perdavimą USB 3.0 sąsaja naudoja 8/10 bitų kodavimą, mums pažįstamą, pavyzdžiui, iš Serial ATA. Vienas baitas (8 bitai) perduodamas naudojant 10 bitų kodavimą, kuris pagerina perdavimo patikimumą pralaidumo sąskaita. Todėl perėjimas iš bitų į baitus atliekamas santykiu 10:1, o ne 8:1. USB 1.x – 3.0 pralaidumo ir konkurentų palyginimas Energijos taupymo režimaitikrai, Pagrindinis tikslas sąsaja USB 3.0 yra padidinti turimą pralaidumą, tačiau naujasis standartas veiksmingai optimizuoja energijos suvartojimą. USB 2.0 sąsaja nuolat apklausia įrenginio prieinamumą, o tai sunaudoja energiją. Priešingai, USB 3.0 turi keturias ryšio būsenas, pavadintas U0-U3. Ryšio būsena U0 atitinka aktyvų duomenų perdavimą, o U3 įjungia įrenginį į „miego režimą“. Jei ryšys neveikia, tada U1 būsenoje galimybė priimti ir perduoti duomenis bus išjungta. Būsena U2 žengia dar vieną žingsnį išjungdama vidinį laikrodį. Atitinkamai, prijungti įrenginiai gali pereiti į U1 būseną iš karto po duomenų perdavimo, o tai turėtų turėti didelių energijos suvartojimo pranašumų, palyginti su USB 2.0. Didesnė srovėBe skirtingų energijos suvartojimo būsenų, standartinis USB 3.0 skiriasi iš USB 2.0 ir didesnė palaikoma srovė. Jei USB 2.0 srovės slenkstis buvo 500 mA, tai naujo standarto atveju apribojimas buvo perkeltas į 900 mA. Ryšio pradžios srovė padidinta nuo 100 mA USB 2.0 iki 150 mA USB 3.0. Abu parametrai yra gana svarbūs nešiojamiesiems kietiesiems diskams, kuriems paprastai reikia šiek tiek didesnės srovės. Anksčiau problemą buvo galima išspręsti naudojant papildomą USB kištuką, maitinimą iš dviejų prievadų, bet naudojant tik vieną duomenims perduoti, nors tai ir pažeidė USB 2.0 specifikacijas. Nauji laidai, jungtys, spalvų kodavimasUSB 3.0 standartas yra suderinamas su USB 2.0 t. y., atrodo, kad kištukai yra tokie patys kaip įprasti A tipo kištukai. USB 2.0 kontaktai lieka toje pačioje vietoje, tačiau dabar yra penki nauji kištukai, esantys giliai jungties viduje. Tai reiškia, kad turite iki galo įkišti USB 3.0 kištuką USB jungtis 3.0, kad įsitikintumėte, ar režimas USB veikimas 3.0, kuriam reikalingi papildomi kaiščiai. Kitaip gausi USB greitis 2.0. USB įgyvendintojų forumas rekomenduoja gamintojams naudoti Pantone 300C spalvų kodavimą jungties vidinėje pusėje. Panaši situacija buvo ir su B tipo USB kištuku, nors skirtumai vizualiai labiau pastebimi. USB 3.0 kištuką galima atpažinti pagal penkis papildomus kaiščius. USB 3.0 nenaudoja šviesolaidžio, nes tai per brangu masinei rinkai. Todėl turime seną gerą varinį kabelį. Tačiau dabar jis turės devynis, o ne keturis laidus. Duomenų perdavimas vykdomas keturiais iš penkių papildomų laidų diferencialiniu režimu (SDP-Shielded Differential Pair). Viena laidų pora atsakinga už informacijos priėmimą, kita – už perdavimą. Veikimo principas panašus į Serial ATA, kai įrenginiai gauna visą pralaidumą abiem kryptimis. Penktasis laidas yra „įžeminimas“. |
Populiaru:
Nauja
- BIOS: paleiskite iš disko
- Kaip paleisti iš „diegimo“ DVD arba „flash drive“ - BIOS sąranka nuotraukose
- Kaip teisingai nustatyti RAM laiką?
- „Navitel“ diegimas navigatoriuje ir kompiuteryje
- Pakeiskite slaptažodį Minecraft serveryje per savo asmeninę paskyrą ir klientą
- Kas yra garsiakalbio kabelis
- Kompiuterio naudojimas kaip telefonas
- Kaip naudoti išmanųjį telefoną kaip nešiojamojo kompiuterio modemą
- Kaip prijungti antrą televizorių prie imtuvo arba skaitmeninės televizijos priedėlio
- Geriausi internetiniai kompiuteriai pagal klientų atsiliepimus