Forum: Mikrocontroller und Digitale Elektronik 2 ICs per USB verbinden


von Gregor (Gast)


Lesenswert?

Abend,

kann mir jmd erklären wie man bei USB die Spannung mitführt, wenn man 
einen Controller mit einem FTDI-Chip verbinden möchte? Hab mir hier die 
Schaltungen im UserManual vom FTDI Chip angesehen.
http://www.ftdichip.com/Documents/DataSheets/DS_FT245R_V208.pdf
(unter 7.2 z.B. die Self-Power-Variante). Am Controller selbst befinden 
sich nur die beiden Datenleitungen und eine Stromsicherung

Kann ich hier die Spannung einfach weglassen und route nur die beiden 
Datenleitungen von einem Ic zum anderen?
Ist es in diesem trotzdem sinnvoll irgendwelche Maßnahmen bezüglich ESD 
oder EMI zu treffen?


LG
Gregor

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Neben den Datenleitungen (ich nehme an, daß Du damit RxD und TxD meinst) 
ist auf jeden Fall noch eine Masseverbindung erforderlich.

Was meinst Du mit "die Spannung mitführen"?

Oder hast Du etwas ganz anderes vor?

von Gregor (Gast)


Lesenswert?

Rufus t. Firefly schrieb:
> Neben den Datenleitungen (ich nehme an, daß Du damit RxD und TxD meinst)

D+ und D- - die beiden USB Datenleitungen meine ich damit.

Rufus t. Firefly schrieb:
> ist auf jeden Fall noch eine Masseverbindung

beide ICs befinden sich auf der gleichen Platine, welche eine GND-Plane 
beinhaltet. Das müsste für die Masse-Verbindung ausreichend sein, oder?

Rufus t. Firefly schrieb:
> Was meinst Du mit "die Spannung mitführen"?

ja ich weiß, schwierig zu beschreiben: normalerweise wird zur USB-Buchse 
ja auch die Spannung mitgeführt bzw. mit einem kleinen IC MIC2026 z.B. 
erzeugt. Brauche ich diese Beschaltung trotzdem oder behandel ich die 
beiden Datenleitungen einfach als differenzielles Leitungspaar und 
fertig...?

von Christian R. (supachris)


Lesenswert?

Welche Chips genau willst du per USB verbinden? Mir schwant da was 
ungutes. Zeichne mal bitte ein Blockschaltbild...

von Gregor (Gast)


Lesenswert?

also der Prozessor hat schon ein entsprechendes Host-Interface so dass 
man daran einen Device anschließen kann. Aber werd morgn mal ein 
Schaltbild zeichnen...

von Εrnst B. (ernst)


Lesenswert?

Na dann leg halt auf Host-Seite 5V an die entsprechende Ader.
Und wenn du auf der Device-Seite den Strom nicht brauchst, leg die 
5V-Ader vom USB-Kabel von mir aus auf GND. Nur ganz offenlassen solltest 
du die nicht.

von Gregor (Gast)


Lesenswert?

Ich hab kein Kabel zwischen den beiden ICs - befinden sich alle beide 
auf der gleichen Platine.

Beim Prozessor handelt es sich um einen AT91SAM9261 ARM9 Controller. Bis 
jetzt hab ich die beiden Signalleitungen D+ und D- mit dem FTDI Chip 
verbunden.

Kann ich Spannung mehr oder weniger weglassen? Bzw. kann ich diese beim 
FTDI Chip (VREGIN Pin) einfach mit 3.3V verbinden und generiere gar 
keine 5V-Spannung für den USB-Bus?

von T. C. (tripplex)


Lesenswert?

Die +5V kommen vom US-Bus mit. Schau dir doch mal die Applikationen
im FTDI Datenblatt an...

von Markus -. (mrmccrash)


Lesenswert?

Kannst du ein einfaches Blockschaltbild anhängen? Dann dürfte das 
Antworten leichter fallen :)

Was ich jetzt rausgelesen habe:

Arm9 + FTDI auf einer Platine
Arm9 als Host
FTDI als Device
gemeinsame Masse

