Forum: Mikrocontroller und Digitale Elektronik ATMEGA 32u4 Verbindungsprobleme ISP


von Dip T. (diptionci)


Angehängte Dateien:

Lesenswert?

Hallo ihr hoffentlich freundlichen Forumianer,

Ich habe mir eine PCB gebastelt mit einem ATMEGA 32u4 drauf.
Leider bekomme ich mit Atmel Studio weder mit einem MkII noch einem
ICE(mit zusätzlichen 5V natürlich) über ISP eine Verbindung aufgebaut.
5V sind an alle Pins aus dem Schaltplan direkt am uC vorhanden. GND ist
durchgepiepst. Miso, Mosi, SCK und Reset hab ich vom Header zum uC
durchgepipst. Den uC hab ich testweise durch einen schon programmierten
aus einem Arduino Leonardo ausgetauscht. Leider auch kein Erfolg. Der
ursprüngliche jungfräuliche lässt sich im Leonardo aber problemlos mit
Bootloader beschreiben.
Quarz wurde testweise entfernt, genauso der "Boot" Pulldown an HWB.
Reset Pullup funktioniert.

In Atmel Studio kein Erfolg, ich bekomme immer ein "Got 0xc0, expected
0x00". Die Spannungsangabe mit 5,1V passt.
Auch habe ich bereits mit dem Takt gespielt.
Einen Arduino Leonardo, welcher ja den gleichen uC hat und auch einen
passenden Header, wird eine Device ID ausgegeben und die Verbindung
klappt.
Bei Verbindung über den USB passiert rein garnichts außer das 5V
fließen.

Die Vermutung ist nun, dass ich irgendwas im Schaltplan vermasselt habe.
Den uC Teil des Schaltplans habe ich euch angefügt.
Fällt jemandem etwas auf was dazu führen kann, dass ich keine Verbindung
bekomme?
Seid nachsichtig, dass ist eines meiner ersten Projekte, lernen tu ich
aber gerne ;)

Grüße

von jo mei (Gast)


Lesenswert?

Dip T. schrieb:
> lernen tu ich aber gerne ;)

Jeder Vcc-Pin (ob analog oder digital) eines Controllers soll
einen eigenen Abblock-Kondensator zum nächstmöglichen Massepin
oder zu einer Massefläche haben. Das ist Hersteller-Empfehlung,
und das hast du nicht eingehalten. Die Empfehlung halte ich
für dringend geboten sie einzuhalten.

Wieder was gespart. Du wirst dich reich sparen!

von Spess53 (Gast)


Lesenswert?

Hi

>Ich habe mir eine PCB gebastelt mit einem ATMEGA 32u4 drauf.

Dann wäre auch dein Layout interessant. Man kann auch durchaus richtige 
Schaltungen zu nicht brauchbaren layouten. Siehe

Beitrag "Re: Stn1110 am atmega2560 uart probleme"

MfG Spess

von jo mei (Gast)


Lesenswert?

Spess53 schrieb:
> Man kann auch durchaus richtige Schaltungen zu nicht
> brauchbaren layouten.

Volle Zustimmung.
Was Anfänger da zusammenbauen ist oft grosser Mist.

von Dip T. (diptionci)


Angehängte Dateien:

Lesenswert?

Für den Hinweis mit den Ablock-C bin ich dankbar!
Im Anhang findet ihr das Layout

von jo mei (Gast)


Lesenswert?

Dip T. schrieb:
> Im Anhang findet ihr das Layout

Alle Controller-Pin-Pads haben einen kleinen Spalt zu der
zugehörigen Leitung die angeschlossen sein soll. Ist das nur
ein Darstellungs-Problem oder sind die Leitungen tatsächlich
nicht verbunden?

von Dip T. (diptionci)


Angehängte Dateien:

Lesenswert?

Das ist nur ein Darstellungsproblem mit der Farbe der Solder-Mask

von jo mei (Gast)


Lesenswert?

Dip T. schrieb:
> Im Anhang findet ihr das Layout

Leider sind Pin 2, 14 und 24 nicht mit Abblock-Kondensatoren in
der Nähe verbunden. Ob das jetzt kriegsentscheidend ist wage
ich nicht zu behaupten, würde aber mir niemals trauen ein
solches Layout in die Fertigung zu geben und dann ernsthaft
zu betreiben.

Besonders Pin 24 ist mit einer seeeeehr langen Leitung
angeschlossen. AVcc heisst ja nicht dass dieser Schaltungs-
Teil nur für die Analogtechnik zuständig ist. Bei vielen
Controllern ist da ein ganzer Digitalport mit versorgt.

von Spess53 (Gast)


Lesenswert?

Hi

Hast du mal getestet ob dein Oszillator wirklich schwingt? Evtl. mal den 
1M herausnehmen.

MfG Spess

von jo mei (Gast)


Lesenswert?

Spess53 schrieb:
> Hast du mal getestet ob dein Oszillator wirklich schwingt?

Quarz zunächst unwichtig. Der Controller wird erst mal intern
schwingen wenn die Fuses noch unberührt sind.

