Lanț pe hardware-ul USB

Mă tem că nu vă imaginați destul de modul în care USB.
Dacă nu te superi - să-i spun pe scurt (pe exemplul USB 2.0)

Sunt 4 fire, două dintre ele sunt + 5V și la sol, celelalte două - datele sunt numite D + și D-.
Detectarea dispozitivelor de conectare și deconectare, resetarea dispozitivelor, strângere de mână, transmisii de date, și reumplerea trezirea dispozitiv are loc exact perechea D + / D-.

Există doi participanți inegale gazdă - PC și dispozitiv - dispozitiv conectat.
La conectarea magistrala USB de dispozitive, dispozitive vystvlyaet la nivel înalt (3.3V) de pe D + în cazul în care viteza completa / viteză Bună sau D- viteză redusă. Văzând nivel înalt, gazdă așteaptă 100 milisecunde, apoi 10 milisecunde D + scade și D- la zero, înseamnă reporniri dispozitivul conectat. După aceea, dacă nu am schimba o scleroză, dispozitivul este gata în termen de 10 de milisecunde de la primirea de date pentru a inițializa. Și nu doar accepta, dar, de asemenea, să răspundă în mod inteligent și în intervale de timp strict definite (destul de greu).
Când inițializarea dispozitivul gazdă transmite informații despre tine pe care gazda „înțelege“, care a blocat-o în priză, ceea ce face concluziile relevante, un al doilea dispozitiv de descărcare și începe următoarea fază de inițializare.

Dacă dispozitivul nu răspunde sau nu răspunde în mod incorect în timpul - procedura de inițializare este întreruptă și, de regulă, un mesaj pe care cineva a încercat să se conecteze prin USB, dar sistemul nu a înțeles cine era

Acesta este începutul, apoi mai mult și mai interesant, crede-mă. Dacă nu mă credeți, verificați specificațiile pentru acest protocol.