Forum: Mikrocontroller und Digitale Elektronik zwei Master im SPI-Bus?


von Simon T. (Gast)


Lesenswert?

Hallo zusammen,

ich möchte zwei ATmega8 und ein EEPROM an einen SPI-Bus hängen.
Es soll zwei Modi geben: Programmiermode und Normalmode.
Der eine ATmega soll nur aktiv sein im Programmiermode und Daten in das 
EEPROM schreiben. Im Normalmode soll der andere ATmega mit den Daten aus 
dem EEPROM arbeiten.

Ich müsste beide ATmegas als Master deklarieren und das EEPROM als 
Slave. geht das überhaupt?
PS: wenn ATmega Nr. 1 aktiv ist, soll ATmega Nr. 2 im Ruhezustand sein 
und umgekehrt.

Simon

von 0x53 0x54 0x45 0x46 0x41 0x4E (Gast)


Lesenswert?

Simon T. schrieb:
> Ich müsste beide ATmegas als Master deklarieren und das EEPROM als
> Slave. geht das überhaupt?
> PS: wenn ATmega Nr. 1 aktiv ist, soll ATmega Nr. 2 im Ruhezustand sein
> und umgekehrt.

Dann passt es doch. Wenn du jederzeit ausschliessen kannst, dass zwei 
Master gleichzeitig am Bus arbeiten, solltest du keine Probleme 
bekommen. Aber aufpassen: am jeweils inaktiven Master alle Bus-Pins auf 
Eingang schalten!

von Patrick (Gast)


Lesenswert?

... oder anders formuliert: "Wenn der Slave zum Master wird, muss der 
Master zum Slave werden" ;)

von Chris S. (hondaracer1)


Lesenswert?

Es gibt ja eine Multi-Master variante für SPI, aber ob der Controller 
die unterstützt weis ich nicht. Aber wenn du ohnehin sicherstellen 
kannst das immer nur 1 Master vorhanden ist, dann würde ich den Weg 
gehen.

von Simon T. (Gast)


Lesenswert?

ich kann es aber nur durch Software gewährleisten. Im schlimmsten Fall 
können bei falscher Programmierung beide Controller treiben und werden 
evtl. beschädigt.

von Uwe (Gast)


Lesenswert?

Mußt du halt die Ausgänge zu "Open  Collector" umbauen

MOSI   ------|<-------+------- MISO
                  |   |
MOSI   ------|<----   1K
                      |
                     GND

und SCK halt auch.

von Uwe (Gast)


Lesenswert?

Error : Muß natürlich Pullup rein

Mußt du halt die Ausgänge zu "Open  Collector" umbauen

MOSI   ------|<-------+------- MISO
                  |   |
MOSI   ------|<----   1K
                      |
                     VCC

und SCK halt auch.

von Uwe (Gast)


Lesenswert?

Arrgh

Error : Muß natürlich Pullup rein

Mußt du halt die Ausgänge zu "Open  Collector" umbauen

MOSI   ------|<-------+------- MOSI
                  |   |
MOSI   ------|<----   1K
                      |
                     VCC

und SCK halt auch.

von Hendrik (Gast)


Lesenswert?

gute Idee, Uwe. Aber mit dieser Methode immer die maximale Taktfrequenz 
im Hinterkopf behalten

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.