mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Atmega128 Probleme beim Programmieren


Autor: Sonke A. (soeni)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Jean Player (fubu1000)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
benutzt du den USART0, also PE0, PE1 und PB1 ?

Gruß

Autor: Sonke A. (soeni)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Michael Wilhelm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und nicht zu vergessen das M103 Kompabilitätsbit.

MW

Autor: Jean Player (fubu1000)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Sonke A. (soeni)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Hubert G. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
JTAG muss disabled sein, um ISP (SPI) zu programmieren. Nichts an die 
Programmierleitungen anschliessen, das nicht durch Widerstaende getrennt 
ist.
Hubert G.

Autor: Sonke A. (soeni)
Datum:

Bewertung
0 lesenswert
nicht 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.Ä

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Teplotaxl X. (t3plot4x1)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ;)

Autor: Teplotaxl X. (t3plot4x1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ah!
Du hast uns dein Programmiergerät noch nicht verraten!
Oder ist nur die ISP-Frequenz SEHR nahe an der Grenze?

Autor: Sonke A. (soeni)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Kann es an den fehlenden Kondensatoren vor dem uC
>liegen?

JA.

Autor: Sonke A. (soeni)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
welche und wo sind da angebracht?

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>welche und wo sind da angebracht?

Ein 100nF keramisch bei VCC,GND und einer
bei AVCC,AGND. So dicht wie möglich ran an den Chip.
Und die ISP Frequenz auf 125kHz.

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Sonke A. (soeni)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Hubert G. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Winfried J. (Firma: Nisch-Aufzüge) (winne)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Winfried J. (Firma: Nisch-Aufzüge) (winne)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
PS. habe mir deinen Schaltplan angeschaut PEN (Pin0) ist nicht belegt 
floatet also! Den solltest du zum Proggen verbinden

Autor: Bensch (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Sonke A. (soeni)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
auf was soll ich denn den Pin legen (PEN) ? VCC?

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>auf was soll ich denn den Pin legen (PEN) ? VCC?

Lass den offen. Läuft bei mir wunderbar.

Autor: Sonke A. (soeni)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Sonke A. (soeni)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke schonmal für eure Hilfe, immerhin hat das Flashen jetzt schon 2 
mal geklappt, was kann ich nun noch machen? Ich hänge mal den aktuellen 
Schaltplan an. Mit Kondensatoren.

Autor: tex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mir persönlich fehlt mindestens ein C am Rest.
Am ISP-Adapter hängen die Anschlüsse ohne weiteren Schutz als Antennen 
in der Luft und nicht nur die...

Autor: Soeni- (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.