Forum: Mikrocontroller und Digitale Elektronik ISP ATtiny13


von Rudi D. (rulixa)


Lesenswert?

Bin gerade mit einem RC5 Übersetzer fertig, der die 5 Systembits und 
auch die 6 Command Bits  lt. Tabelle übersetzt. Brauchte ich für den DVD 
Rec. zur Satreceiver Steuerung. Funktioniert ausgezeichnet.

Habe das Lernpaket Mikrokontroller von Franzis mit ATtiny13.

Jetzt will ich wissen, wie die Übertragung des Programmes vom PC in den 
uC geht und finde in den Docs von Atmel Seite 98 ...can use any 
available data interface and associated protocol to read and write code 
into the program memory....  mehr finde ich nicht MOSI und MISO SCK ist 
klar, aber irgendeines (any) der möglichen Protokolle muss doch 
dahinterstehen.

Auf Lancos.com steht ja viel, auch welche PC Programme für diesen Zweck 
vorhanden sind in Linux und WIN.

Weiters findet man öfters, dass der Takt heikel ist. Wie passt das 
wieder mit "any" zusammen?
Vielleicht kann mir jemand einen Initialeinblick geben, oder wo was zu 
lesen ist, wie und welche Kommunikation während ISP stattfindet.
Also z.B. wie mach ich page erase, d.h. wie sagt der PC dem tiny13 den 
Z-pointer und schreibe 3 in das SPMCSR Register und das mit irgendeinem 
(von offenbar vielen) Protokoll, siehe oben.

Danke Rudi

von Sebastian E. (der_andere_sebastian)


Lesenswert?

Die Programmierbefehle und Daten werden über die SPI-Schnittstelle 
übergeben, der PC ist Master, der Mikro Slave. Im ausführlichen 
Datenblatt sollte das drinstehen. Macht aber eigentlich keiner per Hand. 
In der Praxis übernimmt das die Software auf dem PC (z.B. PonyProg, 
SI-Prog, AVRDUDE).

von yalu (Gast)


Lesenswert?

Das "any" bezieht sich auf die Programmierung mittels eines
selbstgeschriebenen Bootloaders.

Für die normale Programmierung über die ISP-Schnittstelle ist das
Protokoll vorgegeben und ebenfalls im Datenblatt (Abschnitt "Serial
Programming") beschrieben. Du brauchst dazu einen geeigneten
Programmieradapter und die PC-Programmiersoftware, die den Adapter
anspricht. Beides ist wahrscheinlich in deinem Lernpaket enthalten.
Das Protokoll musst du nur kennen, wenn du die PC-Programmiersoftware
selbst schreiben möchtest.

von Rudi D. (rulixa)


Lesenswert?

yalu wrote:
> Das "any" bezieht sich auf die Programmierung mittels eines
> selbstgeschriebenen Bootloaders.
>
> Für die normale Programmierung über die ISP-Schnittstelle ist das
> Protokoll vorgegeben und ebenfalls im Datenblatt (Abschnitt "Serial
> Programming") beschrieben. Du brauchst dazu einen geeigneten
> Programmieradapter und die PC-Programmiersoftware, die den Adapter
> anspricht. Beides ist wahrscheinlich in deinem Lernpaket enthalten.
> Das Protokoll musst du nur kennen, wenn du die PC-Programmiersoftware
> selbst schreiben möchtest.
Ja, ist alles im Lernpaket enthalten.

Selbst schreiben will ich die ISP-Software nicht, aber die Abläufe 
verstehen. Auf Seite 108 ist der Algorithmus etwas beschrieben.
Da steht wieder was von out of sync. Wie gibt es das, wenn SCK die clock 
vorgibt? Aber es ist auch kein I²C Protokoll, da kein acknowlege 
angegeben ist, obwohl MOSI ja Master out und Slave in bedeutet.

Hat vielleicht einer von euch ein kleines Basicprogramm oder ein Shell 
script für Linux. Das würde mir sehr viel Verständnis bringen, glaube 
ich zumindest.

Rudi

von Sebastian E. (der_andere_sebastian)


Lesenswert?


von Rudi D. (rulixa)


Lesenswert?

Sebastian E. wrote:
> Link: http://de.wikipedia.org/wiki/Serial_Peripheral_Interface

Ich danke euch Beiden.
In der Doc ist ab Seite 98 beschrieben, wie es geht wenn man einen 
Bootloader schon im uC hat, was aber nicht dabeisteht, sondern nur 
"Selfprogramming the Flash".
Ab Seite 108 ist dann das eigentliche ISP beschrieben, mit dem man u.a. 
einen Bootloader in den tiny13 hineinbringt via die "serial programming 
instruction set" Tabelle

Ich hab beide Dinge dauernd versucht miteinander auf gleich zu bringen, 
was natürlich nicht geht.

Jetzt ist alles o.k. und ich verstehe die Sache. Das Wiki ist auch sehr 
hilfreich.

Danke Rudi

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.