MAX232 und FTDI auf einem RX Pin

Gast #5693251
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.
Angehängte Dateien:
Gast #5693276
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.
Angehängte Dateien:
#5693477
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
Gast #5693973
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.
#5694108
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
Gast #5694393
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.
Gast #6296261
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!
Gast #6296293
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren