Forum: Mikrocontroller und Digitale Elektronik ATMega32U2 nicht per ISP erreichbar


von USB (Gast)


Angehängte Dateien:

Lesenswert?

Hallo

ich setze für ein Projekt den ATMega32U2 ein, da ich möglichst einfach 
den Controller über USB mit dem PC verbinden muss (eine art Programmer). 
Der Chip ist auch schon soweit aufgelötet.

Jetzt versuche ich über ISP eine Verbindung aufzubauen, aber das 
funktioniert nicht. Das AVR-Studio (etwas ältere Version) meldet:

>Setting mode and device parameters.. OK!
>Entering programming mode.. FAILED!
>Leaving programming mode.. OK!

Diese Fehlermeldung kommt immer, wenn die ISP-Verbindung nicht 
funktioniert.
Ich habe aber schon alles überprüft, und weiß nicht mehr woran es liegen 
kann. Als Programmer setze ich einen MySmartUSB MK3 ein, welcher bei 
anderen Controllern (ATMega32, ATTiny45, etc...) super und beim ersten 
mal direkt funktioniert. Die ISP-Frequenz beträgt 57,6 kHz. Auch mit dem 
AVR-ProgTool ist keine Verbindung möglich (Auslesen, Programmieren, 
fuses setzen), obwohl der ATMega32U2 auf der Website explizit als 
unterstützt angegeben wird.

Um Lötfehler auszuschließen, habe ich direkt an den Beinchen des Chips 
gemessen, an VCC liegen etwa 4.61V an, am Reset ebenfalls. Während des 
Programmiervorgangs wird Reset auf Masse gezogen. Gleichzeitig kann man 
am SCK-Pin ein Rechtecksignal mit ca 30 kHz messen. An MOSI sieht man 
etwas, was man als Datenübertragung interpretieren kann, MISO hingegen 
ist komplett LOW (ca 0.4V, also keine direkte Massenverbindung wie bei 
einem Kurzschluss).

Wie kann ich diesen Chip zum laufen bekommen?

MfG USB

von USB (Gast)


Lesenswert?

edit: Im Schaltplan ist ein anderer Controller eingetragen weil ich von 
dem Controller keine Eagle-Library gefunden hatte. Die Pinne sind aber 
wie im Datenblatt angeschlossen.

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

Hallo,

ich hatte kürzlich ein ähnliches Problem mit dem Nachfolger ATmega32U4. 
Irgendwo im Internet hab ich dann gelesen, dass dieser uC im Gegensatz 
zum ATmega32U4RC ab Werk so gefust ist, dass er ein Quarz benötigt.

Also hab ich im ein Quarz spendiert (16 MHz), das Programmieren ging 
aber trotzdem nicht. Erst als ich die Geschwindigkeit des Programmierers 
sehr weit runtergeschraubt hatte (avrdude mit Option -B 600), hat die 
Übertragung fehlerfrei geklappt.

Danach gings auch ohne Quarz, deshalb kann ich nicht sagen, ob das Quarz 
am Anfang überhaupt nötig gewesen ist.

Markus

von USB (Gast)


Lesenswert?

Ich hab jetzt mehrere Frequenzen ausprobiert, bis runter auf 1.2 kHz, 
jedoch keine Reaktion. Auf der Platine ist ja ein 16MHz Quarz vorhanden, 
also sollte es ja egal sein ob er den internen Oszillator oder den Quarz 
nimmt.

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

USB schrieb:
> Ich hab jetzt mehrere Frequenzen ausprobiert, bis runter auf 1.2 kHz,
> jedoch keine Reaktion. Auf der Platine ist ja ein 16MHz Quarz vorhanden,
> also sollte es ja egal sein ob er den internen Oszillator oder den Quarz
> nimmt.

Puh, dazu fällt mir auch nichts Konkretes ein.

Schwingt der Oszillator wirklich? Ich hab von Fällen gelesen, bei denen 
die beiden Kondensatoren mit 22 pF zu groß waren und der Oszillator erst 
bei 15 pF schwingen wollte.

