Forum: Mikrocontroller und Digitale Elektronik Atmega 88PA tqfp lässt sich nicht programmieren


von Steph M. (stephh)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

Ich habe folgendes Problem:

Mein Atmega 88PA im TQFP lässt sich nicht programmieren.

Als Programmierer habe ich: AVR Dragon und einen Fischels USB ASP.
Keiner der beiden Programmierer bekommt eine Verbindung aufgebaut. mit 
einem Atmega 88PA DIL auf einem Steckbrett funktionieren sie jedoch 
beide einwandfrei.

Verschaltet wurde wie folgt:

MISO, MOSI, SCK, RST, GND, VCC über 6 Pol isp Programmingheader direkt 
mit uC verbunden. zusätzlich ein 15k Zwischen VCC und RST (habe mit und 
ohne probiert).
Zwischen VCC und GND 1x 100nF.
beide VCC und die drei GND entsprechend verbunden. AVCC nicht verbunden, 
da der ADC nicht verwendet wird.
Natürlich ist VCC mit +5V verbunden.

Auf dem Steckbrett sieht mein Aufbau wie folgt aus: VCC und beide GND 
angeschlossen + die ISP Leitungen. Hier geht das programmieren.

anbei noch ein kleiner Auszug aus meinem Layout. C1 = 100nF und R17 = 
15kOhm ansonsten ist die komplette Platine lehr. Die ISP Leitungen 
werden auch nicht anderweitig verwendet und dienen nur dem Zweck der 
Programmierung.

Vielen Dank für eure Vorschläge und Lösungen.

MFG Steph

von Sephe (Gast)


Lesenswert?

Dein Clearing bei den IC-Beinchen sieht mir nicht sauber aus. MMn sind 
die Pinflächen zu dick. - Ich vermute kurzschluss irgendwo.

Mal geschaut ob sonst irgendwo nen Kurzschluss ist?

C1 gehört immer so nah wie möglich an den IC.

Die VCC Leitung am R6 ist nicht mittig. Evtl auch dort Kurzschluss.

von Steph M. (stephh)


Angehängte Dateien:

Lesenswert?

Sephe schrieb:
> Dein Clearing bei den IC-Beinchen sieht mir nicht sauber aus. MMn sind
> die Pinflächen zu dick. - Ich vermute kurzschluss irgendwo.
>
> Mal geschaut ob sonst irgendwo nen Kurzschluss ist?
>
> C1 gehört immer so nah wie möglich an den IC.
>
> Die VCC Leitung am R6 ist nicht mittig. Evtl auch dort Kurzschluss.

Kurzschlüsse kann ich ausschließen, da ich die fertige Platine von 
hinten durchleuchtet und nach eben solchen abgesucht habe. Dabei sah 
alles perfekt aus. Ausserdem erkennt AVR Studio 6 auch die angelegten 
+5V jedoch wird der uC nicht erkannt.

Anbei noch nen größeres Bild vom uC. das erste Bild "zermatscht" das 
ganze ein wenig.

: Bearbeitet durch User
von MirkoB (Gast)


Lesenswert?

So wie ich das sehe:

ISP        Mega88P
1 MISO -> Pin 3/5 GND
2 +5V  -> Pin 29 Reset
usw.


Mirko

von MirkoB (Gast)


Lesenswert?

Edit: Dreh mal deinen ISP-Stecker....Zeigt der Dragon die 5V an?
(Evtl Bestückungsseite auf der Platine falsch?)

Mirko

von Steph M. (stephh)


Lesenswert?

MirkoB schrieb:
> So wie ich das sehe:
>
> ISP        Mega88P
> 1 MISO -> Pin 3/5 GND
> 2 +5V  -> Pin 29 Reset
> usw.
>
> Mirko

Hätte ich wohl dazu schreiben sollen. Bei mir ist das Quadrat nicht Pin 
1 sondern GND... war nen Fehler als ich meinen ISP erstellt habe. Sollte 
ich doch langsam mal tauschn :D

von Uwe (Gast)


Lesenswert?

