Forum: Mikrocontroller und Digitale Elektronik Parallel-Programmer


von Christof Krüger (Gast)


Lesenswert?

Hallo,

ich bin neu auf dem Gebiet der µC und habe mir einen Atmel 162
zugelegt. Blöderweise bin ich auch in die PonyProg-Falle getappt und
habe Fuses  falsch programmiert, so dass ich jetzt leider nicht seriell
prommen kann (das einst aufgespielte Programm läuft aber). So wie es
scheint, kann ich die entsprechenden Fuses jetzt nur mit einem
parallel-prommer zurücksetzen. Dazu habe ich im Internet folgende
Schaltung gefunden:
http://elm-chan.org/works/avrx/avrxp.png
Kann das funktionieren? Die 12V würde ich extern anlegen (wie kritisch
ist denn die Spannung? Muss sie genau 12V sein, oder gibts da einen
Spielraum?) Das Schieberegister würde ich mit einem CPLD realisieren,
da hab ich hier auch einen von liegen.
Sind die ganzen Widerstände an den Datenleitugen wichtig? Ich will
keinen perfekten Prommer haben, sondern jetzt einmalig die Fuses
richtig stellen und dann vorsichtiger beim seriell-Programmieren sein.
Was ist das für eine Diode links im Bild? Zener? Brauch ich die
unbedingt? Habe leider sowas nicht in meinem Bastelkasten.

Viele Fragen.... ich hoffe, es kann sie mir jemand beantworten. Wenn
Ihr meint, dass das klappen kann, dann würde ich mich nämlich ans
Basteln wagen.

Gruß,
 Christof

von Christof Krüger (Gast)


Lesenswert?

(Atmel162 soll natürlich ATmega162 sein)

von Gunter (Gast)


Lesenswert?

Hi,

keine Ahnung, ob der funktioniert.
Daß meiner funktioniert weiß ich jedoch.

http://www.e-lab.de/downloads/diverse/ParProg2.zip

Kannst Du sicher leicht für den '162 modifizieren.
Wenn Du das Programm anpaßen willst, reicht die kostenlose
Demo-Version des AVRco.

Schöne Grüße
Gunter

von Christof Krüger (Gast)


Lesenswert?

Lösungen mit einem zusätzlichen Controller habe ich auch schon mal
gesehen. Bei der Lösung, die ich oben erwähnt habe, liegt halt der
Vorteil, dass ich keinen zusätzlichen Controller zur Hand habe
(Reichelt konnte den ATmega16 nicht sofort liefern, wird also
nachgeliefert, und den ATmega128, den ich noch habe, will ich vorerst
noch nicht verwenden, da möchte ich mich erstmal noch besser in die
Materie einarbeiten... ausserdem wäre der zu schade für einen
Prommer).
Wenn ich es bis der ATmega16 nachgeliefert wird nicht hinbekommen
sollte, die Fuses vom 162er zu setzen, dann werde ich es wohl mit
Deiner Lösung versuchen.

Wenn jemand sonst meine Fragen beantworten könnte, dann wäre das für
meine Versuche sehr hilfreich! Danke!

von Klaus Leidinger (Gast)


Lesenswert?

Hallo Christof,

ich vermute mal, Du hast wie die meisten den Takt auf extetnen
Oszillator (statt Quarz) eingestellt. Die SPIEN Fuse kannst Du seriell
ja nicht zurücksetzten.

Es müsste also reichen, wenn Du einen externen Takt anlegst. (oder
einen Quarz beschalten, je nach dem, wie die Fuses gebrannt sind).

Ich hab meine AVRs mit einem Quarzoszillator beschaltet, und das
Programmieren funktioniert wieder.

Den Aufwand mit dem nachbau und anpassen des Parallel Programmers
kannst Du Dir dann sparen.

von Christof Krüger (Gast)


Lesenswert?

Ich weiss grad nicht, welche Fuses es bei diesem µC so gibt, so genau
habe ich mich (leider) noch nicht auseinandergesetzt.
Ich habe die Fuses ja total durcheinandergebracht, u.a. auch den Takt
auf extern gestellt, daher lief zunächst gar nichts mehr. Dann habe ich
einen Quarzoszillator aus einem alten Mainboard ausgelötet und diesen
angeschlossen. Damit lief zumindest schon mal das einst aufgespielte
Test-Programm ab (blinkende LEDs). Aber anscheinend habe ich dieses
SPIEN-Fuse falsch programmiert, so dass ich seriell immer noch kein
neues Programm aufspielen kann.

von Klaus Leidinger (Gast)


Lesenswert?

Hallo Christof,