von Spess53 (Gast)


Lesenswert?

Hi

>Quarz zunächst unwichtig. Der Controller wird erst mal intern
>schwingen wenn die Fuses noch unberührt sind.

Nein. Datenblatt:

The device is shipped with Low Power Crystal Oscillator (8.0 - 16MHz) 
enabled and with the fuse CKDIV8
programmed, resulting in 1.0MHz system clock with an 8MHz crystal.

MfG Spess

von Dip T. (diptionci)


Lesenswert?

Spess53 schrieb:
> Hast du mal getestet ob dein Oszillator wirklich schwingt? Evtl. mal den
> 1M herausnehmen.

Danke für den Tipp! Das wars zwar noch nicht ganz, aber irgendwas mit 
dem stimmt nicht. Aber die Richtung hat mich weiter gebracht!
Wenn ich dem uC mit meinem Signalgenerator 1MHZ am XTAL1 gebe bei 1V 
wird er von Atmel Studio und auch von Windows als USB Gerät erkannt

Jetzt fehlt nur noch was genau am Oszillator falsch ist

von jo mei (Gast)


Lesenswert?

Spess53 schrieb:
> Nein. Datenblatt:

Ok, da lag ich dann eben falsch. Gebe ich gerne zu.

von Spess53 (Gast)


Lesenswert?

Hi

>Jetzt fehlt nur noch was genau am Oszillator falsch ist

Wenn du die Daten vom Quartz hast kannst du ja mal Rechnen. Ansonsten 
evtl. mal die 22p auf 15p verkleinern. Ich hoffe du hast einen Oszi zur 
verfügung.

MfG Spess

von Dip T. (diptionci)


Lesenswert?

Hey Spess,
Danke für deine Antwort! Du bist der beste!
Ein Oszi direkt nicht, aber ein altes Picoscope.
Kannst du mir auf die Sprünge helfen wie ich den Quartz korrekt 
vermesse?
Ich habe vorhin an XTAL1 und XTAL2 das Potental zu Masse gemessen und im 
AC Modus ehrlich gesagt nur rauschen gesehen. Ist das falsch gemessen?
Nachdem ich dann an XTAL1 das schnellste was ich finde konnte(1MHz) 
angelegt habe konnte ich die Fuse in Atmel auf Intern setzen.
Zumindest per ISP habe ich jetzt Zugriff. USB geht natürlich nicht mit 
dem Internen Oszillator.

Als Quarz ist folgendes verlötet:
https://datasheet.lcsc.com/szlcsc/1811091415_HELE-Harmony-Elec-HSO321S-16MHZ-3-3V-40-85_C160456.pdf

von jo mei (Gast)


Angehängte Dateien:

Lesenswert?

Wenn man sich das Pinout anschaut .... warum wohl hat Atmel
die Masse Pins so mundgerecht neben die Vcc Pins platziert?

Naja, vielleicht geht's auch so wie gewachsen.

von Spess53 (Gast)


Lesenswert?

Hi
>Als Quarz ist folgendes verlötet:
>https://datasheet.lcsc.com/szlcsc/1811091415_HELE-Harmony-Elec-HSO321S-16MHZ-3-3V-40-85_C160456.pdf

Das ist kein Quarz sondern ein Quarzoszillator. Damit ist deine 
Schaltung falsch. Anschluss nach der Tabelle auf S.4. Der ATMega muss 
dann auf externen Takt gefused werden.

MfG Spess

von jo mei (Gast)


Lesenswert?

Spess53 schrieb:
> Der ATMega muss dann auf externen Takt gefused werden.

Hilft ja nix, er müsste den Quarzoszillator ja auch versorgen.
Also noch 3.3V und Masse dazufädeln. Fiel Fergnügen.

von Spess53 (Gast)


Lesenswert?

HI

>Hilft ja nix, er müsste den Quarzoszillator ja auch versorgen.
>Also noch 3.3V und Masse dazufädeln

Dazu habe ich ihm doch den Hinweis auf die Anschlußbelegung gegeben.

MfG Spess

von Dip T. (diptionci)


Lesenswert?

Hey Spess,
Während du das geschrieben hast bin ich auch selbst drüber gestolpert. 
Trotzdem vielen Dank!!!!!
Geplant war eigentlich ein Quarz.
Ich erinnere mich noch beim bestellen, dass der ausverkauft war.
Da liegt ist wohl der Fehler passiert beim schnellen suchen der 
alternative.
Blöd, 3.3V sind nicht vorhanden auf der PCB. Masse ist ja richtig.
Dann werde ich wohl erstmal mit dem internen Oszillator programmieren 
und einen passenden bestellen oder aus dem Arduino auslöten? :D

@jo mei
Deinen Hinweis mit den Abblock-C hab ich verstanden, werde ich im 
nächsten Design berücksichtigen, doch jetzt ist das Kind in den Brunnen 
gefallen.

von Spess53 (Gast)


Lesenswert?

Hi

>doch jetzt ist das Kind in den Brunnen gefallen.

Buche es halt als Lehrgeld ab.

MfG Spess

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.