Hallo Über das AVR-Studio und einen USB-ISP-Programmierer konnte ich meine Atmega ganz problemlos programmieren. Ich nahm den uC aus meinem Testaufbau um einige andere Atmegas noch zu testen, ob diese noch funktionierten. Als ich danach den Atmega16 wieder einsteckte konnte ich ihn weiterhin problemlos programmieren, nur die Signatur wird jetzt mit 0xFF 0xFF 0xFF angegeben. "Warning: Signature doesn't match selected device" Und natürlich habe ich dort im DropDown-Menü den ATmega16 ausgewählt. Jemand ne Idee?
Steckt der Controller richtig herum im Sockel? Ist evtl. ein Pin verbogen?
Da klappt das Lesen der Signatur nicht: Datenleitung bleibt permanent auf high. Die üblichen Verdächtigen: Der Kontroller ist gekillt. Die Masseleitung des Kontrollers fehlt, er ist nur an +5V angeschlossen. Die ISP-Verbindung besteht nicht, entweder auf Seite des Programmiergeräts oder auf Seite des Kontrollers. Der Kontroller ist verfused, nicht mehr lesbar, weil er keinen Takt mehr hat. usw.
Na klar steckt der richtig rum! Ich schrieb doch, dass er sich weiter problemlos programmieren ließ.
Sorry Peter, aber hast du dir meinen Text mal richtig durchgelesen oder nur den Betreff???
Versuch mal die ISP Frequenz zu verringern... Vielleicht hilft das?!
hallo anderer Peter. Das habe ich tatsächlich bereits versucht, ohne Besserung. Welchen Zweck hat eigentlich die Signatur? Die Funktion des uC ist durch eine falsche hoffentlich nicht beeinträchtigt, oder?
Die Signatur dient zuerst mal dazu, zu erkennen, ob das richtige IC angesprochen ist. (stammt aus der JTAG-Technik) Das Funktionieren des Signatur-Lesens zeigt erst einmal, dass die ISP-Verbindung zum IC vorhanden ist. Zum Programmieren kommt noch als Zusatzbedimngung, dass die Übertragungsgeschwindigkeit mit dem Takt des Kontrollers harmoniert. Deswegen kann ich mir gut vorstellen, dass die Signaturabgabe klappt und das Programmieren nicht. Der von Dir beschriebene umgekehrte Fall kommt mir unwahrscheinlich vor. Sowas kann ich mir nur damit erklären, dass das bisherige Programm unverändert im Kontroller geblieben ist, und nur scheinbar neue Programmierung erfolgt ist. Ist das neue Programm so verschieden vom alten, dass dieser Fall ausgeschlossen werden kann? Die Signatur ist meines Wissens in ROM-Form im Kontroller eingeschrieben, sie ist unabhängig vom im EEPROM befindlichen Programm.
Ist der Testaufbau ok ? Abblockkondensatoren ? Spannungsversorgung ok ? Schwingt der Quarz(oszillator/Resonator) ? Woher weisst Du, dass das Programmieren funktioniert ?
Das hatte ich auch mal vor Jahren (1997) bei einem AT90S1200. Funktioniert aber bis heute einwandfrei in der Schaltung.
Beim AT90S1200 stand die Signatur aber auch noch in einem beschreibbaren Speicher und es gab einen Befehl um diese per ISP zu schreiben. Das ist afaik bei neueren AVRs anders.
Schaltungsaufbau ist in Ordnung. Ein identischer mega 16 lässt sich wunderbar auslesen und beschreiben. Auch beim Sorgenkind klappt die Programmierung einwandfrei. Ich habe zum Testen mal eine LED-Blinken lassen. Funktioniert. Echt rätselhaft das Ganze. Wie gesagt, ich habe den mega16 ausgebaut, nen mega32 getestet und den mega16 dann wieder drangesteckt. Und dabei muss wohl irgendwas da drin passiert sein. Aber solange er sich noch programmieren lässt, dürfte es doch keine Probleme geben, gell?!
Schmeiss in weg. Du weisst nicht, was mit dem los ist. So teuer sind die nicht.
>Aber solange er sich noch programmieren lässt, dürfte es doch keine >Probleme geben, gell?! Da würde ich nicht drauf wetten. Es muss ja einen Grund geben wieso der seine Signatur verloren hat.
irgendwas stimmt hier nicht. Jetzt bringt auch mein 2. nagelneuer mega16 als Signatur nur 0xFF Ich habe zwischenzeitlich nur eine SD-Karte mit an den SPI-Bus gehängt. Ich werd noch blöde hier. Das Auslesen der Signatur eines anderen Mega32 klappt hingegen sofort.
Und du bist sicher, das die ebenfalls am MISO/MOSI/SCK angeschlossenen "Geräte" nicht diese Leitungen "stören" ? Zur ISP hast du keine Widerstände, zu den anderen "Geräten" die in der AN beschriebenen Widerstände drin ? Sind die gross genug, damit evtl. Effekte wie GND oder VCC auf der Leitung durch externe Geräte nicht die ISP-Schnittstelle stört ? Grüsse..
Daran lag es nicht, hatte die Verbindungen auch wieder gekappt. War ein Problem mit meinem Programmer, jetzt geht's wieder. Aber seltsam ist, dass mein Standard-Blinkprogramm auf dem Mega16 funktioniert, beim mega32 aber nicht. hab auch artig im AVR-Studio unter Projektoptionen immer den jeweiligen Schaltkreis ausgewählt. Die Portbezeichnungen sind ja bei beiden identisch. Ich kann mir da keinen Reim drauf machen UPDATE: die BROWNOUT-Fuse war auf 4V gestellt und meine Schaltung läuft mit 3,3V...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.