www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik µC defekt durch Programmierung?


Autor: Christoph Hoell (webturtle)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine Sache die micht wurmt muss ich mal den Spezialisten als Frage 
stellen:

Mein Projekt:
Ich habe einen AVR Net-IO von Pollin. Darin habe ich einen Atmega1284 
auf den eine veränderte Version von Ulrich Radigs Webserver aufgespielt 
ist.
Es geht mir darum um die Steuerung diverser Funksteckdosen und RGB 
Streifen.
Konkret hängt da noch ein RFM12 dran das mir von den Schaltern die 
Signale empfängt und diese dann an eine original Fernbedienung der 
Pollin Dosen ausgibt.
Auf dem einem Mac der eh immer an ist bin ich dabei eine WebApp fürs 
iPhone zu machen (Ideen aus Ulis Forum) um die Sache auch über iPhone 
und Browser zu steuern.

Nun muss des öfteren der µC neu programmiert werden um die Anfragen 
auszuwerten und darauf zu reagieren.
Am Sonntag um 22:50 reagierte er nach der Programmierung nicht mehr. 
Natürlich habe ich einen Fehler im Coder vermutet und eine Stunde 
gesucht.
Bis mir auffiel dass nach der Programmierung die Meldung: "unequal at 
0x0002" erschien.
Auch ein kleines Testprogramm konnte ich nicht mehr aufspielen. Immer 
unequal an der gleichen Stelle.

Ich habe dann eine Stunde eine abgespeckte Version für einen Atmega644 
erstellt und den Chip gewechselt. Diesen konnte ich direkt fehlerfrei 
programmieren.

Darauf habe ich mir einige neue 1284 geordert und gerade eben einen 
eingebaut.
Ich konnte ihn direkt bespielen und alles ist wieder beim alten.

Nun meine Frage: Kann ich den µC durch zu häufiges programmieren 
zerstört haben?
Ich dachte die Schreibzyklen wären > 10.000 mal.
Wenn dem so sein sollte muss ich da in Zukunft wohl besser aufpassen. 
Die 1284 sind ja nicht ganz billig?

Oder muss ich den Fehler an anderer Stelle suchen.
Ich werde, so die Zeit es mir mal wieder erlaubt, die Tage einen Aufbau 
machen um den defekten 1284 zu testen. (Nur das nötigste und SPI 
anschliessen)

Gruss Chris

Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christoph Hoell schrieb:
> Ich dachte die Schreibzyklen wären > 10.000 mal.

So ist es.

Oliver

Autor: Lehrmann Michael (ubimbo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christoph Hoell schrieb:
> Nun meine Frage: Kann ich den µC durch zu häufiges programmieren
> zerstört haben?

Nein. Du wirst ihn eher verpolt oder verfust haben.

Christoph Hoell schrieb:
> Die 1284 sind ja nicht ganz billig?

für das was sie leisten sind sie tatsächlich teuer.

Autor: Christoph Hoell (webturtle)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lehrmann Michael schrieb:
> Christoph Hoell schrieb:
>> Nun meine Frage: Kann ich den µC durch zu häufiges programmieren
>> zerstört haben?
>
> Nein. Du wirst ihn eher verpolt oder verfust haben.
>
Er ist seit 15.11. in der Schaltung.
Die Fuses wurden einmal zu Anfang gesetzt.
Und am Sonntag abend waren sie noch so wie sie sein sollten. Logisch, 
denn ich war ja nie mehr auf dem Reiter zur Fuse Programmierung.
Und da er so lange eingebaut war und lief, ich auch nichts an oder 
abgeschlossen habe schliesse ich eine Verpolung aus.
Ich begann am Sonntag morgen gegen 10 Uhr damit daran zu arbeiten. Habe 
ihn sicher 20 bis 25 mal programmiert. Und dann war auf einmal Ende.

> Christoph Hoell schrieb:
>> Die 1284 sind ja nicht ganz billig?
>
> für das was sie leisten sind sie tatsächlich teuer.

Eben. Aber mir ist kein µC bekannt der als PDIP besser geeignet wäre und 
günstiger ist.
Zum Glück ist kein SMD drauf, denn hätte ich jetzt erst recht die 
Arschkarte....

Autor: Carsten Sch. (dg3ycs)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christoph Hoell schrieb:
> Er ist seit 15.11. in der Schaltung.
> Die Fuses wurden einmal zu Anfang gesetzt.
> Und am Sonntag abend waren sie noch so wie sie sein sollten. Logisch,
> denn ich war ja nie mehr auf dem Reiter zur Fuse Programmierung.
> Und da er so lange eingebaut war und lief, ich auch nichts an oder
> abgeschlossen habe schliesse ich eine Verpolung aus.
> Ich begann am Sonntag morgen gegen 10 Uhr damit daran zu arbeiten. Habe
> ihn sicher 20 bis 25 mal programmiert. Und dann war auf einmal Ende.

Es kann auch sein das der AVR beim Programmieren ungeplant verfust 
wurde, durch ein Störereigniss während des Schreibzugriffes...
Dieses "Verfusen" beim normalen Programmieren ist eine echte 
Schwachstelle wo ich immer noch nicht verstehe wieso die da keine 
Abhilfe schaffen.

Probiere den µC mal mit einem HV fähigen Programmer, das sollte den dann 
wiederbeleben wenn es ein verfusen war. Bei diesem Bausteinpreis lohnt 
sich sogar über die Anschaffung eines HV fähigen Brenners nachzudenken, 
zumal das sicher nicht dein letzter verfuster Baustein sein wird wenn du 
weiterhin einiges mit AVR machst!
>

>> Christoph Hoell schrieb:
>>> Die 1284 sind ja nicht ganz billig?
>>
>> für das was sie leisten sind sie tatsächlich teuer.
>
> Eben. Aber mir ist kein µC bekannt der als PDIP besser geeignet wäre und
> günstiger ist.
Naja, dann hast du aber nicht wirklich geschaut. Es gibt durchaus noch 
eine Menge mehr µC hersteller und zumindest Atmels größter Konkurent in 
deutschen Hobbykreisen hat noch einen wesentlich größeren Anteil seiner 
Produkte AUCH im PDIP. Und das meist günstiger als diesen...
Wenn man natürlich nur bei Atmel schaut und bei Microchip nur an den 
fast 20JAhre alten 16F84 (16c84)denkt, klar dann findet man nichts...

> Zum Glück ist kein SMD drauf, denn hätte ich jetzt erst recht die
> Arschkarte....
Das ist ja auch mit DER Grund warum ich mittlerweile AVR so wenig wie 
möglich einsetze. Ich arbeite fast nur noch in SMD und wenn dann mal 
wieder das FuseBit falsch gesetzt ist oder sonst etwas passiert dann ist 
das Blöd. OK, wenn der Proz HV-SP unterstützt und man alle für HV-SP 
nötigen Leitungen auch rausgeführt hat (rausführen konnte), dann geht es 
ja noch, aber wehe wenn nicht! (Wo ich in der gewerblichen entwicklung 
tätig war gab es ganz andere Vorgaben zum Prozessor...)
Natürlich, man bekommt die Probleme gelöst, aber warum wenn man sich das 
Risiko sparen kann und auch noch geld dabei spart ;-) Von der 
Verfügbarkeit mal abgesehen

