ATMega8 parallel programmieren, weil seriell nicht geht

Hallo!

Ich dreh so langsam durch.

Ich hab schon wieder ein ATMega8 Prototyp-Board gebastelt:

Schaltplan:

formatting link

Platine:

formatting link

Das serielle Programmieren funktioniert wieder nicht. Das wäre der dritte Prozessor, den ich beim Einlöten zerstört haben müsste- das kann ich nicht glauben!

Auf der Platine sind bis jetzt nur die Brücken, sowie R2, R3 und R4 bestückt, aber das sollte ja nichts machen.

Ich habe auch mal das Oszilloskop auf die Signale angesetzt:

Resetsignal:

formatting link

Miso:

formatting link

Mosi:

formatting link

Auf dem Bus ist auf jeden Fall etwas los, sieht für mich aber irgendwie komisch aus.

So, jetzt will ich es mal parallel versuchen, STK500 ist vorhanden. Meine Frage:

Sind die PJUMP-Jumper dafür da, dass PROG DATA auf PortB[5:0] und PortC[1:0] aufgesplittet wird?

BSEL2 schließe ich an PC2 an. Dann greife ich vom STK500 den Oszillatortakt ab (XTAL1-Jumper) und leite diesen auf XTAL1. Genau so greife ich /Reset ab (PortC[6]) und gebe diesen auf Reset. Das sollte doch so gehen oder?

Danke, Heiko!

Reply to
Heiko Weinbrenner
Loading thread data ...

Tja, beim ATMega8 gibt es durch falsches Programmieren der Fuses gleich mehrere Möglichkeiten sich auszusperren und dadurch das serielle Pro- grammieren zu verhindern:

Reset-Fuse: Schaltet den Reset-Pin ab. Dann kann das serielle Protokoll nicht mehr ansetzen. SPIEN-Fuse: Schaltet das serielle Programmieren ab. Ohne Worte.

Mit den OSC-Fuses kann man ganz leicht auch den internen OSC stilllegen; das könnte man mit einem externen Takt aber kompensieren.

Ich weiß schon warum ich mir einen parallelen Programmer für das Ding ge- baut habe....

Wenn Du es mit einem 4. Exemplar seriell probieren willst würde ich endlich auf eine vernünftige Software umsteigen...

cu,

Aguja

formatting link
=> Free AVR-, PIC- & 8051-Programmers, Apps & more * neu:Forum

Reply to
Aguja

Zunächst fällt mir auf, daß du die leitungen an XTAL1 und 2 wohl noch an PORTB geführt hast. Muß denn die externe Takterzeugung sein ? Tut die denn ihren Zweck ? Der ATMEGA8 hat doch eine interne Taktquelle bis 8 MHz (ab Werk auf 1 MHz gestellt).

Als nächstes fällt mir auf, daß die Leitung an PC6/Reset keine beschriftung hat. Das muss zwar bei EAGLE-CAD nicht unbedingt sichtbar sein, die Leitung muss aber einem Netz zugeordnet sein.

Könnte es sein, daß Deine Schaltung kein reset vom ISPCON kriegt. Dann könntest Du glaube ich generell nicht programmieren. Meines Wissens muss RESET während der ISP-programmierung LOW sein.

Gruß Nico

"Heiko Weinbrenner" schrieb im Newsbeitrag news:412ddf0a@news-fe-01...

Reply to
Nicolas Nickisch

Heiko Weinbrenner schrieb:

[AVR isp-Probleme]

Hi

da aus MISO was rauskommt würde ich mal tippen das deine Programmiersoftware irgendwie nicht richtig will. Was verwendest du denn?

Außerdem erscheinen mir die 4,7k Serienwiderstände dann doch etwas hoch.

--
Matthias Weißer
matthias@matwei.de
http://www.matwei.de
Reply to
Matthias Weißer

Nicolas Nickisch schrieb:

Hallo!

Extern ist um einiges genauer, besonders wenn man über 1MHz geht.

Reset ist durchgeroutet.

Danke!

MfG, Heiko.

Reply to
Heiko Weinbrenner

Aguja schrieb:

Ich hab den noch nie vorher programmiert, der kam so aus seine Verpackung (wie die anderen Beiden vorher auch).

