Forum: Mikrocontroller und Digitale Elektronik Ponyprog mit Fehler (-24)


von Günni (Gast)


Lesenswert?

Hallo,
beim Programmieren des TINY2313 tritt bei mir folgendes Problem auf: Ich 
habe die FUSE-Bits BODLEVEL0..2 so gesetzt, dass ein Brown-out-Reset bei 
kleiner 4,3 V durchgeführt wird (meine Versorgungsspannung ist 5 V). Der 
Programmiervorgang der FUSE-Bits ist erfolgreich (zumindest keine 
Fehlermeldung), aber ab diesem Zeitpunkt ist der TINY2313 nicht mehr 
ansprechbar (Device missing...(-24)). Lasse ich bei einem neuen TINY2313 
die Brown-out-Bits wie voreingestellt (Brown-out deaktiviert), ist jede 
weitere Programmierung der übrigen Fuses und des Programm- und 
EEPROM-Speichers problemlos möglich. Das Programmierboard ist wie von 
Ponyprog vorgeschlagen; die 5 V werden mit einem 78L05 auf dem Board 
selbst erzeugt. Während des gesamten (erfolglosen) Programmierversuchs 
ist die Spannung, gemessen an GND und VCC des TINY2313 stabil 5 V (also 
kein kurzzeitiger Spannungseinbruch, der zum Ansprechen des 
Brown-out-Reset führen könnte). Hat jemand eine Idee (oder dieselbe 
Erfahrung gemacht), woran das liegen könnte ?

von Hannes Lux (Gast)


Lesenswert?

Kann es sein, dass Du versehentlich eine andere Fuse mit verändert hast? 
Wenn es nur eine CKSEL-Fuse war, dann hilft ein externer Takt. War es 
die Reset-Disable-Fuse, SPI-Enabled-Fuse oder DW-Enabled-Fuse, dann ist 
HV-Parallel-Programming oder Debug-Wire zum Zurücksetzen erforderlich. 
Das versehentliche Verändern von Fuses passiert dann, wenn man vor dem 
Verändern den aktuellen Fuse-Status nicht einliest.

...

von Günni (Gast)


Lesenswert?

Danke für die Tipps.
Ich habe nur die cksel für einem externen 4 MHz-Quarz gesetzt; d.h. ein 
Häckchen bei cksel1; ausserdem noch eines bei sut0 und sonst nichts. Was 
mir jetzt erst auffällt in der Beschreibung des FUSE, dass es bei sut0/1 
einen Wert "crystal oscillator, BOD enabled" gibt. Diesen Wert hatte ich 
nicht gesetzt. Vielleicht ist das der Punkt. Werde mal in dieser 
Richtung nachdenken. Meine 2 verschossenen TINYs werde ich allerdings 
wohl wegen Mangels der Kenntnisse über Parallel-Programming bzw. 
Debug-Wire nicht mehr wiederbeleben können (kosten ja nicht viel).
Nochmals Danke.

von Hubert G. (hubertg)


Lesenswert?

Aktiviere bei dem funktionierenden Tiny das CKOUT und lege es auf XTAL1 
bei einem nicht funktionierenden, dann kannst du diese fast sicher 
wieder programmieren.

von Günni (Gast)


Lesenswert?

Nur zu meinem Verständnis: Verbinden der beiden tinis, während der nicht 
funktionierende mit ponyprog programmiert wird (d.h. zuerst die Fuses 
korrigieret werden) ?

von Hubert G. (hubertg)


Lesenswert?

Du aktivierst bei dem funktionierenden das CKOUT, verbindest diesen Pin, 
PD2, mit XTAL1 eines nichtfunktionierenden. Diesen versuchst du dann mit 
PonyProg wieder zu aktivieren, d.h. die Fuses zu korrigieren.

von Günni (Gast)


Lesenswert?

o.k., hab es verstanden. Vielen Dank nochmal.

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
Noch kein Account? Hier anmelden.