PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [gelöst] -> ATMEGA644 - Could not Identify with ID: FF7F0



JellbieO
03.08.2008, 20:44
Nabend allerseits!

Ich weiß das Thema ``Could not identify with ID`` wurde schon sehr oft angesprochen, nur mein Problem scheint kein gewöhnliches zu sein wie bei den anderen....

Ersteinmal was liegt vor, was war geplant usw...

Für ein Dokumentationsschreiben für andere Schüler der 12.Kl - BTI (Technischer Assistent für Informatik) ist ein ein Projekt entstanden ein ControllerBoard zu bauen und Schritt für Schritt zu erklären wie was funktioniert. Learning by Doing - Gilt auch für mich, deswegen keine schlechte Idee ;)

Relevante Bauteile:
- ATMEGA644P 20PU
- FestSpannungsregler LM 2940 CT5

Hardware:
- Smart USB aus dem Hause MyAVR

Software:
- PonyProg
- Bascom


Heute habe ich die folgende Grundschaltung auf einer normalen LochrasterPlatine aufgebaut (ohne Taster und ohne LED)

https://www.roboternetz.de/wissen/images/3/30/Avrtutorial_grundschaltung_mitquarz.gif


Wenn ich meinen SmartUSB Programmer von myAVR anschließe, blinkt dieser normal zeigt bei der Identifizierung allerdings im wehcsel verschiedenste Codes an. Unter anderem:

Could not identify chip with ID: 0000FF
Could not identify chip with ID: FFFFFF
Could not identify chip with ID: 00FFFF
Could not identify chip with ID: 80FFFF
Could not identify chip with ID: 0000F0
Could not identify chip with ID: 0060FF
Could not identify chip with ID: FF7F00
...

Could not identify chip with ID: 000000 würde heißen er findet gar nichts und FFFFFF, dass etwas nicht richtig konfugiert wurde innerhalb von BASCOM.

Was sagen die anderen denn aus? hat wer Erfahrung?


Anmerkung://

kann es vll mit dem Widerstand zu tun haben auf dem Reset?
Bin alles überflogen, die Spannungen betragen auch echte 4,9V usw.


Wäre für jeden Tipp dankbar :)

zerush
03.08.2008, 20:51
Hi,

hast du schon irgendwas an den Fusebits umgestellt?
Keine kalten Lötstellen am Quarz?
MISO, MOSI, SCK und Reset zwischen Controller und Buchse nochmal durchgemessen?

Der Widerstand am Reset ist ein Pull-up Widerstand. Er zieht den Reset Eingang auf high, wenn nicht GND angelegt wird. Ansonsten würde sich der Controller dauerhaft im Reset Zustand befinden...

JellbieO
03.08.2008, 20:54
Hey bist ja fixx im Forum unterwegs!
Danke :)

ALso Lötstellen überprüft, Quarz (NSK 16.000 übringends) ebenfalls überprüft. hab auch keine kalten Lötstellen...
alles verdächtige nachgelötet

MISO, MOSI, SCK und Reset müssten welche Spannungen aufweisen?


Edit: /

Fast vergessen... FuseBits liessen sich NICHT umstellen! nicht erkannt von PonyProg via LPT und COM

zerush
03.08.2008, 21:06
Tja, ich bin grad in der Lernphase, und wenn man eh die ganze Zeit am Rechner hängt, dann kann man zwischendurch auch mal ein wenig im Forum surfen ;-)

Also mit MISO, MOSI, etc. meinte ich nur, ob die Verbindung vom Controller zur Buchse auch gegeben ist. Aber wenn du sagst, du hast alle Lötstellen nochmal geprüft, wird es wohl der Fall sein.

Kann man den SmartUSB irgendwie langsamer stellen? "Slow Clock" oder sowas? Wenn der Chip neu ist, ist da ein langsamer interner Takt eingestellt und er kommt mit dem schnellen seriellen Takt nicht mit. Sobald du dann die Fusebits umstellen kannst auf den Quarz, kannst du den Programmer auch wieder schnell stellen... (so geht es zumindest mit dem Eigenbau USBasp)

