Forum: Mikrocontroller und Digitale Elektronik AVR SP12 ISP Programmer ?!?


von Thomas (Gast)


Lesenswert?

Hallo

Ich nutze einen ATmega8 µC um wieder ein wenig Boden unter den Füßen in
der µC Welt zu bekommen.

Soweit so gut. Ich programiere im AVR-Studio 4.x, teste meine Programme
dort, nehme das HEX-File und brenne es über "avrdude" (Juchu jetzt
auch mit GUI) in den Flash des µC. Auch noch gut :)

Mein Test-Board (www.myavr.de) hat über den Centronics-Port ISP
Funktionalität (ist das richtig ausgedrückt?).

Aber jetzt mal ganz ehrlich, ich habe keine Ahnung, was ich da mache.
Was ist SP12, was genau versteht man unter ISP (InSystemProgrammable),
wie schaut es mit MOSI etc. aus. Ich habe den nie vorhandenen Überblick
verloren.

Ich habe hier schon im Tutorial geschaut, sowie in Datasheets von Atmel
aber auch in anderen Tutorials (www.rowalt.de etc.).

Ich würde mich freuen, wenn mir das jemand erklären könnte.

Vielen Dank

Thomas

von Simon F (Gast)


Lesenswert?

Also OK...
was SP12 sein soll kann ich dir nicht sagen.
ISP ist eine möglichkeit einen µC (o.ä.) IM SYSTEM (d.h. ohne ihn in
ein separates programmiergerät zu stecken) beschreiben kann. Über den
ISP kann man den Flash, Das EEprom und die Fuses (Einstellungsbits des
µC) beschreiben. Das ISP muss natürlich auch über irgendeine
schnittstelle laufen und da kommt bei den AVRs SPI (Seriell) zum
einsatz. SPI besteht aus 3 Leitungen (MOSI, MISO und SCK). auf MOSI
(des µC) Empfängt der AVR die daten die über das ISP laufen. Auf MISO
antwortet er auf anfragen und der SCK dient als Takt. Nun muss man um
in den ISP modus zu gelangen den reset auf low setzen daher kommt noch
eine leitung. D.h. um ein Programm über den ISP in den µC zu übertragen
braucht man 4 Leitungen.

Nochmal kurz:
das ISP ist ein richtiges Protokoll, das auf dem SPI aufgesetzt ist.
(wie z.B. IP auf Ethernet ausgesetzt ist) SPI widerrum benötigt 3
Leitungen + 1 Reset. Über die funktionsweisen von SPI informierst du
dich besser wo anders.

MfG

PS: Darf ich fragen wie alt du bist ?

von Thomas (Gast)


Lesenswert?

Ja, darfst Du, 23 - aber warum fragst Du?

von Jahn (Gast)


Lesenswert?

Hallo Thomas,

