Atmega128 Probleme beim Programmieren

OP #1218327
Lesenswert?

Hallo,

ich habe probleme beim Programmieren meines Atmega128. Nein Mosi und 
Miso sind richtig angeschlossen, ich kann sowohl die Fuses lesen als 
auch flashen. Einmal hab ich sogar ein Programm mit 522 bytes flashen 
können.
Alles was größer ist wird laut avr studio korrekt geflasht, jedoch beim 
verivizieren geht die Verbindung zum Gerät verlohren. Woran kann das 
liegen? das einfach so die Verbindung abbricht?
Achja und die größeren programme funktionieren dann auch nicht.

Danke schonmal

Sönke
#1218348
Lesenswert?

Sönke Paschko wrote:
> jain, ja ich benutze ihn, in meinem testprogramm jedoch nicht. er ist
> auf der hardware momentan auch nicht verdratet, also das max232 ist noch
> nicht aufgelötet. softwareseitig hab ich ihn auch nicht initialisiert.

Darüber sollte er programmiert werden. Ich wollte nit wissen ob du ihn 
in deinem Testproggis benutzt.
OP #1218349
Lesenswert?

Was sollte man den für fuses setzen, können da probleme entstehen? habe 
einen externen Quarz und nehme bei sut_CKSEL Ext. Crystal/Res. High Freq 
Startuptime 16k ck + 64 ms

ansonsten ist noch spien; jtagen; und M103C markiert.

und ja ich nutze uart0 zum programmieren.
OP #1221628
Lesenswert?

hallo,

das ist ganz komisch, ich habe das jtag disabled, er lässt sich nicht 
programmieren, bzw. bricht beim Lesen ab. das korrekte programm ist in 
keinem fall im Flash.

Folgende Fuses sind nun gesetzt:

M103C
SPIEN
BOOTSZ size=4096 Adress=$F000
Brown-out at VCC=2.7V
Ext. Cristal/Res High Freq Startuptime 16k CK + 64 ms


Die Leitungen sind direkt mit dem Atmega verbunden ohne Widerstand und 
ohne andere Verbraucher o.Ä
Gast #1221647
Lesenswert?

>Folgende Fuses sind nun gesetzt:

>M103C

Die M103C Fuse besser nicht setzen.
Hat mit deinem Problem aber vermutlich nichts zu tun.

>Brown-out at VCC=2.7V

Setz den Brown-out auf den höchsten Wert.

Was könnte jetzt noch alles faul sein:
ISP Frequenz zu hoch
Dein ISP Prommer taugt nichts
Schaltung faul
Chip defekt

In der Reihenfolge mal abchecken.
Gast #1221707
Lesenswert?

>holger wrote:
>>>Folgende Fuses sind nun gesetzt:
>>
>>>M103C
>>
>> Die M103C Fuse besser nicht setzen.
>> Hat mit deinem Problem aber vermutlich nichts zu tun.
>>
>Wohl kaum
>http://www.mikrocontroller.net/articles/AVR_Checkl...

Die M103C Fuse macht sich erst bemerkbar wenn
das Programm geflasht werden konnte und dann auch losläuft.
Abstürze und andere Sachen passieren dann.
Beim ISP Verify sollte sie eigentlich noch nicht stören.
Aber ich lass mich gerne eines besseren belehren ;)
OP #1221870
Lesenswert?

Hallo, ich nutze das stk500 zum programmieren, haben entsprechend die 
brown out auf 4v gestellt, leider gibts keine verbesserung. die ISP 
frequenz scheint  eher zu langsam, ich hab die höchste mögliche 
eingestellt (1,... mhz) wenn nötig kann ich die schalung mal posten, das 
der chip defekt ist glaub ich weniger, kann natürlich sein, aber wie 
gesagt, ganz kleine Programme lassen sich flashen.

Ich hab die Schaltung mal angehangen, sie ist nicht ganz ideal, nur 
leider schon geätzt. Kann es an den fehlenden Kondensatoren vor dem uC 
liegen?

PS Das Max IC ist nicht bestückt, also kann es da keine Probleme geben.
Angehängte Dateien:
Gast #1221914
Lesenswert?

Da fallen mir dann doch noch ein paar andere
Dinge in deinem Schaltplan auf:

