PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Unidirektionale ISP (8 Slaves)



goara
06.03.2009, 08:04
Hallo,

habe 8 atmegas, die daten an einen Master schicken sollen.
in die andere Richtung sind keine daten vorhanden.
Kann ich den Schaltplan dann so vereinfach?
http://www.dyyyh.de/robo2/midi/ISP_alt.PNG
master schickt puls an ersten slave, der schickt daten bei interupt los, gibt token an 2. weiter.... wenn der token am master angekommen ist liest er die noch vorhanden daten im puffer (falls er noch nicht fertig ist) und gibt dann wieder an den 1. Slave weiter...
Oder ist da ein Denkfehler??

uwegw
06.03.2009, 08:42
Prinzipiell könnte das so funktionieren. Natürlich muss jeder inaktive Slave den MISO-Pin hochohmig schalten, um die anderen nicht zu stören. Und es solllte ein Timeout eingebaut werden, damit das System nicht hängt, wenn der Token unterwegs verloren geht.

goara
06.03.2009, 09:13
Danke für die schnelle Antwort,

hochohmig heist pin auf Eingang schalten oder wie kann man das sonst machen?
Das mit dem Timeout ist eine gute Idee.

uwegw
06.03.2009, 15:11
Ja, Pin auf Eingang, eventuell mit Pullup damit im Ruhezustand ein definierter Pegel anliegt.

PS: du verwendest SPI, beim AVR werden zwar dieselben Pins für die ISP-Schnittstelle verwendet, aber es ist was etwa anderes!