Există un număr de diferite specificații USB. Totul a început cu USB 1.0 și USB 1.1. apoi interfața a evoluat într-un USB 2.0. a apărut recent, caietul de sarcini final de USB 3.0. Dar, în acest moment cel mai comun este realizarea USB 2. 0.
Ei bine, pentru a începe cu scoate în evidență și caracteristici. USB 2.0 suportă trei moduri de funcționare:
Comandă pe gazdă USB autobuz (de exemplu PC-uri), care se poate conecta până la 127 de dispozitive diferite. Dacă acest lucru nu este suficient, trebuie să adăugați o altă gazdă. Și mai important, dispozitivul în sine nu poate trimite / primi date la gazdă / de la gazdă, este necesar ca gazda însuși a apelat la aparat.
Să digresiune un pic și să vorbească despre „fierul“ interfață.
Există două tipuri de conectori - tip A și de tip B.
După cum reiese din figura de tip A se confruntă întotdeauna gazdă. Acestea sunt conectorii le vedem pe calculatoare și laptop-uri. conectori de tip B se referă întotdeauna pentru a conecta dispozitivele USB. Cablu USB este format din 4 fire de culori diferite. Ei bine, de fapt, roșu - alimentare cu o putere (+5 V), negru - pământ, alb și verde sunt utilizate pentru transmisia de date.
În plus față de cum se arată în figură, există și alte opțiuni pentru performanță-conector USB, de exemplu, mini-USB, și altele, bine, că știi deja 😉
Probabil în valoare de un pic atingere a unei metode de transmitere a datelor, dar du-te în ea nu va) Deci, atunci când transferul de date prin USB folosind principiul NRZI de codificare (non-retur la zero inversat). Pentru a transmite o logică „1“ este necesară creșterea nivelului D + linia de mai sus +2,8 V și nivelul liniei D- trebuie coborâte sub +0,3 V. Pentru situația opusă transmisie zero, - (D> 2,8 C) și (D + <0.3 В).
Ar trebui să discutăm, de asemenea, dispozitivele USB cu alimentare. Și, de asemenea, există mai multe opțiuni posibile.
În primul rând dispozitivul poate fi alimentat de autobuz, atunci ele pot fi împărțite în două clase:
Diferența de aici constă în faptul că dispozitivele de consum redus de energie nu poate consuma mai mult de 100 mA. Un aparat de mare putere ar trebui sa consume nu mai mult de 100 mA la o configurație pas. Odată ce acestea sunt configurate gazda consumul lor poate fi de până la 500 mA.
În plus, dispozitivul poate avea propria sursa de alimentare. În acest caz, ei pot primi până la 100 mA de pe pneu, iar restul să ia de la sursa)
Din moment ce acest lucru pare să fie toate, să ne mute în liniște pe structura datelor transmise. Cu toate acestea, este de cel mai mare interes pentru noi 😉
Toate informațiile transmise cadre. sunt trimise la intervale regulate. La rândul său, fiecare cadru este compusă din tranzacții. Aici, probabil, ar fi mai clar:
Fiecare cadru cuprinde FPS pachet (Start Of Frame). urmat de tranzacții pentru diferite obiective, precum și a tuturor pachetului finalizat este EOF (End Of Frame). Vorbind în întregime corecte, atunci EOF - nu este destul de un pachet în sensul convențional al cuvântului - este perioada în care se interzice schimbul de date.
Fiecare tranzacție este după cum urmează:
Deja suna foarte cuvânt „pachet“ de multe ori în legătură cu interfața USB. așa că e timpul să înțeleagă că el reprezintă. Să începem cu Token pachet:
pachete Token vin în trei tipuri:
În pachetul nostru spune USB dispozitiv care gazda este gata să primească informații de la el. Pachetul este în curs. pe de altă parte, indică dorința și dorința de a împărtăși o serie de informații. Pachetul de instalare este necesar pentru uneltele de control. Ei bine Start pachetului cadru este utilizat pentru a iniția începutul unui cadru.
Asta i-am spus ..) În funcție de tipul de PID valoarea pachetului câmp Indicativul pachet poate lua următoarele valori:
- pachete de tip Token OUT - PID = 0001
- Tipul de pachete de token în - PID = 1001
- Tip pachet Jeton SETUP - PID = 1101
- Tip pachet Jeton SOF - PID = 0101
Ei bine, câmpul CRC - este o sumă de control, acest lucru este de înțeles.
Există un alt punct important. PID este format din 4 biți, dar transmisia sunt completate în continuare cu 4 biți, care sunt obținute prin inversarea primul bit al 4-lea.
Deci, rândul său, pachetul de date - adică, pachetul de date.
Rămâne pentru noi să ia în considerare pachetele de statut și FPS pachete:
Aici PID poate lua doar două valori:
- Pachet este recepționat în mod corect - PID = 0,010
- Eroare la primirea unui pachet - PID = 1010
În cele din urmă, Start de pachete Frame:
Aici vom vedea un nou domeniu Frame - conține un număr de cadru transmis.
Să luăm ca exemplu, ia în considerare procesul de înregistrare a datelor în USB-dispozitiv. Asta este, ia în considerare exemplul structurii cadrului de înregistrare.
Frame, așa cum s-ar putea amintiți este format din tranzacții și are următoarea formă:
Aceasta reprezintă toate aceste tranzacții? Cine va înțelege! SETUP Tranzacție:
În mod similar, atunci când citirea datelor dintr-un cadru USB dispozitiv arată după cum urmează:
tranzacție SETUP am văzut, uita-te la tranzacția în 😉
După cum puteți vedea, toate aceste tranzacții au următoarea structură, așa cum am discutat mai sus)