Atmel AVR - Kommunikation

Hallo Ihr,

Wie stelle ich mit den wenigsten Pinverbrauch und der minimalen Außenbeschaltung die Kommunikation zwischen 3 AVR's (z.B. AT90S....) her. Was mir bisher eingefallen ist, wäre ein I²C-Bus mit angeschlossenen RAM worauf alle 3 µC zugreifen. Müßte wohl funktionieren, oder?

Jürgen

Reply to
=?iso-8859-1?Q?J=FCrgen_Schulz
Loading thread data ...

Am Sun, 21 Dec 2003 13:49:16 +0100 schrieb Jürgen Schulz:

Außenbeschaltung

Warum mit Ram? Wenn Du eine Kollisions-Erkennung mit einbaust, kannst Du den I²C auch als Multimaster betreiben. Ist zwar glaub ich nicht Standard - aber wenn nur Deine 3 AVRs miteinander reden, mußt Du Dich ja nicht an den Standard halten... Wenn Deine AVRs nebenbei nix anderes machen (bzw. Du Dir beim Timing richtig Mühe gibst) kannst Du das sogar mit einer Leitung machen. Du kannst dann die Baud-Rate ja fest vorgeben und brauchst dann die Clock-Leitung nicht mehr.

gruß Michael

Reply to
Michael Trowe

Jürgen Schulz wrote: : Hallo Ihr,

: Wie stelle ich mit den wenigsten Pinverbrauch und der minimalen : Außenbeschaltung : die Kommunikation zwischen 3 AVR's (z.B. AT90S....) her. Was mir bisher : eingefallen ist, wäre ein I²C-Bus mit angeschlossenen RAM worauf alle 3 µC : zugreifen. Müßte wohl funktionieren, oder?

Les Dir mal im Datenblatt die Beschreibung des SPI Interfaces durch. Da ist explizit die Kommunikation mehrerer Prozessoren miteinander beschrieben.

Bye

--
Uwe Bonnes                bon@elektron.ikp.physik.tu-darmstadt.de

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
 Click to see the full signature
Reply to
Uwe Bonnes

Außenbeschaltung

Neben dem I2C, der nicht in allen AVRs drinne ist, bzw. war und der Lösung über den SPI-Bus, der dazu 4 Leitungen braucht, kannst Du auch den seriellen Port nehmen. Der ist nämlich ebenfalls Multimaster fähig und verfügt über ein Adressbyte, was Du für jede AVR getrennt zuordnen kannst. Damit kämst Du wieder auf 2 Leitungen und mußt im Gegensatz zum I2C nichts dazuentwickeln. Siehe Datenblatt der ATmegaXX Serie, Kapitel USART, Multi-processor Communications Mode.

Die Lösung I2C mit einem Shared-RAM ist ungünstig, weil Du damit wieder mehrere Master an einem Bus hast, was an sich nicht verboten ist, aber warum warten bis der eine geschrieben hat, was der andere lesen soll, wenn er es dem anderen auch direkt sagen kann?

Gruß,

--
Ulrich Prinz
----------------------------------------------------
 Click to see the full signature
Reply to
Ulrich Prinz

Außenbeschaltung

Wie wärs mit IIC und einem Master und zwei Slaves?

Thiemo

Reply to
Stadtler

Außenbeschaltung

Wenn OP nicht einen von den zwergen verwendet geht spi mit 2 slaves sehr gut. Die kleinen können das leider nur per softemulation. Das währe aber immer noch besser als IIC weil die START/STOPerkennung mahr Rechenleistung als alles vergleichbere verbraucht.

--
MFG Gernot
Reply to
Gernot Fink

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.