hast Du den Quarzoszillator auch während dem Programmierversuch
angeschlossen? Der Takt wird ja zum programmieren benötigt.
Die SPIEN Fuse kann (zumindest beim Mega8) NICHT  mit der seriellen
Programmierung verstellt werden. Schau noch mal ins Datenblatt.

Ciao,
Klaus

von Christof Krüger (Gast)


Lesenswert?

Also ich hatte den Takt auf jeden Fall auch beim Programmieren an.
Du hast Recht, das SPIEN-Bit ist im seriellen Modus auch beim 162-er
nicht erreichbar, danke für den Hinweis. Allerdings frage ich mich nun,
warum es nicht klappt... ich werde das nochmal probieren.

von Christof Krüger (Gast)


Lesenswert?

Neue Theorie: Mein Programmer-Kabel ist zu lang. Da ich nun extern
takten muss, kann es ja sein, dass der externe Takt auf das
Programmer-Kabel überspricht, was ohne externe Taktung laut meiner
Theorie gerade kurz genug war, um logisch klare Pegel zu liefern. Durch
den externen Takt kommt jetzt nur Datenmüll an. Klingt das plausibel?
Mein Kabel ist ca. 22cm lang.

Da ich jetzt mein Kabel umbasteln wollte, habe ich eine Frage:
Druckerkabel am parallelport sind ja nicht nur 20cm lang und es
funktioniert trotzdem. Wo liegt das Problem bei so einem Programmer?

Würde es funktionieren, wenn ich erst ein etwas längeres Kabel habe,
dann einen 74F245 (die hab ich grad zur Hand) und dann noch ca. 10cm
zum Atmel?

von Sebastian (Gast)


Lesenswert?

Hab auch mal solche Probleme gehabt. Hatte mir erst den STK200 Dongle
mit dem HC244 gebaut. Alles Problemlos mit 2m Kabel. Irgendwann ging es
plötzlich nich mehr. Da hab ich mir dann 3 mal das Teil für PonyProg
gelötet. Es ging nicht. Weder 20cm Kabel noch 1m Kabel. Also hab ich
eines wieder auseinandergenommen und auf den Steckbrett aufgebaut. Es
läuft!! Erst kommt ein 2m Kabel von der Seriellen und dann noch 30cm
Kabel bis zum Atmel. Hab mir dann aber gleich die AVR910 nachgebaut und
nun gibt es selbst bei 4m keine Probleme. Zum Atmel sind es dann noch
30cm. Zurzeit versuche ich nur noch die Software des STK500 zum laufen
zu bringen und dann hab ich auch noch nen parallelen für sehr wenig
Geld. Das beste: Man kann den direkt mit dem AVR - SStudio nutzen.
Im Prinzip einfach probieren. Entweder es geht oder halt nich.

von Christof Krüger (Gast)


Lesenswert?

Ich baue mir das ISP-Kabel jetzt noch mal neu. Hatte den F255
"fliegend" montiert (also Kabel an pins), jetzt mach ich das mal
sauber mit einer Platine.

von Christof Krüger (Gast)


Lesenswert?

Jetzt habe ich den Programmer neu gebaut, schön sauber und mit kurzen
Kabeln, aber immer noch nichts...
Da ich ja theoretisch das SPIEN nicht mit Ponyprog mit SPI-Prommer
umstellen konnte, verstehe ich nicht, was es sonst noch sein könnte.
Hat da jemand noch eine Idee? was könnte ich noch umgestelle haben, wo
könnte sonst das Problem liegen?
Ich habe auch mal probeweise LEDs an RESET, MOSI, MISO und SCK gelegt,
um zu sehen was passiert. Das hatte ich auch damals, als es noch
funktionierte. Damals sah es beim Lesen des Devices so aus, dass MOSI
blinkte und MISO schnell pulsierte. Sah halt nach Datentransfer aus.
Jetzt blinkt MOSI 4x und es kommt NICHTS von MISO zurück :(

von Sencer Soylu (Gast)


Lesenswert?

Hallo,
ist diese Schaltung auch wirklich funktionsfähig?
Ich habe einen ATmega8515!
Und kann ich es mit der Software "PonyProg2000" ansteuern?
Danke.

von Sencer Soylu (Gast)


Lesenswert?

Habe den link vergessen!
Hier ist er:
http://elm-chan.org/works/avrx/avrxp.png

von Christof Krüger (Gast)


Lesenswert?

Der steht ja schon im ganz ersten Posting ;)

http://elm-chan.org/works/avrx/report_e.html
ganz unten, der vierte link von unten. Wird wohl aber nur unter DOS
funktionieren, wenn ich das richtig verstehe.

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.