Forum: Mikrocontroller und Digitale Elektronik Wohin mit den 5V vom USB Datenport?


von Peter T. (peterteilt)


Lesenswert?

Ich versorge ein Embedded Gerät mit 3,7-5V. Gleichzeitig kommt von 
diesem Gerät eine USB Datenleitung zurück.
Was mache ich mit den 5V die auf einem der 4 Pins vom Gerät zurückkommt?
Kann ich die einfach in den Stromkreis zurückführen und die Tatsache 
ignorieren, dass das Gerät seinen eigenen Spannungswandler besitzt?

Wenn ich die 5V der Datenleitung einfach nicht anschließe findet leider 
keine USB Kommunikation statt.

von Eluxx (Gast)


Lesenswert?

Peter Teilt schrieb:
> Wenn ich die 5V der Datenleitung einfach nicht anschließe findet leider
> keine USB Kommunikation statt.

Klar.
Widerstand gegen Masse?

LG
Eluxx

von Peter T. (peterteilt)


Lesenswert?

Vielen Dank für deine Antwort!
Du meinst also einfach die 5V vom Datenkabel an die Masse.
Wie bemaße ich den Widerstand dazwischen?

von Peter w (Gast)


Lesenswert?

5v Leitung einfach weglassen aber !! Masse Anschlißen also drei stück 
zur Verbindung pc und Gerät

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Das ist Spannungsabfall und muss gesondert entsorgt werden ;)

Die 5V Einfach offen lassen und nur Datenpins + GND anschließen.

Die 5V können natürlich dazu genutzt werden um dem prozessor zu 
signalisieren, dass da eben irgendwer ein USB Kabel eingesteckt hat 
(Spannungsteiler auf Prozessor GPIO).

von Albrecht H. (alieninside)


Lesenswert?

Peter Teilt schrieb:
> ...
> Wenn ich die 5V der Datenleitung einfach nicht anschließe findet leider
> keine USB Kommunikation statt.

Dann muss ein Schaltplan her, sonst spekuliert man sich hier noch zu 
Tode!

von Peter T. (peterteilt)


Lesenswert?

Ich verwende VUSB mit einem attiny, bin also nicht ganz USB compliant.
Mit Zener-Dioden wird die Spannung von D+ und D- auf 3.3V runtergezogen, 
wie hier unter "Solution B" beschrieben:
http://vusb.wikidot.com/hardware

Wenn ich die 5V vom Datenkabel weglasse und stattdessen die meiner 
Stromversorgung nehme, klappt die Kommunikation nicht mehr ( "unable to 
enumerate usb device" ).

Den 5V vom Gerät ist auch eher zu vertrauen, da es sich bei der 
Stromversorgung um eine Solar/Batterielösung handelt.

Die Schaltung sieht aus wie hier:
http://codeandlife.com/wp-content/uploads/2012/02/tiny85_schematic2.png

Nur dass der attiny seinen Strom eben nicht vom USB Gerät bekommen soll, 
sondern von einer externen Spannungsquelle (von der das USB Gerät selbst 
auch versorgt wird).

von Reinhard Kern (Gast)


Lesenswert?

Peter Teilt schrieb:
> Nur dass der attiny seinen Strom eben nicht vom USB Gerät bekommen soll,
> sondern von einer externen Spannungsquelle

Du hast dich immer noch nicht klar dazu geäussert, ob du GND vom 
USB-Kabel mit GND des Prozessors verbunden hast.

Gruss Reinhard

von Peter T. (peterteilt)


Lesenswert?

Entschuldigung. Ja, alles teilt sich den gleichen Ground.

von Juergen R. (stumpjumper)


Lesenswert?

Peter Teilt schrieb:
> Nur dass der attiny seinen Strom eben nicht vom USB Gerät bekommen soll,
> sondern von einer externen Spannungsquelle (von der das USB Gerät selbst
> auch versorgt wird).

Warum?

von Peter T. (peterteilt)


Lesenswert?

Weil der attiny dem USB host die Stromzufuhr kappen können soll.

von Christian R. (supachris)


Lesenswert?

Dann musst du in der VUSB Firmware aber auch einstellen, dass es ein 
Self-Powered Device ist und außerdem per Firmware dafür sorgen, dass 
sich das Gerät beim Anstecken des USB Kabels am Host meldet. Die VBUS 
brauchst du dann dafür.

von Peter T. (peterteilt)


Lesenswert?

Die firmware ist mit der self-powered Option kompiliert.
Ich weiß dass es ohne die 5V VUSB nicht geht, das sehe ich ja hier im 
Test.
Die Frage ist, ob ich die VUSB Spannung einfach dem Strombus zuführen 
sollte, aus dem auch das Gerät gepowered wird.

von Andreas H. (ahz)


Lesenswert?

Peter Teilt schrieb:
> Was mache ich mit den 5V die auf einem der 4 Pins vom Gerät zurückkommt?

Dein Gerät neu designen ?

Die USB Spec ist hier relativ eindeutig. Der Slave darf keinen Strom in 
den Master einspeisen.

Obwohl die Spec sich hier eher auf D+/D- bezieht, ist da sicherlich auch 
VUSB gemeint.

Hat der Slave keine eigene Versorgung ist das trivial. Host wird 
eingeschaltet, VUSB liegt an, Slave wird über den Speed Pullup erkannt 
und dann enumeriert.

Ist der Slave aber self powered (wie bei Dir) , dann kann folgende 
Situation eintreten:

Slave wird eingeschaltet, Host ist aus. Slave (also Deiner) speist den 
Host via VUSB/D+/D-. Da im Host VDD noch 0V istfliesst  der Strom 
Substrat der angeschlosssenen ICs ab.

Wird nun der Host eingeschaltet, dann führt das im worst case irgendwo 
im Host, der ja in irgendeinem IC ein bereits "vorgeladenes" Substrat 
(die Ladung, die der Slave injiziert hat) findet und erst mal 
ausprobiert, ob der bekannte parasitäre Thyrister auch wirklich 
zuverlässig zündet (und dazu braucht es nicht wirklich viel Ladung).

Der berühmte Satz von Frau Dr. Erika Fuchs findet hier eine erneute 
Anwendung: "BUMM !!!"

Welche Auswirkungen das für Dein Design hat, kann ich Dir nicht sagen. 
Aber das merkst Du ja irgendwann ;-)

