www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Rx Tx auf einer Ader mit R + D


Autor: Bernhard R. (b-r)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich suche eine Möglichkeit mehrere Controller über eine Leitung 
miteinander zu verbinden. Alle Controller sollen als Master 
kommunizieren dürfen.

Hardware:

MC 1           MC 2           MC 3

Rx  Tx  GND    Rx  Tx  GND    Rx  Tx  GND
 |   |   |      |   |   |      |   |   |
 |  ---  -      |  ---  -      |  ---  -
 |  \ / | |     |  \ / | |     |  \ / | |
 |  --- | |     |  --- | |     |  --- | |
 |   |   -      |   |   -      |   |   -
 |   |   |      |   |   |      |   |   |
 o---o---o      o---o---o      o---o---o
     |              |              |
     |              |              |
 ----o--------------o--------------o----- Daten

Software:

Jeder MC hat eine ID
Wenn MC1 senden möchte an MC3 wird die ID 3 und ein Befehlscode 
gesendet.
  Aufbau:
  Byte 1   Byte 2      Byte 3       Byte 4
  Send ID  Receive ID  Befehlscode  Control / ACK

Der gesendete Befehl wird am eigenen Rx gelesen und verglichen mit dem 
gesendeten Code. Wenn keiner reingepfuscht hat, sollte Rx und Tx gleich 
sein. Ansonsten wird nach einer Zeit nochmal gesendet.
Der Empfänger schickt als Antwort den gleichen Befehlscode zurück, nur 
statt ein Control ein ACK im Byte 4.

Habe leider kein Oszi um die Kommunikation zu überwachen, zu testen. Was 
meint Ihr, kann das funktionieren?

Erfinde ich das Rad neu, oder gibt es das schon?
Nebenbei: Nein, ich kann keine zweite Ader legen! ;-)

Bernhard

Autor: dummy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Nebenbei: Nein, ich kann keine zweite Ader legen! ;-)

Ohne Masse kannst du das gleich vergessen.

Autor: Bernhard R. (b-r)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Reicht GND über PullDown nicht?

Autor: dummy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Reicht GND über PullDown nicht?

Nein, GND aller Controller muß auch verbunden werden.

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
tja, der Ruhezustand von Rx und Tx ist H-Pegel..., zumindest wenn du 
(sinnvollerweise) auf Hardware-Uarts setzt.
Also: Dioden umdrehen, pullup statt pulldown.
Erwarte nicht zuviel von einer solchen Konstruktion. Ohne Treiber wird 
das schon hardwaremässig störungsanfällig, u.U. sogar gefährlich für die 
Eingänge.
Datenrate und Entfernung werden nicht sehr hoch sein.
Software wird aufwändig, neben Störungen musst du mit Kollisionen 
rechnen und damit klar kommen.

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ups, du willst wirklich nur eine einzige Ader verwenden?? Also keine 
Masse?
Naja....:-)

Autor: b-r (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich Trottel,

ich habe in jeder Unterverteilung einen MC, und die sind durch ein 
3-adriges Kabel mit einem Netzteil verbunden.

Also habe ich gemeinsamen GND.

MC 1                 MC 2                 MC 3

Rx  Tx  +5V  GND     Rx  Tx  +5V  GND     Rx  Tx  +5V  GND
 |   |   |    |       |   |   |    |       |   |   |    |
 |  ---  -    |       |  ---  -    |       |  ---  -    |
 |  / \ | |   |       |  / \ | |   |       |  / \ | |   |
 |  --- | |   |       |  --- | |   |       |  --- | |   |
 |   |   -    |       |   |   -    |       |   |   -    |
 |   |   |    |       |   |   |    |       |   |   |    |
 o---o---o    |       o---o---o    |       o---o---o    |
     |        |           |        |           |        |
     |        |           |        |           |        |
 ----o--------)-----------o--------)-----------o--------)----- Daten
              |                    |                    |
 -------------o--------------------o--------------------o----- GND

Was würdet Ihr für einen Treiber empfehlen um die Reichweite zu erhöhen?

Bernhard

Autor: Sven Stefan (stepp64) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Spendier jedem µC ein CAN-Treiber oder zumindest einen RS485 Treiber und 
verbinde sie darüber. Damit kommst du mit zwei Drähten aus und kannst 
ca. 500m überbrücken.

Sven

Autor: Hermann Gebhard (df2ds)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
wenn es eine langsame Übertragung sein darf, hilft vielleicht die gute 
alte Stromschleife weiter (auch als 20-mA-Schnittstelle oder 
TTY-Schnittstelle bezeichnet).
Einfach mal danach suchen, es gibt jede Menge Treffer (muss ja nicht 
gleich mit Potenzialtrennung und allem Komfort sein :-)

Gruß
 DF2DS

Autor: Bensch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schon mal an LIN-Bus gedacht?

Autor: b-r (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist LIN-Bus nicht nur Single-Master?

Autor: STK500-Besitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dem Schaltplan nach bietet sich irgendwas mit Open-Collector/-Drain an.
Wobei es sinnvoller wäre, CAN oder RS485 zu benutzen.

Autor: Bensch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ist LIN-Bus nicht nur Single-Master?

Eigentlich ja, aber mir ging es beim Vorschlag nur um die Hardwareseite. 
Man muss bei Multimaster immer Kollisionen per Software vermeiden. Geht 
also mit LIN-Bustreibern genauso gut wie mit jeder anderen Hardware.

Wir setzen LIN-Bustreiber ein und nehmen unser eigenes proprietäres 
Protokoll, da es wesentlich einfacher ist. Wir brauchen den ganzen 
Funktionsumfang nicht.

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Single Wire CAN wäre eine Lösung.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.