> AVCC nicht verbunden, da der ADC nicht verwendet wird.
Wird aber trotzdem gebraucht, da hängen Bandgap referenz für 
Restschaltung und sonstwas dran. Es wird auch explizit und sehr oft 
darauf hingewiesen, daß AVCC notwendig ist um. Der braucht dann auch 
noch einen 100nF

von Steph M. (stephh)


Angehängte Dateien:

Lesenswert?

Mit dem Bild sollte dann wohl alles klar sein.

von MirkoB (Gast)


Lesenswert?

So...nochmal meine Frage: zeigt der Dragon die 5V Versorgungsspannung 
an?
(Reiter HW Settings -> VTarget)

ISP Frequenz 8Mhz / CKDIV8 = 1Mhz -> ISP-Frequenzy <=125 kHz?
(max. 1/4 des Basistaktes)

Mirko

von Steph M. (stephh)


Angehängte Dateien:

Lesenswert?

Also meine 5V werden angezeigt und die ISP Frequenz habe ich auch schon 
weiter heruntergestellt und getestet. AVCC hängt nun an VCC und hat nen 
extra 100nF bekommen aber so weit kein Erfolg.

von MirkoB (Gast)


Lesenswert?

Hast Du einen Oszi zur Verfügung?
Schau nach ob RST am Controller(!) kurz beim auslesen auf Low geht.
Danach mit CLK und MISO weitermachen. Bei CLK und MISO müsste man auch 
was zappeln sehen. MOSI kommt vom Controller und geht zum Dragon.

Ohne Oszi ginge es auch mit einer LED (+Vorwiderstand). LED dauerhaft an 
+5V und das Messpin gegen Masse (Low-aktiv). ISP-Frequenz runter auf 
51Hz.



Mirko

von Helmut S. (helmuts)


Lesenswert?

Also die zwei Leitungen zwischen den Pads von C5 sind einfach schlecht 
gemacht. Da wäre es ein Wunder, wenn es dort keine Kurzschlüsse zwischen 
den Leitungen und den Pads gäbe. Kontrolliere das mal mit dem Ohmmeter.

: Bearbeitet durch User
von L. P. (lpg)


Lesenswert?

Steph M. schrieb:
> AVCC nicht verbunden, da der ADC nicht verwendet wird.

Uwe schrieb:
>> AVCC nicht verbunden, da der ADC nicht verwendet wird.
> Wird aber trotzdem gebraucht, da hängen Bandgap referenz für
> Restschaltung und sonstwas dran. Es wird auch explizit und sehr oft
> darauf hingewiesen, daß AVCC notwendig ist um. Der braucht dann auch
> noch einen 100nF

Schon gefixt?

Lg.

von Pete K. (pete77)


Lesenswert?

Typischer Fall. Mal wieder nicht nach Datenblatt beschaltet.

von Steph M. (stephh)


Lesenswert?

MirkoB schrieb:
> Schau nach ob RST am Controller(!) kurz beim auslesen auf Low geht.
> Danach mit CLK und MISO weitermachen. Bei CLK und MISO müsste man auch
> was zappeln sehen. MOSI kommt vom Controller und geht zum Dragon.

Habs grad durchgemessen und funktioniert alles!
Jedoch glaub ich du hast dich ein wenig verschrieben. MOSI = Master Out 
Slave In da sollte was vom Programmer zum uC kommen und das tut es auch!
MISO ist vom uC zum Programmer und da tut sich nichts.

Also RST geht beim Auslesen kurz von +5V auf 0V CLK "zappelt" schön MOSI 
ebenfalls und MISO nicht. MISO ist die ganze Zeit auf +5V
GND ist immer auf 0V
und VCC ist immer konstant auf +5V


Das Problem mit AVCC und dem Kondensator wurde auch schon behoben, also 
per luftverdrahtung wurde nen kondensator und die VCC Verbindung drauf 
gemacht.

Kurzschluss zwischen den Pads an C2 kann ich ausschließen habs 
nachgemessen.

von Bla (Gast)


Lesenswert?

