Forum: Mikrocontroller und Digitale Elektronik MAX232 und FTDI auf einem RX Pin


von nno (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich habe vor an einem Atmega88 HW UART alternativ mit RS232 (über 
MAX232) oder USB (FT232) zu betreiben. (Also je nachdem was 
angeschlossen ist. Beides zugleich ungültig und muss/kann nicht 
funktionieren.

Die Senderichtung des uC ist einfach auf beide Chips aufzuteilen.
Bei der Empfangsrichtung habe ich folgende Daten aus dem Datenblatt 
entnehmen können:

MAX232 treibt 0 oder 5V
FT232 treibt 0 oder 5V (wenn jedoch kein USB vorhanden ist, wird der 
Chip in Reset gehalten und die Ausgänge floaten (TriState) (FT232RL im 
self powered mode).
1
Note : When the FT232R is in reset, the UART interface pins all go tri-state. These pins have internal 200kΩ pull-up
2
resistors to VCCIO, so they will gently pull high unless driven by some external logic.

Nun hatte ich mir gedacht ein logisches AND (weil Ruhepegel = 5V High) 
mit zwei schottky dioden und einem Pullup zu verwenden um die 
Eingangspegel am µC eindeutig zu halten (siehe Schaltung im Anhang).

Kann das ganz so funktionieren?

Vielen Dank bereits im voraus.

von Tim (Gast)


Angehängte Dateien:

Lesenswert?

nno schrieb:
> Nun hatte ich mir gedacht ein logisches AND (weil Ruhepegel = 5V High)
> mit zwei schottky dioden und einem Pullup zu verwenden um die
> Eingangspegel am µC eindeutig zu halten (siehe Schaltung im Anhang).
>
> Kann das ganz so funktionieren?
Ja, ich denke schon.

Die Verundung habe ich schon erfolgreich realisiert, ist bei mir aber 
viel aufwendiger mit zwei NAND-Gattern.
Ein Wired-AND sollte es auch tun.
Es dürfen halt nicht beide Sender gleichzeitig senden, sonst kommt 
Unsinn raus.

von user (Gast)


Lesenswert?

Nimm ein richtiges AND-Gatter, sonst funktioniert das nicht richtig oder 
nur bei nidrigen Baud-Raten

von user (Gast)


Lesenswert?

oder 2 NAND Gatter wie in dem Beispiel uart-mux.png

von Stefan F. (Gast)


Lesenswert?

nno schrieb:
> Kann das ganz so funktionieren?

Ja, die 10kΩ sind allerdings recht hoch. Ich habe das mal mit 2,2kΩ 
gemacht, damit funktionierten 115200 Baud zuverlässig.

von U. M. (oeletronika)


Lesenswert?

Hallo,
> nno schrieb:
> Nun hatte ich mir gedacht ein logisches AND (weil Ruhepegel = 5V High)
> mit zwei schottky dioden und einem Pullup zu verwenden um die
> Eingangspegel am µC eindeutig zu halten (siehe Schaltung im Anhang).
> Kann das ganz so funktionieren?
Ja klar, habe ich so in dieser Weise schon unzählige mal praktiziert.
Die Einschränkung bei hohen Baudraten muß man natürlich beachten.

Im Zweifelsfall sollte der Pull-up deutlich niederohmiger eingestellt 
werden. Dann sind auch paar hundert kBaud normal kein Problem.
Gruß Öletronika

von nno (Gast)


Lesenswert?

Vielen Dank für eure Hinweise.

Auch zur Dimensionierung. Hohe Baudraten sollten nicht notwendig sein. 
Da ich allerdings bereits den internen 8MHz clock des µC verwende, 
bringt dieser bereits einen gewissen Fehler mit sich.
Daher überlege ich vielleicht doch das NAND einzusetzen.

Vielen Dank auf alle Fälle.

von U. M. (oeletronika)


Lesenswert?

nno schrieb:
> Auch zur Dimensionierung. Hohe Baudraten sollten nicht notwendig sein.
> Da ich allerdings bereits den internen 8MHz clock des µC verwende,
> bringt dieser bereits einen gewissen Fehler mit sich.
So, welchen Zusammenhang siehst du da denn? Ich kann keinen erkennen, 
der relvant kritisch wäre.

> Daher überlege ich vielleicht doch das NAND einzusetzen.
Du kannst machen was du willst, auch aus reiner Angst.
Gruß Öletronika

von nno (Gast)


Lesenswert?

also ich hatte verstanden, dass der Pullup sich auf die Flankensteilheit 
auswirkt. -> nicht so tolle flanke -> Signaldauer eventuell etwas 
ungenau.

Daher addiert sich dieser Fehler zu dem Fehler der ungenauen Abtastrate.

Nun ist alles gesamt wahrscheinlich so klein, dass man es 
vernachlässigen kann.

Daher habe ich nun die Diodenschaltung verwendet. Vielen Dank.

von MartinH (Gast)


Lesenswert?

Eine Frage an die Kundigen hier...

Ich versuche gerade, über eine "CJMCU-232H" z. B. einen 8547 oder später 
einen 23017 mittels PC- USB anzusteuern. Bisher mache ich das mittels 
eines LabJack- Moduls von Meilhaus, das klappt ganz gut, es gibt nen 
Treiber, man muss der eigenen Software nur sagen, welche Pins für SDA 
und SCL benutzt werden und schon geht's los....

Nun ist ein Modul für 300 Euro nicht unbedingt das Mittel der Wahl, wenn 
man häufiger am PC I2C-Bausteine anflanschen will... also.... das obige 
Modul gekauft.... aber das Ding will nicht....

Lt. Datenblatt werden die Pins D0 und D1 gebrückt und arbeiten als SDA, 
D0 ist dann SCL....

Wenn ich jetzt Daten über den Comport ausgebe (C-Programm, seriell), 
dann kann ich diese Daten am FT232 auch sehen, aber witzigerwiese sehe 
ich an D0 die Daten (so weit ich das erkennen kann), dafür aber keinen 
Clock... an keinem Pin, auch nicht an den beiden gebrückten Pins D1 und 
D2.

Muss man den FT232 erst als "I2C" konfigurieren? Wenn ich mit dem Tool 
von der FTDI-Seite in das IC reinsehe, finde ich an keiner Stelle "I2C 
einschalten" oder sowas....hat da jemand nen Tipp?

Beim Durchsehen der Posts hier ist mir schon ein paar mal aufgefallen, 
dass Leute hier gerne ganz allgemein auf Manuals hinweisen oder auf 
eigene Bemühungen und, und, und......alles schön und gut... aber 
vielleicht haben einige Fragesteller schon rumprobiert... und schreiben 
deshalb hier... und sind dann nicht amüsiert, wenn Leute schreiben..... 
"musst Du selbst suchen, habe ich auch"......

Wozu?

Falls sich doch jemand aufraffen und ein paar Tipps geben möchte, gerne!

von fchk (Gast)


Lesenswert?

MartinH schrieb:

> Nun ist ein Modul für 300 Euro nicht unbedingt das Mittel der Wahl, wenn
> man häufiger am PC I2C-Bausteine anflanschen will... also.... das obige
> Modul gekauft.... aber das Ding will nicht....

Mein Tip: Nimm einen MCP2221A. Externe Hardware ist ganz einfach (im 
Prinzip zwei Kondensatoren und ein Widerstand, dazu die Pullups auf I2C, 
und los gehts. Dafür gibts DLLs von Microchip, die das I2C machen. Unter 
Linux hast Du die danz normale I2C API.

https://www.microchip.com/wwwproducts/en/MCP2221A

> Muss man den FT232 erst als "I2C" konfigurieren? Wenn ich mit dem Tool
> von der FTDI-Seite in das IC reinsehe, finde ich an keiner Stelle "I2C
> einschalten" oder sowas....hat da jemand nen Tipp?

Ja, das läuft über die MPSSE, ist aber etwas komplex. Ich habe das 
selber nie benutzt.

fchk

von MartinH (Gast)


Lesenswert?

Kleine Korrektur.....

Gebrückt werden natürlich D1 und D2 (SDA) und D0 ist dann (oder sollte 
es sein, bei mir ja nicht....) SCL

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.