Gruß,
Thomas

JellbieO
03.08.2008, 21:24
Es ist leider kein auslesen der FuseBits möglich...
Versuchte es über PonyProg mit Paralleler- & Serieller Schnittstelle -
unknown device or... missing (sowas in der Art) Musste PC wechseln - PonyProg läuft unter Vista nicht)

Mir ist nicht bekannt das man den Programmer umstellen könnte...
Sagen wir mal der externe Quarz wäre kapputt was wäre dann?


Nachtrag:/

Bin am überlegen ob ich den Aufbau nicht nochmal mache, was allerdings viel Arbeit wäre, nur halt ohne externen Quarz...

Handelt es sich um einen Kohlewiderstand von 10k auf dem Reset?

Besserwessi
03.08.2008, 21:32
Fast alle programmierer kommen mit dem Standard 1 Mhz Takt zurecht, aber es kann ja auch Ausnahmen geben. Dann sollte es aber eine Möglichkeit geben den Programmierer langsamer zu stellen.

Die immer mal anderen ID werte sprechen für eine unzuverlässige Schaltung. Am programmierer scheint es ja nicht zu liegen wenn es mit 2 verschiedenen Programmierern Probleme gibt.
Bei einem Low drop Regler sind die Kondensatoren kritisch, wenn die zu klein sind können die zu schwingen anfangen. Ein anderes häufiges Problem sind zu lange Kabel für die ISP Schnittstelle, schon 30 cm können zu lang sein, wenn der Programmierer schlecht ist (steile Flanken ohne Terminierung).

zerush
03.08.2008, 21:34
Quarz kaputt: naja das wäre erstmal egal, da der Mega standardmäßig mit internem Takt läuft...

Also das auslesen der Fusebits meinte ich dann auch erst, nachdem der Programmer langsam gestellt wurde.
Aber ich les grad:

Die Firmware verfügt über einen automatischen Step-Down-Modus für Controller die auf langsame Taktquellen unter 1MHz umgeschaltet wurden die sich bisher nicht mehr mit der Standard-ISP-Geschwindigkeit ansprechen ließen.

Also ich benutze immer avrdude, lad dir das mal runter und schau mal was das dazu sagt.
(avrdude -p ATmega644 -c avr910 -P com4)

@Besserwessi:
Also der USBasp z.B. kommt mit dem 1MHz Takt nicht klar. Den muss ich immer erst runterstellen, dann Fusebits setzen und dann gehts auch schneller.

JellbieO
03.08.2008, 21:38
Danke!
Die Kabbellänge vom Programmer zum Board beträgt gerade einmal 15 cm, also schonmal etwas ausgeschlossen, Kondensatoren hab ich eig die passenden verwendet wie in im Schaltplan angegeben, somit auch ausgeschlossen.
Und wie stehts mit dem Widerstand?

zerush
03.08.2008, 21:40
Ob der Widerstand nun Kohleschicht oder Metallschicht ist, das ist völlig egal. Hauptsache er hat so ca. 10kOhm

linux_80
03.08.2008, 21:45
Du schreibts oben 644P ?
Wenn das wirklich der 644P ist, dann kann den der Pony noch nicht, der kann nur den 644 ohne P.
Für Bascom hab ich mir die reg.dat selber gebaut, weil der noch nicht dabei war. Einfach aus 324P und 644 ohne P eine zusammenkopiert, die richtige ID eingetragen und schon gings. Ist irgendwo im Forum mal gepostet.
Das war für 1.11.9.1 glaub ich.

Das ändert aber trotzdem nix an Deinem Problem, das der die richtige ID noch garnicht lesen konnte.

JellbieO
03.08.2008, 21:49
alles klar wollte nur sichergehen ;)

Soo hab soeben FirmwareUpdate des Programmers durchgeführt mal sehen vll bringts ja was...

``Firmware für USB-Programmer Version 2.3

