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


von nicknamemissing (Gast)


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

von Peter D. (peda)


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

von Gast (Gast)


Lesenswert?

RS485 Treiber und Usart.

von Andreas K. (a-k)


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)?

von nicknamemissing (Gast)


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

von Andreas K. (a-k)


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.

von Philipp M. (nicknamemissing)


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/CANINFO/pca82c250appl.pdf

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

von Andreas K. (a-k)


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.

von Andreas K. (a-k)


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.

von Philipp M. (nicknamemissing)


Angehängte Dateien:

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...)

von Peter D. (peda)


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

von Andreas K. (a-k)


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.

von Philipp M. (nicknamemissing)


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?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.