"Zappelt" denn auch SCK?
ISP-Stecker auf der Top-Seite angeschlossen?
Eventuell die Fuses verstellt, sodass der AVR nix machen kann, weil er 
einen Takt erwartet?
AVR gegrillt?

von Steph M. (stephh)


Lesenswert?

Ach mist ich schreib aber auch alles aber! SCK is ja der Clock der vom 
Programmer vorgegeben wird. Den meinte ich mit CLK! :D Ich denke MirkoB 
hat das genau so gesehen.
Fuases sind definitiv nicht verstellt. das Teil ist neu und ist noch nie 
programmiert worden.
was meinst du genau mit gegrillt? Zu heiß gelötet? Ich denke eher nicht, 
da ich bereits 2 versuche unternommen habe mit zwei unterschiedlichen 
uC. Mit Spannung gegrillt kann ich mir auch kaum vorstellen, da bist 
jetzt nur die +5V die vom Dragon kommen an der Platine waren.

von isnah (Gast)


Lesenswert?

Also ich würde dein Board-Layout noch mal mit der "Top View"-Skizze auf 
dem Datenblatt vom Atmega88PA vergleichen. Ich nehme doch an deine 
Boardansicht ist auch Top View, also Typ: die PDF-Seite im Datenblatt 2x 
left oder right rotieren.

von Bla (Gast)


Lesenswert?

Jap, vielleicht hast du ja den "falschen AVCC" nachträglich angelötet.

von Rudolph (Gast)


Lesenswert?

Die Leitungsführung ist etwas merkwürdig.
C1 bewirkt garnichts, C5 hängt vor zwei Pins und die Versorgung geht 
auch
noch zusätzlich irgendwohin weiter.

Die Kondensatoren gehören vor die dazugehörigen Anschlüsse.
Ansonsten ja, das Layout wird sicherlich leichter wenn man erstmal alle
Kondensatoren direkt parallel neben den Spannungsregler packt.

von Rudolph (Gast)


Lesenswert?

Bah, verwirren lassen, C1 und C5 machen garnichts.

von Steph M. (stephh)


Lesenswert?

Rudolph schrieb:
> Bah, verwirren lassen, C1 und C5 machen garnichts.

Wieso sollte C1 bitte garnichts machen? Die 10mm hin oder her zu den 
pins werden wohl nicht die Welt ausmachen bei C5, was in Wirklichkeit C2 
heist bin ich mir auch gerade nicht sicher wieso der genau da sitzt. der 
Sollte wohl eher zum angeschlossenen Display gehören.

von Rudolph (Gast)


Lesenswert?


von Bla (Gast)


Lesenswert?

Also, es stimmt schon, dass das Layout unter aller Sau ist, aber 
trotzdem ist der AVR meist so robust, dass er sich programmieren lassen 
sollte. Wenn man mal bedenkt, wie manche Lochrasterplatinen aufgebaut 
sind...
Hat die Platine noch ein paar andere Kondensatoren? Nur 2x 100 nF sind 
ziemlich wenig. Irgendwo ist hoffentlich noch ein Elko?

von Steph M. (stephh)


Lesenswert?

Bla schrieb:
> Also, es stimmt schon, dass das Layout unter aller Sau ist, aber
> trotzdem ist der AVR meist so robust, dass er sich programmieren lassen
> sollte. Wenn man mal bedenkt, wie manche Lochrasterplatinen aufgebaut
> sind...
> Hat die Platine noch ein paar andere Kondensatoren? Nur 2x 100 nF sind
> ziemlich wenig. Irgendwo ist hoffentlich noch ein Elko?

Nein, es sitzt sonst garnichts drauf. Ich stehe noch sehr am Anfang
meiner uC "Karriere" und dachte eigentlich nach einigen geglückten
Steckbrettaufbauten und Programmierungen so langsam bereit für die erste
richtige Platine zu sein.

Wieso sollte ich noch einen Elko verbauen?

Vielen Dank für all eure Antworten und Hilfen.

Und auchan Rudolph der Link ist echt interessant und hilfreich.

Steph

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.