Gruß
Carsten

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst beim Mega1284 nur den Takt verfusen.
Hast Du ihn auf langsam gestellt, mußt Du eben im Programmierer auch den 
SPI-Takt runtersetzen.
Hast Du ihn auf extern gestellt, dann ~1MHz an XTAL1 einspeisen.

Einen HV-Programmierer braucht man nicht.

Allerdings sollte man einen ordentlichen SPI-Programmierer nehmen, z.B. 
AVRISPMKII.
Mir ist damit noch nie eine Fuse unabsichtlich verdreht worden.
Auch sind die Einstellungen im AVRStudio im Klartext, da kann man kaum 
ein Häckchen falsch setzen.

Nur die LPT- und COM-Programmer mit Bit-Banging sind berüchtigt für alle 
möglichen Probleme, z.B. Fuses verstellen ohne Befehl.

Wenn Du keinen ordentlichen Programmierer hast, brenn nen Bootloader 
rein.
Ein Bootloader kann nur den Flash schreiben, aber niemals die Fuses.


Peter

Autor: Christoph Hoell (webturtle)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe diesen diesen Programmer:
http://www.klaus-leidinger.de/mp/Mikrocontroller/A...
Als Software nutze ich AVR OSP II in der neusten Version.

Eben hab ich den Chip nur mit Abblockkondensatoren und SPI Anschlüssen 
auf einem Steckbrett gecheckt.

Die Fuses sind genau wie sie sein sollen. umindest lese ich das aus.

Aber beim beschreiben kommt immer der gleiche Fehler wie oben schon 
angegeben.

Seltsam seltsam....

Zu den Alternativen:
Es ist zur Zeit wirklich so, dass ich nur bei Atmega geschaut habe.
Ich mach das ja erst seit etwas über einem Jahr und da will ich jetzt 
nicht mit anderen Chips nochmal bei 0 anfangen.

Zudem bin ich ja auch durch das AVR Net IO in der Auswahl zusätzlich 
eingeschränkt.
Ich kann ja sowas jetzt nicht noch komplett selbst entwickeln.

Aber danke für die Tips. So ein HV Programmer wäre wirklich mal noch ne 
Anschaffung wert.

Chris

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christoph Hoell schrieb:
> Aber danke für die Tips. So ein HV Programmer wäre wirklich mal noch ne
> Anschaffung wert.

Wie schon gesagt, brauchst Du nicht.

Lies mal die Signatur, wenn die nicht stimmt, dann geht alles andere 
auch nicht.
Wenn das klappt, setz mal die Fuses auf intern RC mit 8MHz und versuch 
dann den Flash zu schreiben.

Bei einem externen Quarz unbedingt darauf achten, daß man den 
Full-Swing-Mode benutzt!
Ansonsten schwingt der Quarz nur sporadisch. Dann hilft nur, einen 
externen Takt einzuspeisen, z.B. von einem 2. AVR.


Peter

Autor: Christoph Hoell (webturtle)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich teste das vorgeschlagene noch.
Ich bin nur noch nicht dazu gekommen. Hoffe am Wochenende ist Zeit 
dafür.

Nicht dass ihr denkt ich würde keine Meldung mehr geben.

Chris

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.