www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Zwei AVRs über SPI programmieren


Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich habe in einem System zwei Atmel AVRs, die über SPI miteinander 
kommunizieren und die gleiche Stromversorgung haben. Ist es möglich 
weiterhin beide über den SPI Bus mit einem ISP zu programmieren ohne die 
Verbindung zu trennen? Kann man eventuell den zu programmierenden Atmel 
über die SS Leitung auswählen etc.?

VG
Markus

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Markus (Gast)

>weiterhin beide über den SPI Bus mit einem ISP zu programmieren ohne die
>Verbindung zu trennen?

Nicht ohne weiteres.

> Kann man eventuell den zu programmierenden Atmel
>über die SS Leitung auswählen etc.?

Nein.

MfG
Falk

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst sie höchstens über die Resets auswählen, wenn die getrennt 
sind. Das musste dann aber auch händisch machen (z.B. mit nem Jumper). 
\SS hat beim ISP keine Funktion.

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das mit der Resetleitung dürfte nicht funktionieren.
Man denke nur der eine AVR rennt los und aktiviert seine SPI Leitungen.
Am einfachsten dürfte sein jeweils einem AVR die
SCK Leitung abzuklemmen.

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wäre es dann möglich einen AVR über Reset "lahmzulegen" (z.B. über einen 
Kippschalter) und den anderen dann zu programmieren? Ansonsten sendet 
der eine ja munter weiter über SPI.
Naja muss ich mal ausprobieren.

VG
Markus

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ holger (Gast)

>Man denke nur der eine AVR rennt los und aktiviert seine SPI Leitungen.
>Am einfachsten dürfte sein jeweils einem AVR die
>SCK Leitung abzuklemmen.

Und rennt der dann nciht los?

Mann muss den inaktiven AVR vom Reset/ISP Stcker abtrennen und das Reset 
auf LOW halten (per Jumper). Dann passt das.

MfG
Falk

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
holger wrote:
> Das mit der Resetleitung dürfte nicht funktionieren.
> Man denke nur der eine AVR rennt los und aktiviert seine SPI Leitungen.
Hängt davon ab, was passiert, wenn er Müll empfängt. Wenn nichts 
schlimmes passieren kann, dann lass ihn rennen. Wenn natürlich vom 
Programmer zufällig der Befehl kommt, die Bombe zu zünden, dann sollte 
man sich ne andere Methode suchen.

> Am einfachsten dürfte sein jeweils einem AVR die
> SCK Leitung abzuklemmen.
Das ist eine weitere Möglichkeit.

Autor: Joerg Wolfram (joergwolfram)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
RESET des einen mit einem INT-Pin des anderen Controllers verbinden 
(über Kreuz). Die INT-Routine schaltet SPI ab und die PINS hochohmig und 
blockiert, bis das Programmieren des anderen Controllers abgeschlossen 
ist.

Gruß Jörg

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Mann muss den inaktiven AVR vom Reset/ISP Stcker abtrennen und das Reset
>auf LOW halten (per Jumper). Dann passt das.

Nein, das alleine reicht nicht. ISP passiert doch bei Reset low.
Wenn beide Resets low sind bekommen auch beide die ISP
Befehle mit. Wenn bei einem von beiden Reset high wird besteht
die Gefahr das bei einigen AVR die ISP Schnittstelle blockiert
wird, weil beim laufenden AVR evtl. das SPI Modul aktiviert wird.
Am besten ist beide in Reset zu halten, und dann jeweils bei einem
den Empfang der ISP Befehle zu verhindern. Dafür bietet sich SCK an.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.