Die Spannung auf deinem Bild ist etwas "zackig". Hier könntest du noch 
einen kleineren Kondensator zwischen VCC und GND schalten - möglichst 
nahe am uC: 100 nF.

Ansonsten bin ich grad auch ratlos...

von Gerhard G. (xmega)


Lesenswert?

Hallo,

schau mal hier: Beitrag "atmega32U2 und AVR-Studio"

Die " U " Teile haben einen Bootloader.  Du musst dir Atmel FLIP 
zulegen, dann funktioniert das Ganze.

ISP funktioniert mit Atmel Studio5 auch nur eingeschränkt. Anzeige der 
Fuse möglich, verstellen und programmieren.. nein.

Weitere Infos:  http://www.pjrc.com/teensy/

Gruß xmega

von Martin K. (Gast)


Lesenswert?

Nicht alle haben einen Bootloader. Auch kann man sie trotzdem mit ISP 
programmieren.
Ebenso kann man mit Studio5 Fuses setzen/programmieren.

Zum Problem: Controller evtl defekt? Mal nen Anderen probiert?

von Gerhard G. (xmega)


Lesenswert?

Hallo,

ich verwende die Typen  Atmega32U4 und Atmega32U2. Meine haben alle 
einen funktionstüchtigen HWB Pin. Also Bootloader!

Das habe ich auch schon gelesen:
Möchte man den Bootloader loswerden, kann man mit Atmel AVR-STUDIO5 die 
Fuse BOOTRST entfernen. Und nur dann funktioniert das Programmieren des 
Atmega32U2 wie gewohnt. Ich persönlich habe es noch nicht gemacht, da 
sonst alle Vorzüge des Chips dahin sind

weitere Infos:
http://reusch-edv.reworld.eu/de/produkte/comp/index.htm




Gruß xmega

von USB (Gast)


Angehängte Dateien:

Lesenswert?

Ich hab jetzt mal auf die Idee von Markus hin den Oszillator untersucht. 
Es war keinerlei Schwingung zu messen. Doch nach ein paar mal 
"rumstochern" fing es an zu Schwingen. Direkt mal getestet ob das AVR 
Studio ihn jetzt erkennt (Durch lesen der Signatur) und siehe da, es 
funktioniert direkt. Er ließt als  Signatur "0x1E 0x95 0x8A" aus. Das 
sieht doch schonmal sehr gut aus.

Es scheint also wirklich an dem nichtschwingendem Oszillator zu liegen. 
Also runter mit den 22pF. Vielen Dank schonmal bis hierhin :)

Habe auch sicherheitshalber mal 100nF im Abstand von ca 5mm eingelötet, 
ändert aber nicht wirklich etwas.

Ich hab mich noch nicht so intensiv damit beschäftigt, erstmal sollte 
die Hardware laufen. Da sie es aber so langsam tut, welchen Vorteil hat 
der Bootloader gegenüber ISP? Ein ISP-Anschluss ist ja bereits 
aufgelötet.

AVR Studio 5 läd auch grade runter. Mal gucken wann ich die 15pF dinger 
auftreiben kann.

MfG USB

von Finsbury (Gast)


Lesenswert?

Der Isp geht beim U2 mit oder ohne Bootloader, das hat miteinander nix 
zu tun. Der Bootloader von Atmel belegt 4k Flash wenn ich mich gerade 
nicht irre und zieht das Programm dann halt über USB via FLIP.
Schonmal ohne Cs versucht? Nur ums zum spielen zu bewegen. Manchmal 
macht nen stückel Streukapazität von irgendwas benachbartem schon soviel 
C dass die zusätzlichen überflüssig werden.

von USB (Gast)


Lesenswert?

Nach dem Einlöten von jeweils 15pF sowie dem Umstellen der fuses geht es 
jetzt zuverlässig. Habe dafür die Maximale Anschwingzeit genommen. 
Werkseinstellung war tatsächlich "externer 8MHz++ Quarz".

Danke an alle hier, mit eurer Hilfe läuft das ding jetzt :)

MfG USB

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.