Forum: Mikrocontroller und Digitale Elektronik ISP/SPI Programmierung


von Hans (Gast)


Lesenswert?

Hallo
Hab mal ne dumme Frage:
Wie ist das mit der ISP/SPI Schnittstelle
Ich hab gelesen man muss erst die Ports vom MC auf die miso,mosi,sck 
programmieren.
Wie soll das funktionieren wenn man doch ISP braucht um den MC zu 
preogrammieren?

von Horst (Gast)


Lesenswert?

Hans schrieb:
> Wie soll das funktionieren wenn man doch ISP braucht um den MC zu
> preogrammieren?

Du mußt entweder dafür sorgen, daß die Bauteile am SPI passiv sind, wenn 
Du ISP benutzt (Reset benutzen) oder Du verwendest Widerstände in den 
Leitungen um die zu entkoppeln.

von Hans (Gast)


Lesenswert?

noch ne Frage:
Wenn der MC zwei SPI schnittstellen hat, welche muss man dann benutzen 
um den MC zu programmieren?
(Hab im Datenblatt nix zu isp gefunden)

von nachfrage (Gast)


Lesenswert?

Hans schrieb:
> (Hab im Datenblatt nix zu isp gefunden)

In welchem Datenblatt nichts dazu gefunden?

von Schlaumeister (Gast)


Lesenswert?

nachfrage schrieb:
> In welchem Datenblatt nichts dazu gefunden?

Vermutlich im Datenblatt Kein_AVR_Controller.pdf

von Axel S. (a-za-z0-9)


Lesenswert?

Hans schrieb:

> Wenn der MC zwei SPI schnittstellen hat, welche muss man dann benutzen
> um den MC zu programmieren?
> (Hab im Datenblatt nix zu isp gefunden)

In "ISP" und "SPI" sind zwar die gleichen Buchstaben drin, trotzdem ist 
es nicht das gleiche. Und eine SPI-Schnittstelle kann zwar für ISP 
benutzt werden wie z.B. bei den ATMega µC, muß aber nicht. Die XMega 
z.B. haben auch SPI, benutzen für ISP aber zwei ganz andere 
Hardware-Pins und das PDI Protokoll.

Was deine erste Frage angeht: die Pins die der µC für ISP benötigt, 
werden von der Hardware initialisiert, bspw. indem der µC im Reset 
gehalten und eine Signalfolge an den ISP-Pins angelegt wird.

: Bearbeitet durch User
von Bonzillo (Gast)


Lesenswert?

Falls bei einem AVR controller die MOSI, MISO, und SCK Pins fuer SPI und 
ISP identisch sind, muss man's mit dem CS und dem Reset machen.
Bei Programmieren ist naemlich Reset= low. Sonst ist Rest immer = high.

Und ja, generell gilt, es gibt ein Leben vor dem Laufen des 
erfolgreichen Programmes. Und falls in dieser Zeit das "Dazu" abraucht 
ist nicht gut.

Was machen die Pins, resp deren Aussenwelt, bevor das Programm richtig 
laeuft ?
Was machen die Pins waehrend des Resets ?

von Axel S. (a-za-z0-9)


Lesenswert?

Bonzillo schrieb:

> Was machen die Pins, resp deren Aussenwelt, bevor das Programm richtig
> laeuft ?

Sie nehmen ihren Default-Zustand ein.
Welcher das ist, steht im Datenblatt.

> Was machen die Pins waehrend des Resets ?

Auch das steht im Datenblatt. Der kanonische
Default-Zustand ist hochohmig (tristate).

von Stefan F. (Gast)


Lesenswert?

Die ISP Schnittstelle dient dazu, den Flash Speicher zu aktualisieren. 
Die entsprechenden I/O Pins arbeiten automatisch und immer im ISP Modus, 
während der Reset aktiv ist.

Wenn der Reset nicht aktiv ist, läuft das Programm. Und dass Programm 
kann dann wiederum bestimmen, wie es diese Pins verwenden will. Zum 
Beispiel als normale Ausgänge um LED's anzusteuern, oder als Eingänge um 
Taster abzufragen, oder als SPI Schnittstelle, um serielle Peripherie 
anzusteuern.

Der Reset Pin schaltet den AVR Mikrocontroller in den ISP Modus.

> Der kanonische Default-Zustand ist hochohmig

Ja, nur nicht bei der MISO Leitung, die ist beim Reset ein Ausgang.

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.