Wenn das so stimmt:
Dann musst du eigentlich den FTDI nur so beschalten, wie er als 
"Self-Powered Device" betrieben wird. Sprich wie in Kapitel 7.2 
anschließen. Du musst lediglich den Reset Pin an deinen Arm9 führen, um 
nach dem Einschalten dem FTDI das Signal zu geben, sich am USB 
anzumelden. Alternativ kannst du den Reset Pin auch mit dem 4k7/10k 
Spannungsteiler an +5V klemmen. Beachte aber die beiden Notes unten auf 
der Seite bezüglich der Versorgungsspannung und dem internen Oszillator 
des Chips.

_.-=: MFG :=-._

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Willst Du Deinen ARM mit dem FT232 "reden" lassen, d.h. ist der ein 
USB-Host?

Oder sind beide USB-Devices und willst Du sie gleichzeitig an einen 
USB-Host (wie z.B. einen PC) anschließen?

von Gregor (Gast)


Lesenswert?

Markus ---- schrieb:
> Arm9 + FTDI auf einer Platine
> Arm9 als Host
> FTDI als Device
> gemeinsame Masse
>
> Wenn das so stimmt:

alles richtig verstanden! Und vielen Dank für deine Antwort, hat mir 
sehr weitergeholfen!

Markus ---- schrieb:
> Alternativ kannst du den Reset Pin auch mit dem 4k7/10k
> Spannungsteiler an +5V klemmen

Das werd ich dann so machen, vielleicht noch zusätzlich mit einem 
&-Gatter, dann kann ich vom Prozessoer her den FTDI Chip zu jedem 
Zeitpunkt resetten.


Prozessoer ---------&-Gatter--------4.7k------RST (FTDI)
                    |                     |
             3.3V---|                    10k---GND


Reicht eine 3.3V Spannung aus, um den FTDI Chip nicht ständig zu 
resetten oder muss ich in die obige Schaltung alles auf 5Volt auslegen 
(der Prozessor selbst liefert nur 3.3V an den GPIOs)

von Gregor (Gast)


Lesenswert?

Rufus t. Firefly schrieb:
> Willst Du Deinen ARM mit dem FT232 "reden" lassen, d.h. ist der ein
> USB-Host?

das ist das erklärte Ziel. ARM sollte mit dem FT232 reden.

von Gregor (Gast)


Lesenswert?

eine weitere Frage die mir dazu einfällt ist, weiß jmd wie das 
Programmieren des EEPROMs in dieser Situation stattfindet? Normalerweise 
läuft das ja über die USB Verbindung zum PC (laut Datenblatt)?

von Reinhard Kern (Gast)


Lesenswert?

Gregor schrieb:
> eine weitere Frage die mir dazu einfällt ist, weiß jmd wie das
> Programmieren des EEPROMs in dieser Situation stattfindet? Normalerweise
> läuft das ja über die USB Verbindung zum PC (laut Datenblatt)?

Dein ARM ist jetzt der PC, und muss das halt mitübernehmen - m.a.W. du 
musst die für den FT mitgelieferte PC-Software auf den ARM portieren. 
Warum sendest du mit dem ARM nicht einfach direkt serielle Daten? Der FT 
ist doch völlig überflüssig.

Gruss Reinhard

von Arc N. (arc)


Lesenswert?

Gregor schrieb:
> Rufus t. Firefly schrieb:
>> Willst Du Deinen ARM mit dem FT232 "reden" lassen, d.h. ist der ein
>> USB-Host?
>
> das ist das erklärte Ziel. ARM sollte mit dem FT232 reden.

Die Frage ist nur: Was soll das werden?
Eine Serielle kann zur Not per SPI oder EMIF wesentlich einfacher 
angebunden werden, falls es ein Controller ohne UARTs sein sollte (wobei 
mir grad kein gängiger ARM ohne UARTs einfällt).
Zum anderen ist die Softwareseite auch nicht ganz ohne, da entweder ein 
OS mit passenden Treibern laufen muss, oder man alle Treiber selbst 
entwickeln bzw. portieren muss.

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.