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
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!
... oder anders formuliert: "Wenn der Slave zum Master wird, muss der Master zum Slave werden" ;)
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.
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.
Mußt du halt die Ausgänge zu "Open Collector" umbauen MOSI ------|<-------+------- MISO | | MOSI ------|<---- 1K | GND und SCK halt auch.
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.