PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Serielle Datenübertragung von mehreren Quellen auf einen Pin



Dane
14.03.2006, 06:42
Hallo,

ich will mit einem AVR von anderen drei AVRs ein serielles Signal empfangen.
Ich will sie über Dioden entkoppeln und an RXD anschließen.
Das würde ja soweit funktionieren, nur kann der Fall eintreten, dass mehrere Signale gleichzeitig gesendet werden.

Kommt dann nur Datenmüll an, oder kann sein dass der Empfänger-AVR irgendwas empfängt?

Wenn ja, würde ein Parity Bit etwas bewirken?

MfG, Dane

PicNick
14.03.2006, 08:57
Durch Parity u. Frame-Error kannst du zwar erkennen DASS Schrott empfangen wurde. aber du mußt dir überlegen, was du tust, um irgendwann dann doch das Richtige zu kriegen.

SprinterSB
14.03.2006, 10:24
DU musst dir eben ein Protokoll überlegen. Die Server AVRs sagen zB nur etwas, wenn sie gefragt werden, oder machen unter sich aus, wer das Sagen hat.

Der Client-AVR entscheidet, von welchem Server er was ziehen will und teilt es diesem mit, bzw bekommt was aufserviert, und muss erkennen, von wem es kommt (nachdem sich die 3 Jungs geeinigt haben, wer redet).

blade
14.03.2006, 10:27
Wieso realisierst du das nicht über Multiplexer und Demultiplexer mit synchroner Taktsteuerung?

ruediw
14.03.2006, 20:26
Wieso nimmts Du nicht I2C oder RS485 ?

RS-232 ist nur für eine Punkt zu Punkt Verbindung (2 Geräte).

Chris266
15.03.2006, 12:22
Schleife die Daten doch durch?!

Du hast also vier Controller: A,B,C,D

Statt
A->D
B->D
C->D

wie wäre folgendes:

A->B->C->D ;-)

D.h. A sagt B bescheid, B teilt dies dem C mit und C schlußendlich dem D.

Grüße

chr-mt
15.03.2006, 18:03
Hi,
du kannst auch einen Pin an den sendenden Controllern als Enable definieren.
Dann hälst du die Daten so lange in den Controllern vor, bis vom Master die Enables kommen.
Ist vielleicht einfacher als mit Protokoll...

Gruß
Christopher

Dane
15.03.2006, 19:33
Hallo,

danke für Eure Antworten.
Ich werde es wie es chr-mt meint, folgendermaßen machen: Mit einem Hardware-Handshake, d.h. ich habe am Empfänger 3 Ports, die er abwechselnd auf 1 setzt und nur wenn der bestimmte 1 ist , dann darf z.B. Sender 1 senden, und nur dann.

greetz, Dane