Forum: Mikrocontroller und Digitale Elektronik ATMega88 - Reset probleme mit ISP


von Sebastian (Gast)


Lesenswert?

Hallo,

Ich betreibe einen ATMega88PA auf einer selber geätzten Platine. Das 
Programm läuft auch problemlos, doch sobald ich den ISP (AVR ISP MK2) 
einstecke resettet der µC recht genau im Sekundentakt. Manchmal fängt er 
sich nach einer Weile und das Programm läuft dann mit ISP. Sobald ich 
aber eine Aktion über den ISP ausführe fängt das Problem wieder von 
vorne an.

Hat vielleicht jemand eine Idee, woran das liegen könnte? Ich hab schon 
getestet einen anderen PullUp am Reset zu benutzen, hat aber auch nix 
geändert.

Ich hoffe jemand hat nen Tipp diesbezüglich.

Gruß
Sebastian

von Frank L. (franklink)


Lesenswert?

Hallo,
ein Schaltplan für den Anfang wäre nicht schlecht, ansonsten wie hier 
schon immer wieder erwähnt:

Zeile 42....

Gruß
Frank

von Sebastian (Gast)


Angehängte Dateien:

Lesenswert?

Naja, nen einfacher Standardaufbau halt :)

von Thomas E. (thomase)


Lesenswert?

Sebastian schrieb:
> Ich hab schon
>
> getestet einen anderen PullUp am Reset zu benutzen, hat aber auch nix
>
> geändert.

Am besten betreibst du den Reset ohne Beschaltung. Entweder lässt du's 
ganz weg, hat bei mir noch nie Probleme gemacht, oder du setzt einen 
Jumper rein, um das abzuschalten. Das Problem ist wohl auch eher der 
Kondensator, der Pullup bereitet da weniger Sorgen.

mfg.

von Sebastian (Gast)


Lesenswert?

Was ich halt komisch finde das es es so ein vorübergehendes Problem ist. 
Wobei die Zeit bis es funktioniert unbestimmt ist und sich jedes mal 
ändert. Mal läuft es direkt, mal nach 2-3 Sekunden mal aber auch erst 
nach längerer Zeit. Wenn es dann aber läuft, dann auch stabil. Mit der 
resetschaltung hatte ich so bis jetzt auch noch keine Probleme, auf dem 
Steckbrett funktioniert es auch. Ist das erste mal das ich so ein 
merkwürdiges Problem habe.

Hab jetzt den Kondensator auch mal raus genommen, hat aber auch nix 
geholfen.

Gruß
Sebastian

von Chris (Gast)


Lesenswert?

C7 sollte 4n7 haben. Siehe dazu S. 15 von
http://www.atmel.com/dyn/resources/prod_documents/doc1619.pdf

Schwingt der Quarz an (mit Oszi prüfen)? Schlechte Spannungsversorgung? 
BOD falsch eingestellt?

Hast Du evtl. ein Softwareproblem? Zeigt der Controller das gleiche 
Verhalten auch bei einem absoluten Minimalprogramm (z.B. blinkende LED)?

von Sebastian (Gast)


Lesenswert?

Softwareproblem würde ich mal ausschließen, da es auf dem Board solange 
kein ISP eingesteckt ist Funktioniert, Mit ISP Funktioniert es nach 
einer Weile, und auf einem Steckbrett funktioniert es sowohl mit als wie 
auch ohne ISP problemlos. Außerdem macht das Programm aktuell nicht viel 
mehr wie ne LED blicken lassen und was über UART senden.

BOD ist auf 2.7V gestellt. Die Spannung ist bei 3,3V laut ISP und laut 
Messgerät. Der Quarz muss auch laufen, denn Zugriffe über den ISP laufen 
jederzeit Problemlos und das geht ja nur solang der µC auch nen 
korrekten Takt hat.

von Chris (Gast)


Lesenswert?

Sebastian schrieb:
> Der Quarz muss auch laufen, denn Zugriffe über den ISP laufen
> jederzeit Problemlos und das geht ja nur solang der µC auch nen
> korrekten Takt hat.

Nicht spekulieren, messen! :-)

Die Massefläche um den Quarz herum ist denkbar schlecht geroutet. Sie 
zweigt direkt vom GND-Pin des Controllers ab. Da dürften ordentlich 
Störungen drauf liegen.
Versuchen würde ich mal folgendes:
Den internen Takt des Controllers verwenden. Tritt das Problem nun nicht 
mehr auf, so würde ich die Massefläche abtrennen und mit einem kurzen 
Stück Litze an die große Massefläche anschließen.

von Sebastian (Gast)


Lesenswert?

Chris schrieb:
> Nicht spekulieren, messen! :-)


Ohne Oszi leichter gesagt als getan :)

Zur Massefläche, es wird doch sogar im Appnote von Atmel so empfohlen, 
dass die Quarzmasse direkt zum GND Pin verlaufen soll, damit keine 
weiteren Ströme durch "laufen".
Hab aber jetzt auch mal den internen Quarz aktiviert, damit wird es 
sogar noch schlimmer. Damit läuft es solang der ISP eingesteckt ist gar 
nicht mehr.

Bzw. ist "gar nicht mehr" eigentlich auch falsch.  Es kommt vom ISP im 
Sekundentakt ein Resetimpuls. Initialisieren tut der µC und schickt auch 
eine "Bestätigung" über UART. Allerdings läuft es durch den Reset nicht 
weiter.

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.