Mit der neuen Firmwareversion 2.3 verfügt der USB-Programmer mySmartUSB über einen erweiterten Support für die aktuellen Controllertypen von Atmel; besitzt einen noch schnelleren Übertragungsmodus zur Programmierung und ist in der Lage, automatisch langsamere Übertragungsgeschwindigkeiten auszuwählen, wenn Fusebits zum Beispiel auf langsame Taktquellen gestellt wurden. Desweiteren verfügt diese Firmwareversion über eine erweiterte TWI-Funktionalität.
Für Nutzer von AVRDUDE ab 5.3 ist eine erweiterte Konfigurationsdatei mit den entsprechenden Devicecodes enthalten.``


versuche nun mal mit dem RescueMode des Programmers die Fusebits umzustellen...

JellbieO
03.08.2008, 21:55
Slow ISP ist festgelegt auf 10 laut SmartUSB sollte ich das mal ändern?

Besserwessi
03.08.2008, 22:20
An der Unterstützung für den Controller sollte das noch nicht liegen. Man sollte die ID von jedem Auslesen können, selbst einige nicht AVR Controller sollten eine ID zurückgeben.

Die Standardschaltung hat nur 1 Entkoppelkondensator. Meistens reicht das auch, aber Empfohlen wird noch ein 2ter für AVCC/AGND.

Der LM2940 ist recht wählerisch mit den Kondensatoren: da sollen mindestens 22µf als Elko hinter. Ein low ESR tantal könnte dabei evetuell schon nicht mehr gehen, ein ganz billiger alter Elko eventuell auch nicht.

Geht denn der Progammierer mit anderen Schatungen zuverlässig?

Solange die Programmierung nicht zuverlässig geht sollte man die Fuses nicht verstellen ! Der Rescue Mode sollte da auch nicht viel helfen, da gibts normalerweise nur einen extra Takt, falls man die Fuses schon verstellt hat.

JellbieO
03.08.2008, 22:32
Also der Programmer funktionierte bisher einwandfrei was FuseBits & die Programmierung usw. betraf (RN-Mega128FUNk)

Die Elkos hinter dem Festspannungsregler stimmen auch!
Danke für den Tipp bezüglich der Fusebits, werde dann wohl erstmal was versuchen zu übertragen ;)

bin übringends gerade auf den Post von unserem linux_80 gestoßen
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=39059
Probier ich zur Zeit aus...

ach und noch etwas...
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=40080
scheint dasselbe Prolbem gehabt zu haben (wohl etwas her ;) )

Ich danke euch soweit, melde mich gleich wieder :)

JellbieO
03.08.2008, 22:36
mhmmm okay ist und bleibt daselbe Spiel, hat sich leider nicht viel getan auch mit der neuen .dat - file nicht - naja Versuch war`s Wert

zerush
03.08.2008, 23:35
Also ich weiß leider auch nicht weiter...

Ich würde jetzt einfach mal verschiedene Programme probieren.
Einen Fehler im Programmer generell kann man ausschließen, sonst würde er mit anderen uC ja auch nicht mehr funktionieren.

Hast du noch einen anderen Programmer zur Verfügung, um mal zu testen ob es mit diesem funktioniert? Vielleicht ist es ja gerade diese Kombination die nicht will...

JellbieO
04.08.2008, 01:21
soo, hab das ganze nachgebaut paar andere Kondensatoren & ohne Quarz - Board läuft nun

Ich werd nun noch den Quarz einsetzen, mal sehen was dann passiert

EDIT:

Der Quarz ist definitiv kapputt, wenn ich diesen einsetze kommen wieder dieselben Meldunen wie vorher auch schon. Eigentlich gerade erst `n neues Bauteil gewesen aber naja was solls.

nur `n bissle doof jetzt wegen Versand *mhm*
mal sehen vll muss ich ja sowieso nochmal bestellen ;)

Dankeschöööön! :)

Danke an alle die mir Tipps gegeben haben, wenn`s auch nicht immer die Lösungen waren aber das tut ja nicht zur Sache, eher die Tatsache das man hier im Forum ziemlich schnell Antworten & Hilfe bekommt! Dickes Lob an dieser Stelle nochmal!

Es grüßt Euch

JellbieO