Grüße
Andreas

von Christian R. (supachris)


Lesenswert?

Peter Teilt schrieb:
> Die Frage ist, ob ich die VUSB Spannung einfach dem Strombus zuführen
> sollte, aus dem auch das Gerät gepowered wird.

Auf keinen Fall. Die VBUS muss dann auf einen I/O am Prozessor, der muss 
die Bus-Spannung überwachen und entsprechend das Disconnect/Connect am 
USB auslösen. Anders gehts nicht.

von Andreas B. (andreas_b77)


Lesenswert?

Zusammengefasst: Für "self-powered" werden die 5 V vom Host nur 
eingesetzt um festzustellen, ob die Verbindung zum getrennt wurde oder 
der Host ausgeschaltet wurde. Dann muss auch der Pull-Up abgeschaltet 
werden, denn im Falle dass der Host verbunden aber abgeschaltet ist, 
darf keine Spannung auf der Datenleitung eingespeist werden.

Dementsprechend wäre es widersinnig, die 5 V vom Host direkt mit sonst 
etwas zu verbinden, denn dann kann man ja nicht erkennen, wann die 5 V 
ausfallen.

Außer vielleicht über eine Diode in die Versorgung, damit das Gerät 
sowohl bus-powered als auch self-powered arbeiten kann. Ob das aber so 
erlaubt ist weiß ich nicht.

von Peter T. (peterteilt)


Lesenswert?

Ok vielen Dank für eure guten Erklärungen.

Wenn ich die VUSB einfach nur per 2k2 pullup mit D+ verbinde und die 
v-usb firmware mit der Option "self-powered" kompiliere, wird das device 
am host nicht erkannt.

von Peter T. (peterteilt)


Lesenswert?

Andreas H. schrieb:
> Peter Teilt schrieb:
>> Was mache ich mit den 5V die auf einem der 4 Pins vom Gerät zurückkommt?
>
> Dein Gerät neu designen ?
>
Ich weiß leider nicht wie. Im Moment funktioniert das Ganze nur, wenn 
ich zwar der firmware sage das device wäre bus-powered, die VUSB aber 
direkt an dem externen 5V bus hängen.

Alle anderen Konfigurationen (also keine Verbindung mit 5V Bus, bus- 
oder self-powered) funktionieren nicht. Und als Elektronik-Anfänger bin 
ich deshalb etwas ratlos.

von Andreas H. (ahz)


Lesenswert?

Peter Teilt schrieb:
> Ich weiß leider nicht wie. Im Moment funktioniert das Ganze nur, wenn
> ich zwar der firmware sage das device wäre bus-powered, die VUSB aber
> direkt an dem externen 5V bus hängen.
>
> Alle anderen Konfigurationen (also keine Verbindung mit 5V Bus, bus-
> oder self-powered) funktionieren nicht. Und als Elektronik-Anfänger bin
> ich deshalb etwas ratlos.

Ich weiss nicht welchen ATtiny und welche Firmware (version) Du benutzt 
aber für mich klingt das so, als ob die Firmware die VUSB an einem 
anderen Pin erwartet.

Die Firmware wartet ja (vrmutlich) bis der Host ready ist. Und das merkt 
die Firmware daran, das am VUSB-Pin des ATtiny 5V anliegen.
Vorher darf sie an den USB Leitungen eigentlich nichts machen.

Magst Du nicht mal einem Schaltplan Deines Aufbaus posten ?
Und die Firmware/Version auch ?

Grüße
Andreas

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
Noch kein Account? Hier anmelden.