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
> 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.
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
@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?
>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!
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?
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
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.
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.