SP12 ist eine weit verbreite Schaltung für einen ISP-Programmer von
Steve Bolt (hier mal quellen:
http://www.xs4all.nl/~sbolt/e-spider_prog.html,
http://rpmfind.net/linux/RPM/sourceforge/c/cd/cdk4avr/cdk-avr-avrdude-doc-sp12-4.3.0-20040229.i386.html)

Gruß Jahn
PS: eigentlich ist die Problematik bei ROWALT recht gut erklärt :-/
lies mal das hier (geht zwar nicht um SP12 aber um SPI/ISP):

http://www.myavr.de/download/myTinyProg.pdf

von Rufus T. Firefly (Gast)


Lesenswert?

SP12 (zumindest der xs4all-Link) ist somit die "beliebte"
Gurkenschaltung mit Serienwiderständen zwischen Parallelport und AVR.

Von der ist abzuraten.

Statt dessen sollte die Schaltung mit einem Treiberbaustein
(STK200/Kanda) verwendet werden, deren Schaltplan in der
Bascom-Dokumentation enthalten ist und außerdem von mir hier bereits
des öfteren gepostet worden.

von Thomas (Gast)


Lesenswert?

@Jahn, danke - das hat mir doch schon weiter geholfen.

@Rufus - ich werde mich auf die Suche nach dem Schaltplan begeben. Oder
mal bei eBay nach "STK200" suchen (jetzt hätte ich schon beinahe "bei
eBay googlen" geschrieben).

Ach nochwas, wenn ich so einen Adapter selber baue, sollte es doch
möglich sein, den eigentlichen Schreibvorgang über SCK auf eine LED zu
bringen, oder?

Vielen Dank

von Simon F (Gast)


Lesenswert?

Nur so, weil Du geschrieben hast: "wieder ein wenig Boden gewinnen"
klingt als du schonmal was mit µCs am hut hattest.

SP12 -> hab garnet gewusst das man die schlatung so nennt. die ging bei
mir nicht, dann hab ich die STK200 mitr den 74HC244 gebaut...die ging
super und das mit 1,5m kabel vom ISP bis zum Controller...für den
anfang ist die super geeignet und super einfach. Nur wenn der Code
etwas grösser wird treten machmal fehler auf. Ab 10 Kb ging bei mir
NICHTS mehr auch nach 20 Schreibvorgängen.
Dann sollte man sich einen AVR ISP zulegen...des Teil ist echt super!
Die investition lohnt sich auf jeden fall! (ca. 40 EUR, Reichelt).
Des Teil hat ne RS232 Schnitstelle und ist mit dem AVR Studio
kompatibel. d.h dein AVDDUDE wird überflüssig (wenn es auch als
kommandozeile und ISP TOOL für AVRGCC super geeignet ist).
Übrigends: wenn du dich grad einarbeitest, lass die finger von dem
Reset-Enable signal deines Mega8ers denn wenn du des umstellst, kann
der AVR nicht mehr resettet werden und Du kannst ihn somit nicht mehr
in ISP modus beschreiben. Dann heisst es High Voltage Programming und
dazu brauchst Du wider ein anderes gerät (z.B. STK 500 für rund 110
EUR)

Ich hoff, ich konnt helfen !
MfG

von Simon F (Gast)


Lesenswert?


von Thomas (Gast)


Lesenswert?

Hi

DAs STK500 habe ich gestern für 85€ bei eBay erstanden, allerdings
werde ich es wohl gleich wieder einstellen, denn mir fehlt der Nutzen
zur Zeit dazu - denke ich zumindest.

Das Teil von Reichelt werde ich mir mal anschauen. Ich nutze selber das
AVR-Studio - das wäre echt genial, wenn man so dann nur noch mit einer
Software arbeiten brauch.

Wie schaut es dort denn dann mit der EEPROM Programmierung aus?

Gruß

von Thomas (Gast)


Lesenswert?

Meinst Du bei Reichelt das "AT AVR ISP -> AVR Programming Tool"?

von Alex (Gast)


Lesenswert?

@Simon ... bei ner schaltung mit dem 74er treiber gibts probleme mit
größeren HEX-Files? PANIK ich wollt mir so einen adapter zulegen !?!?
:-/ also meine einfache SP12 Schaltung hat da noch nie Probleme gemacht
warum sollte die mit Treiberbaustein welche machen???? ist das nur bei
dir so oder generell? WARUM?

von Simon F (Gast)


Lesenswert?

Hi.
@Alex: Nein normalerweise geht das mit den größeren HEX files schon nur
denke ich ist mein Kabel dafür zu lange(1,5m). Ich denk mal wenn ich es
halbiert hätt, hät es funktioniert.

Thomas: Ja Genau das Teil ! Du kannst im AVR Studio natürlich ne datei
auswählen um auf das EEPROM zu schreiben. Also garkein Problem. Das AVR
Studio bring sowiso einen unglaubleichen komfort in sachen
Programmierung. z.B. kann man bei den Fuses nicht mehr viel falsch
machen, da alles in ner liste steht und man einfach die einstellungen
ändern kann. indem man z.B. einen hacken vor "8Mhz internal RC..."
setzt. einfach Genial !

MfG

von Thomas (Gast)


Lesenswert?

In der nächsten Zeit werde ich zum Experimentieren erstmal noch beim
avrdude bleiben, das ist eigentlich auch ziemlich Simpel, vorallem dank
dem GUI. Solange ich nicht über solche von Dir genannten Probleme
stolpere passt das eigentlich. Mit den Fuses habe ich noch nichts
gemacht, da muss ich mich erstmal einlesen - da weiß ich bisher nur,
dass ich auch Schreibschutz setzen kann.

Was mir beim AVR-Studio gefällt, dass ist die Test-Umgebung, einfach
fein - für eine Freeware, ich hoffe, das bleibt auch so als Freeware,
was ich mir auf Dauer kaum vorstellen kann.

Ach, nochmal wg. meinem Alter. Ich habe früher (mit 17 :)) ein 8051
Board gehabt, sowie auch wieder vor kurzem in der Techniker-Schule.
Nicht vergleichbar mit dem Atmega. Ich denke aber, dass ich mit dem
Atmega einen besseren Weg als mit einem 8051 (o. 8031) eingeschlagen
bin.

von Simon F (Gast)


Lesenswert?

@Thomas: Der Schreibschutz ist eigentlich ein Fuse mit dem man die ISP
Programmierung ausschlaten kann. Dies kann man allerdings nicht, wenn
man im ISP-Modus Programmiert (um aussperren zu verhindern). aber wie
bereits gesagt kann man sich durch das Reset bit (ist beim maga 8
vorhanden, beim mega16 nicht) aussperren. (dann kann man seinen
controller nur noch über eine andere Programmiermethode wieder ISP
fähig machen.
Dann kann man z.B. noch Leseschütze setzen um zu verhindern, dass
jemaan den Code "Klaut"...auch schreibschütze sind möglich allerdings
kann man diese durch ein Chip_Erase wieder auflösen.

Ja, das AVR Studio is schon was nettes ;) ich denk mal des wird schon
kostenlos bleiben, sonst bleibt man halt bei einer älteren Version.

MfG
PS: -> "Ich habe früher (mit 17 :))"
 Ich bin 17 ;)

