Forum: Mikrocontroller und Digitale Elektronik SPI: Atmel+ISP+SPI_slave


von Matthias L. (Gast)


Lesenswert?

Hallo.

Ich möchte mit einem mega8 eine SPI-Verbindung zu einem Slave 
herstellen.
Bei dieser Verbindung werden den Slave Daten gesendet 
(µC_MOSI=>slave_in) und zugleich Daten empfangen, also brauche ich auch 
die Rückleitung µC_MISO<=slave_out.

Wenn ich das allerdings so "hardverdrahte", dann wäre eine 
ISP-Programmierung unmöglich.
Wie kann ich das jetzt lösen, damit ISP trotzdem möglich ist?

Ist das richtig, das der ISP-Adapter beim Programmieren den Atmel im 
Reset-Zustand hält (also den Resetpin auf LOW) ??
Und sobald er das Programmieren/Lesen/Schreiben/Verifiziern vollständg 
erledigt hat, dann wieder auf High zurücknimmt?

Dann könnte ich damit paar Gates schalten, die diese Kollisionen 
verhindern..

Oder hat jemand schonmal sowas gemacht, und kann mir paar Tipps geben?

Danke schonmal

von matze (Gast)


Lesenswert?

Verwende geeignete Widerstände (ich glaube größer 4,7K, bin mir aber 
nicht mehr ganz sicher) Dann kann beim Programmieren Reset auf Low 
gezogen werden bzw. die Ausgänge stören nicht.

von thomas-hn (Gast)


Lesenswert?

Verwende einen Analogmultiplexer (AFAIK z.B. der 4053) um die 
Signalleitungen umzuschalten. Als Signal um den Multiplexer zu schalten 
verwedest Du das Reset-Signal vom uC.
Im WWW gibt es hierzu auch zahlreiche Beispielschaltungen.

Gruß,

Thomas

von Profi (Gast)


Lesenswert?

Man kann doch die USART Pins als SPI benutzen. Dann könnte die 
ISP-Programmierung ganz normal ablaufen und es braucht keine 
zusätzlichen Bauteile.

von Paule (Gast)


Lesenswert?

Bei einem Mega8?

von Jörg X. (Gast)


Lesenswert?

Wenn der Atmega den Chip-select des Slaves steuert, reicht doch ein 
Pull-Up am \CS des Slaves, oder?

?! Jörg

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.