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
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.
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
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.
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...
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
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?
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
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
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.
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