von Rufus T. Firefly (Gast)


Lesenswert?

Betr. Kabellänge:

Wenn man denn schon lange Kabel verwendet, dann sollte das Kabel
zwischen PC und ISP-Adapter lang sein, nicht aber das zwischen
ISP-Adapter und AVR.

von Thomas (Gast)


Lesenswert?

Also, dann habe ich eine Frage an Dich - wenn Du 17 bist, womit
beschäftigst Du dich sonst noch? Scheinst recht Fitt auf dem Gebiet zu
sein.

Wie bist Du zu dem ganzen Zeug, Elektronik µC's hingekommen?

von Simon F (Gast)


Lesenswert?

Ja, aber ich hatt ein LPT stecker in den ich den 74HC244 so geschickt
reinquetschen konnte...und dann hab ichs halt so gamacht. Hat ja auch
funktioniert. Klar, dass es andersrum (technisch) "besser" gewesen
wäre.

von Simon F (Gast)


Lesenswert?

Main vater ist elektroniker...und dann hab ich halt mit so zeug immer
schon rumgespielt. Was ich sonst noch so mache ?
Ich Programmiere schon ein paar jahre in C / C++. Am Anfang Visual
Basic. Assembler beherrsch ich auch ein wenig. Mit PHP hab ich auch
schon einiges gemacht. Und halt µC Programmierung (hauptsächlich in C
und ein bisschen in ASM).
Mach grad ne Ausbildung zum Elektroniker und bin im ersten lehrjahr
(voll langweilig).
Wenn du noch fragen hast zu µCs, dann kannst mir auch ne mail
schrieben:
sf2005 [at] gmx [punkt] de

MFG

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.