USB-Pull-Up über Transistor?

Gast #111884
Lesenswert?

Hallo,

ich habe im Web bei einigen Schaltungen von USB-Controllern gesehen,
dass der D+-Pull-Up Widerstand manchmal über einen Transistor gesteuert
wird. Soweit ich weiss, dient der Pull-Up nur dazu dem Host mitzuteilen,
dass entweder Full- oder Low-Speed verwendet werden soll. Oder wird
durch das An-/Abschalten noch etwas anderes signalisiert?

Gruß Ralf
Gast #111885
Lesenswert?

Durch den Widerstand wird dem Host erst einmal mitgeteilt, dass sich ein
 Gerät am Bus befindet.

--> Transistor aus, kein Gerät
--> Transistor ein, Host erkennt Anschluss eines Gerätes und versucht
herauszufinden was es für ein Gerät ist und die Treiber zu laden

Steffen
Gast #111887
Lesenswert?

Im aktiven Betrieb muss der Transistor natürlich eingeschaltet sein. Ob
es ein Low- oder Fullspeed Gerät ist erkennt der Host dann daran, ob es
ein Pull-Up oder ein Pull-Down Widerstand ist.

Sinn macht das Ganze nur, wenn sich das Gerät selbstständig an- und
abmelden können muss. Normalerweise passiert die Enumeration (Erkennung
und Treiberzuweisung) beim Anstecken des Gerätes.

Steffen
Gast #111888
Lesenswert?

Ach, jetzt wirds deutlich. Pull-Down... Ziemlich gute Lösung.
Und das funktioniert auch mit mehreren Geräten?

Kennst du Seiten, wo das beschrieben ist (auch andere Sachen, die USB
und Controller betreffen)? Ich möchte mit dem AT89C51SND1 arbeiten,
aber Code dafür zu finden, ist mir bis jetzt noch nicht gelungen.

Gruß Ralf
Gast #111889
Lesenswert?

Gute Seiten bzgl. USB kenne ich auch nicht. Empfehlen kann ich dir das
Buch USB Design by Example von John Hyde. Dort wird alles an
praktischen Beispielen erläutert. Die Beispielprogramme sind für einen
8051, müsste also genau das Richtige für dich sein.

Die kompletten Spezifikationen findest Du unter www.usb.org.

Steffen

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren