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 ?
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. ...
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.
Aktiviere bei dem funktionierenden Tiny das CKOUT und lege es auf XTAL1 bei einem nicht funktionierenden, dann kannst du diese fast sicher wieder programmieren.
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) ?
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.
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.