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
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
Hi Steffen, danke für die Antwort. Und wie wird dann ein LowSpeed-Gerät erkannt? Transistor aus/an/aus? Gruß Ralf
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
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
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
Das Gerät hat keinen Pull-Down, das ist immer ein Pull-Up. Bei Full-Speed hängt der Pull-Up an D+, hingegen bei Low-Speed an D-. (USB Design by Example, Seite 44, 'Device Detection').
Stimmt, da hat René recht. Ist schon ne Weile her, als ich damit rumgespielt habe. Steffen
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.