www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Datenaustausch zwischen mehreren AVR's


Autor: nicknamemissing (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Nachmittach

Ich hab jetzt schon Google genutzt und das Forum durchstöbert, find aber 
trotzdem nicht das was ich suche.
Zu mir: Grundbefehle von AVR kann ich langsam denke ich (hoffe ich :D)

Zur Sache:

Eigendlich möchte ich ein ATmega32 mit mehreren (um die 10) AVR's 
(Atmega16 oder so in der Art)
Die Geschwindigkeit ist eigendlich relativ egal.

1) wäre es möglich für eine Verbindung nur 2 anschlüsse zu Benutzen 
(also damit 4 AVRS an einen Port passen)

2) wie macht man sowas am Besten?

danke schonmal

MFG nicknamemissing

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Soll jeder mit jedem oder einer der Master sein?

Master ist einfacher, z.B. über die UART.

Bei kurzer Leitung mußt Du alle TXD der Slave UND-verknüpfen und an RXD 
des Master.
Und TXD des Master geht an alle RXD der Slaves.
Jeder Slave kriegt ne eigene Adresse (9Bit-Mode).

Bei langen Leitungen brauchst Du Treiberchips, die sich sendeseitig 
parallel schalten lassen, z.B. PCA82C251. RS485-Treiber benötigen 
dagegen ein extra Umschaltsignal.


Peter

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
RS485 Treiber und Usart.

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie weit sind die Controller voneinander entfernt? Bei welchem Tempo?

Hat einer von denen den Hut auf und fragt alle anderen ab (single 
master), oder sollen alle unkoordiniert rumbrüllen können (multi 
master)?

Autor: nicknamemissing (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die AVR sind durchschnittlich 5m  voneinander wech. Der ATmega32 (A) 
soll als Zentrale fugieren der die Werte die die anderen AVRs (B bis  ma 
gucken)  hintereinander auf Befehl abfragt.

B bis ... sind immer einmal mit A verbunden aber nicht untereinander 
vernetzt

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann die erwähnten PCA82C251 (oder PCA82C250) als Treiber verwenden und 
mit UART verbinden. Physikalisch wird dann die Technik vom CAN Bus 
mitverwendet, was der einfachste Weg ist (einfacher als RS485, wird 
dadurch aber kein CAN-Bus).

Dementsprechend idealerweise alle an einem Bus, nicht Stern, und 120 Ohm 
Abschluss an beiden Seiten. Aber wenn Tempo gering (<<100Kbps) und Länge 
im 5m Bereich, dann ist auch ein Stern ok, mit Abschluss nur am Master 
und Widerstand 33K an Rs vom Transceiver.

Autor: Philipp M. (nicknamemissing)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ôO öhm :D

gibt es dazu irgendwie eine Anleitung o.ä.? oder einen 
Beispielschaltung?

im Datenblatt  Link: 
http://atlas.web.cern.ch/Atlas/GROUPS/DAQTRIG/DCS/...

auf Seite 9 ist ich glaube ein Beispiel, aber so ganz fertig werde ich 
damit nicht :/

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die AN passt schon mal gut und Seite 9 auch. Vref kannst du offen 
lassen. Und Rs kannst du gegen GND schalten, es sein denn du willst den 
Transceiver zum Stromsparen abschalten können.

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zum Verständnis des Busses auch ganz nützlich: Microchip AN228. Wie auch 
bei der von Philips zählt davon nur die Verdrahtung und die Pegel, den 
Kram mit Timing, maximaler Länge usw kannst du überspringen weil der 
Teil nur auf echtes CAN zutrifft.

Autor: Philipp M. (nicknamemissing)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Weiter weiss ich nicht (wobei ich denke das Das eh falsch ist^^)

im Algemeinen weiss ich nicht mal wie ich mit dem PCA82C250 umgehen muss 
(ich bekomms mit meinen nicht so super Englischkenntnisen auch nicht 
rausgelesen...)

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Philipp M. wrote:
> (wobei ich denke das Das eh falsch ist^^)

Würde ich auch denken, wenn ich mir mal die Zweitbedeutung von PD0/PD1 
ansehe.

RS an GND wurde ja schon gesagt.


Peter

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die UART Pins sitzen ja wohl woanders.

> RS an GND wurde ja schon gesagt.

Aber über Widerstand 33-47K um nicht so steile Flanken durch die Gegend 
zu spucken. Ist einfach höflicher und bei Sternverkabelung auch nicht 
unwichtig.

Autor: Philipp M. (nicknamemissing)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok stimmt wiederstände nicht eingeschaltet mich selber schlag

Zitat: "Und Rs kannst du gegen GND schalten, es sein denn du willst den
Transceiver zum Stromsparen abschalten können."
ja das muss ich (alles gnadenlos auf Energiesparen ;) )

Dann kommt TxD an TxD und RxD an RxD (also PD1 und PD0). Und wo kommen 
dann CANH und CANL ran?

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.