AVR ATMEGA48 TQFP ISP Problem

OP #2221313
Lesenswert?

Ich kann den uC auf meiner entwickelten Platine nicht ansprechen. Zum 
flashen nutze ich PonyProg2000 über COM Port. Das hier ist mein erstes 
Projekt mit SMD Bauteilen. Nachdem ich entsprechende Prototypen mit 
einem ATMEGA48 im DIL Bauform selber gefertigt hatte, wollte ich nun 
einen Schritt weiter gehen und das ganze ein wenig kompakter gestalten. 
Die Platinen habe ich hier http://www.mme-pcb.com/ fertigen lassen. Von 
der Qualität der Platinen bin ich begeistert.

Auf Foto_01 ist ein Aufbau mit SMD Bauteilen zu sehen. Auf der rechten 
Seite kann man die Kontakte der SPI Schnittstelle sehen.

Auf Foto_02 ist eine weitere Platine zusehen. Hier ist nur der uC als 
Bauteil aufgelötet worden. Oben links ist die Spannungsversorgung.

Ich hatte bisher noch keine Probleme mit der SPI Schnittstelle. Auch ein 
über diese Platine verbundener ATMEGA48 in DIL Bauform konnte ich ohne 
Probleme ansprechen.

Elektrisch habe ich die Leiterbahnen alle geprüft und keine Fehler 
feststellen können.

Mitlerweile habe ich schon vier verschiedene Platinen gelötet, die alle 
nicht anzusprechen sind. Ich vermute hier ein grundsätzlicehs Problem.

Vielen Dank schon mal für Eure Kommentare.

Gruß
Ralf
Angehängte Dateien:
OP #2222200
Lesenswert?

Ich war bisher immer der Meinung, dass der interne Pullup im uC 
ausreicht. Deshalb hatte ich auch noch nie einen externe Pullup 
vorgesehen.

Leider bringt ein externer Pullup keine Änderung meines Problems. Ich 
habe mit 10K Pullup getestet.

@Ralf2008
--- Falk? FALK!!! :)

was meinst du damit?

Sorry wegen der zu großer Dateigröße! Werde beim nächsten mal darauf 
achten.

Gruß
Ralf
Gast #2222400
Lesenswert?

Ralf Bulle schrieb:
> @Ralf2008
> --- Falk? FALK!!! :)
>
> was meinst du damit?
>
> Sorry wegen der zu großer Dateigröße! Werde beim nächsten mal darauf
> achten.

Insider-Gag. Falk weist gerne u. oft zu recht auf viel zu
große Dateianhänge hin.

Sind das neue ATmega48 TQFP? Wenn ja, dann sind die
ab Werk zwar auf internen Oscillator mit 8Mhz eingestellt,
aber die CKDIV8 Fuse ist gesetzt. D. h. die laufen mit 1MHz.
Dann darf die Programmierfrequenz max. 1/4 davon betragen.
Programmierfrequenz entsprechend herabsetzen. Anschließend
dann per Fuse auf den externen Quarz umstellen.

Ansonsten wäre ein Schaltplan nicht schlecht.

Ausserdem:
http://www.mikrocontroller.net/articles/AVR_Checkliste


Viele Grüsse,
Ralf2008
OP #2223451
Lesenswert?

Habe den Fehler gefunden... Der uC, den ich benutze ist ein 
ATMEGA48P-20AU.

Damit hat er gegenüber einem ATMEGA48 auch eine andere Signature!

PonyProg2000 kennt leider nur den ATMEGA48 und kommt mit "Device unknown 
-24".

Erfolg hatte ich dann letztenendes mit avrdude.exe. In einer CMD 
entsprechende Parameter im Programmaufruf eingesetzt...

"avrdude -p atmega48 -P com1 -c ponyser -U flash:w:main_client.hex -F"

Mit dem Parameter -F wird die Signaturprüfung deaktiviert.

Die Fusebits für einen externen 8MHz Quarz entsprechend:

"avrdude -p atmega48 -P com1 -c ponyser  -F  -U lfuse:w:0xFD:m"
"avrdude -p atmega48 -P com1 -c ponyser  -F  -U hfuse:w:0xDF:m"

Leider, und das ist mein derzeitiges Problem, läuft der uC nicht mit dem 
ext. Quarz.

Gruß
Ralf
OP #2227282
Lesenswert?

,,, schrieb:
> nimmt mal C7 für die lfuse

Danke für den Tip.
Die Einstellung 0xC7 für das lfuse hat leider nicht das gewünschte 
Ergebnis gebracht.
Derzeit habe ich die Fuse so eingestellt, dass der interne Oszi. mit 
8MHz arbeitet.
Ich habe die 22p Kondensatoren in Verdacht, werde die SMD Bauteile mal 
gegen welche mit Beinchen austauschen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren