Forum: Mikrocontroller und Digitale Elektronik FTDI 3v3 LDO


von bob b. (blobbob)


Lesenswert?

Hallo Forum,

hab hier ein FTDI-CHip(FT232R) und ein MSP430.
Der FTDI hat einen internen 3V3 LDO, diese 3,3V hab ich an einem Eingang 
des MSPs. Darüber wollte ich erkennen, ob USB angeschlossen ist oder 
nicht.
Ich bin davon ausgegangen, dass wenn man den FTDI in 
Bus-Powered-Konfiguration beschaltet, der LDO dann eben auch nur 
Spannung ausgibt wenn der USB angeschlossen ist.

Kurz zum Programmablauf:
MSP an --> checkt den 3V3 Eingang, entscheidet ob UART zu initialisieren 
ist oder nicht.

Wenn der UART-Port nicht initialisiert wird, weil der USBanschluss nicht 
angesteckt ist, dann kann man den USBstecker an und abstecken und der 
FTDI-LDO geht an und aus.

Startet jetzt allerdings der MSP sein Programm, während USB 
angeschlossen ist, und initialisiert deswegen das UART-Interface, so 
bringt der FTDI-LDO bei USB dran = 3V3 und bei USB ab ~2,7V. Das reicht 
nicht für einen MSP-Interrupt.

Ich denke er bezieht die Spannung in dem Fall über die UART-Anschlüsse.
Kann man dies irgendwie unterbinden? Hab schon das Häckchen "Pull Down 
IO Pins in USB Suspend" im FTDI gesetzt, bringt aber nicht das 
gewünschte Ergebnis.

mfG
Bob

von Sebastian W. (dl3yc)


Lesenswert?

> Ich denke er bezieht die Spannung in dem Fall über die UART-Anschlüsse.
> Kann man dies irgendwie unterbinden? Hab schon das Häckchen "Pull Down
> IO Pins in USB Suspend" im FTDI gesetzt, bringt aber nicht das
> gewünschte Ergebnis.

Idee: Schalte die UART-Pins(bzw. den UART-TX) als Eingang(oder Ausgang, 
dann low) - so kann der FTDI dadurch nicht mehr gespeist werden.

von Ralf (Gast)


Lesenswert?

Hast du einen Kondensator am LDO-Ausgang nahe am Pin platziert? Soweit 
ich weiss braucht man den selbst dann wenn der LDO nicht belastet wird.

>> wenn man den FTDI in Bus-Powered-Konfiguration beschaltet, ...
> ... so bringt der FTDI-LDO bei USB dran = 3V3 und bei USB ab ~2,7V. Das
> reicht nicht für einen MSP-Interrupt.
> Ich denke er bezieht die Spannung in dem Fall über die UART-Anschlüsse.
Bus-Powered gilt eben für das komplette Device und nicht nur für den 
FTDI-Chip.

> Kann man dies irgendwie unterbinden?
Ja, entweder Spannungsteiler von 5V_USB auf den Eingang oder das PWREN# 
des FTDI-Chips verwenden -> das Signal ist lowaktiv, wird aktiv wenn der 
FTDI-Chip konfiguriert ist, und konfiguriert bedeutet in dem Fall auch 
angeschlossen an USB. Zusätzlich würde ich dann dem Reset des FTDI-Chips 
einen Spannungsteiler von 5V_USB an den (lowaktiven) Reseteingang 
spendieren, somit ist sichergestellt dass er im Reset ist, wenn kein USB 
angeschlossen ist und somit kann der PWREN# auch nicht wirres Zeug 
ausgeben.

Ralf

von bob b. (blobbob)


Lesenswert?

@Sebastian
das geht leider nicht, da ich das UART-Interface ja zur Kommunikation 
brauch, wenn der USB-Port angeschlossen ist.

@Ralf
ja am LDO Ausgang des FTDIs ist ein 100nF C. Natürlich wären die von dir 
vorgeschlagenen Varianten möglich. Aber ich würde eher eine 
softwarebasierte bevorzugen. Ich hoff immer noch, dass ich eine 
Konfigurationsmöglichkeit des FTDIs übersehen habe :D . Die ~2,7V wirken 
so undefiniert, und warum sollte der FTDI Spannung aus einer 
Kommunikationsschnittstelle beziehen?

von SF (Gast)


Lesenswert?

>warum sollte der FTDI Spannung aus einer Kommunikationsschnittstelle beziehen?
Weil er das macht, wenn an den Kommunikationsleitungen eine Spannung 
anliegt und der FTDI selber keine Spannung an seinen Vcc Leitungen hat!

Intern im FTDI ist an den Kommunikationsleitungen eine Diode gegen Vcc 
geschaltet. Wenn nun 3.3V an einer der Kommunikationsleitungen anliegt 
so ist eine Spannung von 2.7V = 3.3V minus 0.6V Diode ein Indiz für eine 
Speisung über die Kommunikationsleitungen!

von bob b. (blobbob)


Lesenswert?

Ja aber man kann doch nicht aus Prinzip davon ausgehen, dass das 
speisende Interface den nötigen Strom dafür treiben kann. Zumal über den 
LDO ja 50mA zur Verfügung stehen, aber hier z.B. der MSP Pin nur 2mA 
verträgt.
Also würde man ja theoretisch das UART Interface des MSPs bei Belastung 
des LDOs zerstören, oder lieg ich da jetzt komplett falsch?

von bob b. (blobbob)


Lesenswert?

bob blob schrieb:
> Ja aber man kann doch nicht aus Prinzip davon ausgehen, dass das
> speisende Interface den nötigen Strom dafür treiben kann. Zumal über den
> LDO ja 50mA zur Verfügung stehen, aber hier z.B. der MSP Pin nur 2mA
> verträgt.
> Also würde man ja theoretisch das UART Interface des MSPs bei Belastung
> des LDOs zerstören, oder lieg ich da jetzt komplett falsch?

ok, ich habe CBUS3 an den Interruptpin angelegt, an welchem vorher der 
3V3-LDO ausgang anlag. Funktioniert nun einwandfrei. Ich danke euch, 
aber fürs Verständnis ne kleine Erläuterung wegen der Stromfrage von 
eben wär noch schön :D

Danke
Bob

von Christian R. (supachris)


Lesenswert?

Das ist ein völlig normales Problem. Wenn an einem I/O eines Chips, der 
keine Versorgungsspannung hat, eine Spannung anliegt, wird diese über 
die normaleweise vorhandene Diode nach Vcc des Chips abgeleitet. Das ist 
extrem störend, wie du ja gemerkt hast, und sollte auf jeden Fall 
vermieden werden. Betreiben kann man den Chip damit nicht, aber wilde 
Pegel erzeugen. Wenn der Chip seine eigene VCC hat, passiert nix, denn 
dann ist die Diode in Sperrrichtung und es fließt kein Strom.

von bob b. (blobbob)


Lesenswert?

Dankeschön.

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.