mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik kommunikation µc <-> µc


Autor: christian (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
nabend

habe mir mal gedacht über uart mehrere µc's zu connecten ist das ne 
optimale oder suboptimale lösung hat da jemand schon mal erfahrung 
gesammelt dat im anhang

christian

Autor: SGP (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn alle controller mit demselben clock synchron laufen waere eine 
synchrone kommunikation geeigneter.

Autor: JÜrgen Grieshofer (Firma: 4CKnowLedge) (psicom) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich würd das ganze als Bussystem (z.B. RS485) abstempeln...

Source glaub ich sogar in der code-sammlung

Autor: Ralph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Verwende SPI statt UART, das sollte besser und schneller sein

Autor: Christian Z. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Ralph

Das ist meiner Meinung nach keine gute Lösung, da kein Bradcast möglich 
ist und man für jeden µC eine /CS-Leitung benötigt.
Ich würde hier I2C (TWI) einsetzen -> 2 Leitungen, 127 Tln. Broadcast 
möglich usw.

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
es gibt schon einige schöne Lösungen mit UART.
Z.B. Kannst du das Ganze als Ring aufbauen (Tx an Rx des nächsten), 
jedes Datenpaket bekommt eine ID, für wen es bestimmt ist. Passt die ID 
nicht, wird es weitergeleitet, ansonsten herausgefischt.
Vorteil: jeder kann mit jedem reden, ohne dass eine Bus-Arbitrierung 
erforderlich ist, es können sogar z.T. gleichzeitige Kommunikationen 
ablaufen.
Nachteile: Zeitbelastung von Knoten, die aktuell mit der jeweiligen 
Botschaft gar nichts zu tun haben und Zeitverzögerung (im schlimmsten 
Fall geht eine Botschaft durch alle Knoten).
Auf Protokollebene kann man sich richtig austoben :-)

Autor: christian (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
moin

habe mal schon weiter gearbeitet und evtl. kleine fehler ausgemertzt 
habe es nur simuliert (woche kaum zu hause).
es ist nur zu testzwecken u. in der praxis ist mir die übertragungszeit 
ersmal egal weil ich hauptprogramm einfach den T/RXD manipuliere mal 
frage:
UART ist aktiv PIND=1, DDRD=1 ,PORTD=0 kann PORTD immer umschalten von 
0->1, 1->0????... weil ich quasi dadurch die syn. (CS-Leitung) mache u. 
in den anderen ctrl. einfach dann den TXD abfrage ob gesetzt wenn ja 
dann gehe in empfangsmode.

************************************************************************ 
****
ich würd das ganze als Bussystem (z.B. RS485) abstempeln...

weitere IDEE mit Master wenn z.b. ein andere ctrl. daten hat sende zu 
master u. vom master zu den XXslave is nur sone idee

************************************************************************ 
*****
gibts ne begrenzung an teilnehmer für die R/TXD-kommunikation????

************************************************************************ 
*****
SPI statt UART, das sollte besser und schneller sein

habe mich erstmal nur mit der uart beschäftigt aber vorschlag angenommen

Autor: Georg C. (citkid)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
christian wrote:
> gibts ne begrenzung an teilnehmer für die R/TXD-kommunikation????
An jede UART darf nur eine Gegenstation angeschlossen werden. Also 
Ringleitung bedeutet für jeden µC zwei UARTs. Besser ist also TWI. An 
TWI kannst du alle Tln. (max. 127) miteinander verknoten.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Also Ringleitung bedeutet für jeden µC zwei UARTs.

Nö, das geht auch mit einer. Rx und Tx gehen an unterschiedliche 
Controller:

                                              +----
  +-------------------------------------------|Tx
  |                                           |    PC
  |  +-----+  +-----+  +-----+  +-----+  +----|Rx
  |  |     |  |     |  |     |  |     |  |    +----
 +----+   +----+   +----+   +----+   +----+
 |R  T|   |R  T|   |R  T|   |R  T|   |R  T|
 |x  x|   |x  x|   |x  x|   |x  x|   |x  x|
 |    |   |    |   |    |   |    |   |    |
 |µC1 |   |µC2 |   |µC3 |   |µC4 |   |µC5 |
 +----+   +----+   +----+   +----+   +----+

Einen etwaigen PC kann man so auch in den Ring hängen.

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
so meinte ich das :-)

Autor: christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
moin

danke für die infos werde da mal gucken ob ich die kommunikation 
hinkriege werde mich wieder melden wenns klappt oder probleme auftreten

christian

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.