Ich hab einen gekauft.

STK500 und AVRStudio halte ich für sehr vernünftig...

Danke!

MfG, Heiko.

Reply to
Heiko Weinbrenner

Matthias Weißer schrieb:

Hallo!

AVRStudio an STK500.

Ist aus einem ATMEL Design Guide (DOC2521).

Danke!

MfG, Heiko.

Reply to
Heiko Weinbrenner

Wie lang ist dein Programmierkabel? Clock scheint sehr empfindlich zu sein. Bei mir hat es sich so ausgewirkt daß beim lesen die gelesenen Daten der Adresse entsprachen.

Ein 390pF Kondensator zwischen Clock (in deinem fall vor dem R auf der PC- seite) und Masse hat das Problem gelöst. Auch ein nur 30 cm langes passives Kabel funktionierte.

p.s. Hast su geprüft ob der Oszilator sauber schwingt. Lange Leiterbahnen können da schon stören.

--
MFG Gernot
Reply to
Gernot Fink

"Heiko Weinbrenner" schrieb im Newsbeitrag news:412ddf0a@news-fe-01...

Das ist mir mit meinen 2 AtMega8 noch nie passiert. Gibt es einen bestimmten Grund, warum du keine Sockel verwendest ?

Reply to
Jens Welbert

Jens Welbert schrieb:

Hallo!

Weil meine in TQFP32 sind :)

MfG, Heiko.

Reply to
Heiko Weinbrenner

Am 26.08.04 15:00 schrieb Heiko Weinbrenner:

Programmierst du über einen RS232-Programmieradapter? Als letzte Lösung hat bei mir da nur noch ein Max232 als Treiber geholfen, wobei ich allerdings sagen muss, dass mein Kabel vom Rechner 4 Meter lang ist.

Gruß Michael

Reply to
Michael Kamper

Matthias Weißer schrieb:

Hallo nochmal!

So, hab das ganze jetzt mal auf gut Glück parallel angeschlossen- das ging! Da war ich schon einmal beruhigt. Dann habe ich mir alle Fuses angesehen- alle waren für serielles programmieren richtig eingestellt. Also hab ich jetzt durch trial and error herausgefunden, dass der

4,7kOhm Widerstand an MISO wohl zu hoch ist! Da ist der Mega8 wohl zu schlapp.

Aber ich bin doch nicht doof- 4,7k steht im design guide

formatting link

Jetzt, wo ich es nochmal lese, weiß ich aber nicht mehr so recht, ob die Widerstände dort richtig sind... Soll nun der "Programmer" direkt an den AVR und die anderen "Devices" mit Widerständen "angekoppelt" werden oder soll der "Programmer" über die Widerstände angekoppelt werden?

Danke nochmal für den Hinweis!

MfG, Heiko.

Reply to
Heiko Weinbrenner

Michael Kamper schrieb:

Hallo!

STK500.

Jetzt geht es, der Grund ist in der zweiten Antwort auf Matthias Weißers Posting zu finden. Eine Erklärung wäre jetzt noch fein :)

Danke an alle!

MfG, Heiko.

Reply to
Heiko Weinbrenner

Heiko Weinbrenner schrieb:

Also ich lese das so das der Programmer direkt an den AVR kommt und der SPI-Bus über die 4,7kOhm Serienwiderstände entkoppelt wird.

--
Matthias Weißer
matthias@matwei.de
http://www.matwei.de
Reply to
Matthias Weißer

Matthias Weißer schrieb:

Wenn man ein wenig darüber nachdenkt, dann ist das auch irgendwie ersichtlich...

Außerdem bestätigt sich das jetzt auch bei meinem ATMega64 Board- es läuft jetzt :)

Gut, dann stelle ich mich jetzt noch ein wenig in die Ecke!

Danke für eure Hilfe!

MfG, Heiko.

Reply to
Heiko Weinbrenner

snipped-for-privacy@despammed.com (Aguja) schrieb:

Die kann man aber nicht via ISP programmieren (wohl aber via JTAG, oder eben parallel).

--
Jörg Wunsch

"Verwende Perl. Shell will man können, dann aber nicht verwenden."
				Kristian Köhntopp, de.comp.os.unix.misc
Reply to
Joerg Wunsch

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.