Forum: Mikrocontroller und Digitale Elektronik Verbinden gleicher Controller


von DigMaster (Gast)


Lesenswert?

Hallo.

Hier im Forum habe ich einiges zum Thema I²C Bus und Verbindung von 
Controllern über seirielle Schnittstellen etc. gelesen; aber leider 
keine Antwort auf meine Frage gefunden.

Angenommen mir reichen die Ausgänge eines AVR's nicht, und ich möchte 
auch nichts mit Multiplexern und Schieberegistern machen, sondern 
wirklich mehrere freie Ausgänge haben. Welche Möglichkeiten gibt es die 
AVR's (ATMEGA8) zu verbinden? Gibt es bei z.B. 3 ATMEGA8 einen Master 
und zwei Slave? Auf welchem Controller (oder auf allen?) muss dann das 
Programm liegen? (Das Programm soll Ausgänge von einem anderen AVR 
setzen). Geht das mit Adressierungen? (sende X an Controller Y)?

von Jürgen B. (hicom)


Lesenswert?

USART, SPI

von Memme (Gast)


Lesenswert?

Hm....
wie geht das? Oder besser: Was ist das?

von Memme (Gast)


Lesenswert?

Wenn Du das große Fragezeichen in meinem Gesicht sehen könntest... ;-)

von Christoph B. (christophbudelmann) Benutzerseite


Lesenswert?

Also die Begriffe musst du schon selber in die Suche eingeben. Bevor du 
dich mit drei Controllern beschäftigst, solltest du mal lieber einen 
Controller per UART bzw. RS232 an deinen PC anbinden. Beispiele gibt es 
in den Tutorials und der Codesammlung zuhauf.

von Sven J. (svenj)


Lesenswert?

Moin...

na und bei mir erst...

Also, ein µC funktoniert NICHT wie eine SPS wo es eine zentrale 
Steuerung und angehängte IOs gibt.

Ein "Master" kann sein Program ja gerne abarbeiten, einem ggf. 
vorhandener "Slave" ist das in erster Näherung ziemlich egal. Auf diesem 
muss ein eigenes Program laufen, das die Kommandos des zentralen µC in 
Empfnag nimmt und dann ausführt. Die Kommunikation kann zum Bleifisch 
über SPI oder eine UART, sprich seriell, erfolgen.

--
 SJ

von Dirk (Gast)


Lesenswert?

PCF 8574 per I²C bzw. TWI ansteuern..

Datenblatt und Atmel Application Note: AVR315 (auf der Atmel-seite)

Ich würde da erstmal noch keinen zweiten AVR nehmen wenn du einfach nur 
mehr ausgänge brauchst. Weil du den 2. (Slave) dann auch noch 
programmieren müsstest.. Und so wie es ausschaut hast du noch nicht 
allzu viel Ahnung ;)

von Peter D. (peda)


Lesenswert?

DigMaster wrote:

> Angenommen mir reichen die Ausgänge eines AVR's nicht, und ich möchte
> auch nichts mit Multiplexern und Schieberegistern machen, sondern
> wirklich mehrere freie Ausgänge haben.


Wenn Du denkst, ein Multiprozessorsystem ist einfacher als 
Schieberegister oder I2C-Expander, dann bist Du schief gewickelt.

Du mußt erstmal ein Protokoll entwicklen, es implementieren, eine 
Fehlerbehandlung, CRC, Retry usw. dazu, dann die Prozesse gleichmäßig 
aufteilen, und jedem MC sein eigenes Programm schreiben, dann alles 
testen und debuggen.
Dann ordentlich fluchen und alles in die Ecke schmeißen, weil so ein 
Mammutprojekt nie auf Anhieb funktionieren kann. Nur schade um die 6 
Monate, die Du bis dahin vergeudet hast.


Außerdem der ATmega2560 hat doch mehr als reichlich Anschlüsse.


Peter

von Reinhard R. (reirawb)


Lesenswert?

> Angenommen mir reichen die Ausgänge eines AVR's nicht,
> und ich möchte auch nichts mit Multiplexern und
> Schieberegistern machen...

Ich verstehe garnicht die Probleme, die hier einige
mit Multiplexern und Schieberegistern haben :-(
In diesem Thread ebenso:
Beitrag "Frage zur Funkuhr"
Das sind doch alles gängige Techniken. Vor allem
Multiplexen geht oft ohne spezielle Multiplex-ICs,
man kann das komplett den Prozessor machen lassen,
man kann dabei sogar noch Strom einsparen.

@DigMaster
Mich würden mal die Gründe interressieren, warum du
diese Techniken nicht anwenden möchtest.

Gruß Reinhard

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.