IC's ohne TriState zusammenschalten..

Gast #266098
Lesenswert?

Hi Leute, ich habe folgendes Problem:

Ich habe zwei µC's auf einem Board, die über eine simple USART
miteinander kommunizieren sollen.

Dazu sind Rx / Tx direkt miteinander verbunden.

Jetzt möchte ich aber, daß ich von einem PC aus mit dem Com-Port mich
in die Kommunikation der beiden µC's "einmischen" kann.

Somit wandel ich die RS-232 Signale mit einem MAX232 erstmal in
TTL-Signale. Die Frage ist nun, kann ich die Ein- und Ausgänge des
MAX232 einfach parallel an die beiden Rx / Tx der µC's "klemmen" ?

Oder gibt es da elektrische Probleme?! Ich habe mal gehört das man
Ausgänge von TTL-Ic's nicht ohne weiteres zusammenschalten darf
(ausser TriState).

Danke!
Gast #266101
Lesenswert?

Hallo

zwei "Sender", also 2 Ausgänge dürfen nicht aufeinander geschaltet
werden. Lösung für das Problem gibts mehrere.
1. Die beiden uC werden z.B. über SPI miteinander verbunden, statt mit
UART. dann ist die UART frei für den PC. Oder man verwendet uC mit 2
UART'S
2. Wenn beides wie beschrieben üer UART laufen soll, dann ist zu
überlegen, obs vielleicht einen Master geben kann, der einen
Multiplexer steuert und damit gezielt Verbindungen herstellt.
3. gibts die Möglichkeit eben Tristate-treiber oder
Open-Collector-Treiber dazwischenzuschalten.

Aber wirklich sauber ist nur Ansatz 1.

Gerhard
Gast #266104
Lesenswert?

Servus Excellsi,
hatte bei meiner Diplomarbeit ein ähnliches Problem.
Muss mich im wesentlcihen der Argumentation von Gerhard anschließen.
Ich hatte in meinem System einen Master und mehrere Slaves in einer Art
Netzwerk. Dies wurde über UART mit RS485 realisiert. Dennoch wollte ich,
dass der Master mit dem PC kommunizieren konnte. Die Lösung war, dass
ich einen Switch dazwischen geschaltet habe (ich glaube CMOS4051) und
dann entsprechend auf Pegelwandler RS485 bzw. auf den MAX232 gegangen
bin.
Nun war die Frage, wie schalte ich den Switch?
Im Normalfall findet immer eine Kommunikation über RS485 statt, d.h.
Netzwerk-intern. Da der MAX232 über zwei PEgelwandler verfügt, habe ich
mich entschlossen Hardware-Handshake über RTS/CTS zu realisieren, d.h.
möchte der angeschlossene PC mit dem MAster komm. so meldet er sich
über RTS am MAster an. Wenn dieser bereit ist Daten zu empfangen/senden
(in PC-Richtung), so schaltet dieser den Switch.
Etc., etc.
Falls du es genau wissen möchtest, kann ich dir auch die betreffende
Passage (Word-Dokument) senden.
Gruß Bob
Gast #266105
Lesenswert?

ok, Danke schonmal für die Antworten.

Leider habe ich wenig Platz auf meinem Layout, weshalb zwei Treiber
nicht in Frage kommen.

@Bob:

Deine Lösung finde ich wirklich interessant! Habe auch schon überlegt
mit CTS usw.. zu arbeiten. Kannst Du mir die Unterlagen vielleicht
schicken?? (Funktioniert das ganze auch noch mit 115 kbps?)

Danke

(excelsior2000@gmx.de)
Gast #266106
Lesenswert?

Man kann auch für die TXDs je ein npn-pnp Transistorpäärchen, die
hintereinander geschaltet sind (als nichtinvertierendender Puffer) und
auf einen gemeinsamen PullDown-Widerstand gehen. Jeder TXD kann dann
senden auf die am PullDown angeschlossenen RXDs, ohne daß ´was kaputt
geht. Man muß nur sicherstellen, daß nicht beide TXDs zur selben Zeit
senden, da es dann zu Bitmüll kommt. Das kann dann der jeweilige Master
überprüfen, indem er vor dem beabsichtigten Datentransfer die
RXD-Leitung prüft, ob er darf, oder vom gerade sendenden Element ein
Freigabe-Byte erhält. Rein Schltungstechnisch wird das sehr klein
aufzubauen sein (4 Transen und 7 Widerstände)

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