Am MAX232 fehlen auch noch Abblockkondensatoren.
Und dann der Display Anschluss. Da sind zwei Potis
zu sehen. Eins davon wird wohl für den Kontrast sein.
Das andere für eine Hintergrundbeleuchtung?
Dann wird ein 78L05 möglicherweise nicht mehr
ausreichen.
OP #1222073
Lesenswert?

Laut meiner Rechnung schon, wobei das hart an der Grenze ist.

so nun, nachdem ich die Kondensatoren ergänzt habe, läuft es ab und zu 
durch (bis jetzt 2 mal von ca. 15 mal) und sagt: Code ist richtig 
geflasht. Leider resettet sich der uC jetzt aber andauernd sodass der 
code nicht richtig ausgeführt wird. (Irgendwo beim initialisieren des 
Displays, das passiert auch, wenn garkein Display angeschlossen ist.)

Die Kondensatoren hängen direkt an den Pins, näher geht nicht.
Gast #1222170
Lesenswert?

Als naechstes wuerde ich die 9V Versorgung abnehmen, die 5V ueber das 
ISP-Kabel (PIN2) vom Stk500 versorgen (keie Peripherie ausser LCD  .. 
das duerfte nur ein paar milli ziehen).  Den Kurzschlussstecker auf 
"VTARGET" stecken.
Vor dem Programmieren die ISP sehr niedrig setzen und den chip loeschen 
alle Speicherbeschraenkungen aufheben und die fuses richtig setzen. 
Nicht vergessen den 8-Teiler zu entfernen. Die Uebertragungsrate vom 
Computer zum Stk500 sollte auch stimmen. Danach ISP Frequenz hoch setzen 
(muss ueber 5Khz sein).Quellendatei anwaehlen und programmieren. Wenn 
ein Voltmeter vorhanden ist, solltest Du die 5V im 
Gleichspannungsbereich messen. Wichtig aber auch, auf Wechselspannung an 
den 5V zu messen (sollte nicht hoeher als 100-300 Millivolt sein. 
Brownout disable fuers erste!
Der andauernde RESET im Programm kann aber auch mit einer zu geringen 
Stackdefinierung zusammen haengen (mit zu vielen subs oder calls fuer 
den stack). Wenn auf der Schaltung ein zu hoher Stromverbrauch ist, 
siehst Du das, wenn das LED auf dem STK500 dimm wird......ausschalten.
Manchmal gehen Kondensatoren langsam kaputt.. Bei stromlos mit Ohm-Meter 
messen.
Hoffe es hilft etwas
Hubert
(Firma: Nisch-Aufzüge) Persönliche Seite #1222174
Lesenswert?

@ Sönke
sollte das noch immer nicht laufen, ins datenblatt schauen.

Der 128er wird nicht über MISO MOSI geproggt!
sondern über  PDI (ProgramDataIn Pin 2) und PDO (ProgramDataOut Pin 3)
des weiteren ist PEN (Programm Enable  Pin 1) zu setzen

http://www.atmel.com/dyn/resources/prod_documents/2467S.pdf

Ich habe das schon zigmal gemacht funzt ganz normal.
Solltest du mehr Hilfe benötigen so melde dich.
Gast #1222286
Lesenswert?

Die Beschreibung im Datenblatt für den PEN ist sehr unglücklich. Daher 
hatte ich bei meinem ersten Design den PEN auf L gelegt, was in etwa zu 
dem hier beschriebenen Verhalten führte. Jetzt floated der Pin und alles 
ist gut.
OP #1222444
Lesenswert?

"PEN is a programming enable pin for the SPI Serial Programming mode. By 
holding this
pin low during a Power-on Reset, the device will enter the SPI Serial 
Programming
mode. PEN has no function during normal operation."

Wie soll ich das machen? zum Programmieren nen Jumper setzen? wie muss 
er beschaltet werden, wenn ich im normalen modus bin? mit vorwiderstand 
an VCC oder ohne oder wie?
Gast #1222622
Lesenswert?

hier nochmal der Schaltplan, ist damals irgendwie nicht mitgekommen.
Du meinst ein Kondensator am Reset?

An welchen Pins soll ich denn noch Kondensatoren anbringen?

Aber wie gesagt, er lässt sich noch nichtmal zuverlässig programmieren.
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren