mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATTINY 13 - Reset Disabled (RSTDISBL)


Autor: Fox (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute

Ich beschäftige mich seit letzter Woche intensiv mit Mikrokontrollern. 
Es war mir bereits möglich, die Kontroller zu benutzen, indem ich einen 
Taster verschiedene Ausgänge steuern kann. Darüber war ich sehr stolz! 
Mit Timer-Funktion harhar!

Jetzt habe ich ein Problem, ich habe mir 3 schöne neue Attiny13 
disabled. Das Problem liegt daran, dass er irgend etwas gefragt hat, 
wegen DebugWire ich halt jaja machen wir mal. Danach 2x nichts mehr 
gegangen. Heute habe ich herausgefunden, beim dritten Kontroller, dass 
es am Reset liegt, der abgeschalten wurde.

So jetzt meine Frage:

Wie kann ich diesen Reset wieder aktivieren?

Zusatzfrage: ich habe jetzt mal den Taster auf einen Eingang geschalten 
und zwar mit einem 1kOhm über GND, ist das eine gute Lösung?

Meine Ausrüstung:
Programmierung über AVR-Dragon
Kontroller: ATTINY13

Danke für die Antwort.

Gruss Fox

Autor: AVRFan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Wie kann ich diesen Reset wieder aktivieren?

Das ist nur durch High-Voltage-Programmierung möglich.

>ich habe jetzt mal den Taster auf einen Eingang geschalten
>und zwar mit einem 1kOhm über GND, ist das eine gute Lösung?

Wie hast Du ihn den vorher angeschlossen?  Einen Taster kannst Du direkt 
zwischen einen Eingangspin und Masse anschließen.  Controller-internen 
Pullup aktivieren - fertig.  Ein Widerstand in Serie zum Taster ist 
unnötig.

Autor: Fox (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Danke für die schnelle Antwort.

Wie kann ich das High-Voltage-Programmierung machen? Die ISP war 
einfach, da hatte ich alles Bezeichnungen im Datasheet gefunden 
(MISO,MOSI etc.).

Wie kann ich den Internen Pull-UP Aktivieren?
Habe das mal so gemacht:
#include <avr/io.h>         
 
int main (void) {           
 
   DDRB = 0b00110111;             // Pin 3 = Eingang
   PORTB = 0b00101111;             // Pin 4 = LOW


   while(1) {               

  if ( !(PINB & (1<<PINB3)) ){

    PORTB |= (1<<PB4);
    }

  else {
    PORTB &= ~(1<<PB4);        //Pin 4 Einschalten
    }

}
                          
    return 0;               
}

Autor: Fox (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

So habe mal HVSP probiert. Konnte die Daten lesen, respektive die Fuses. 
Konnte aber nicht schreiben, das liegt an dem Serial Clock Input nehme 
ich mal an. da habe ich kein Kabel oder so was. Was muss ich machen?

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Was muss ich machen?

Du könntest Dir z.B. im AVR-Studio (das ist das Programm, für das der 
Dragon gebaut wurde) die Hilfedatei bzw. Dokumentation zum Dragon 
anschaun...

Du könntest z.B. den Experimentierteil des Dragon bestücken (Stiftleiste 
2x20, IC-Fassung 28-polig schmal und 40-polig breit oder gleich 
Textool-40 mit breiten Schlitzen) und könntest dann mit wenigen Strippen 
laut Dragon-Dokumentation (AVR-Studio-Hilfe) den Tiny13 mit dem 
HV-Brenner des Dragon verbinden...

Vielleicht hast Du aber nur den Debug-Wire-Mode aktiviert. Dann reicht 
es, wenn Du nochmal den Debugger startest und im Debugger den Debug-Mode 
des AVRs wieder deaktivierst, dann ist der AVR wieder per ISP 
ansprechbar.

Im Übrigen solltest Du Dir angewöhnen, Meldungen nicht einfach 
wegzuklicken, sondern sie zu lesen und versuchen zu verstehen.

...

Autor: Fox (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Die Programmierung mache ich mit dem AVR-Studio. Bei der Meldung hatte 
ich ja keine Ahnung was das DebugWire macht, von dem her konnte ich es 
nur ausprobieren.

Wie muss ich das HVSP korrekt anschliessen? ISP war einfach. HV 
eigentlich auch....

Siehe Bild. Den Restet habe ich nicht angeschlossen, muss ich das auch 
noch machen? Dieser geht danach aber auf 12V dem traue ich nicht so 
recht.

Autor: AVRFan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Den Restet habe ich nicht angeschlossen, muss ich das auch
>noch machen?

Ja, und wie Du das musst.

>Dieser geht danach aber auf 12V dem traue ich nicht so recht.

Deine Sorge ist unbegründet; die 12 V am Reset-Pin sind eben die 
Besonderheit am HV-Programmiermodus und sie werden dem Pin garantiert 
keinen Schaden zufügen.

Viel Erfolg :-)

Autor: Fox (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich gebe es auf. es hat keinen Sinn. Es passiert gar nix und ich habe 
das Gefühl, das Dragon krazt gleich ab. Ich lass es sein. 8€ im Sand 
egal. Haupsache etwas gelernt und nie wieder Disable des Reset...

Autor: AVRFan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ich gebe es auf. es hat keinen Sinn.

Blödsinn.

>Es passiert gar nix

Was hast Du denn gemacht?  Eine genaue Beschreibung erhöht die Chance, 
Dir helfen zu können, sehr.  Was geschieht, wenn Du den 
Programmierdialog im AVRStudio aufrufst und das Flashen startest? 
Erscheint eine Fehlermeldung? Wenn ja, welche?

>und ich habe das Gefühl, das Dragon krazt gleich ab.

Wieso das denn?

>Ich lass es sein. 8€ im Sand egal. Haupsache etwas gelernt und nie wieder 
>Disable des Reset...

Du Knaller, Dein Hilferuf mit dem ungewollt disableten Resetpin taucht 
in diesem Forum mit schöner Regelmäßigkeit alle paar Wochen auf.  Die 
meisten Unglücklichen haben aber nur ein einfaches Experimentierboard 
mit ISP.  Die stehn dann wirklich dumm mit ihrem verfusten AVR da.  Du 
dagegen hast nen Programmer, der die HV-Programmierung beherrscht.  Du 
kannst Dein Missgeschick wieder geradebiegen.  Also jammer nicht so 
einen Schmarrn hier rum sondern beiß Dich durch.  Steh auf und kämpf wie 
ein Mann! ;-))  Wenns Du geschafft hast, den µC wiederzubeleben, dann 
hast Du was gelernt.

Autor: Hannes Lux (hannes)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Fox wrote:
> Ich gebe es auf. es hat keinen Sinn. Es passiert gar nix und ich habe
> das Gefühl, das Dragon krazt gleich ab. Ich lass es sein. 8€ im Sand
> egal. Haupsache etwas gelernt und nie wieder Disable des Reset...

Quatsch. Du hast nun gutes Wekkzeug, lerne es zu benutzen. Die 
Gebrauchsanweisung dazu liegt bereits auf Deiner Festplatte. Einfach mal 
im AVR-Studio auf "Help" klicken...

...

Autor: Fox (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Antwort und den Mut.

Also: ISP Funktioniert einwandfrei. Habe ich angeschlossen über das ISP 
Kabel.

DEN HVSP: habe ich wie folgt beschalten (siehe Bild).

> AVR kratzt fast ab

Das Problem ist, dass ich keine Verbindung so aufbauen kann, auch kann 
ich danach nicht mehr auf ISP umschalten. Das Dragon macht gar nichts 
mehr. Dann hilft nur noch ausstecken und wieder einstecken.

Gruss Fox

Autor: Fox (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
habe ich vergessen:

Das Dragon schaltet sich auch bei der externen Stromversorgung ein, also 
ohne USB-Kabel. Respektive die LEDs fangen an zu leuchten. Wenn ich 
danach Flashen möchte, oder Fuses setzte, dann kommt die Meldung keine 
Verbindung etc. Überprüfen Sie das 5V am Controller anliegt etc.

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 8€ im Sand egal.

Oh, bei uns kosten die 80 cent pro Stück in DIP.

Trotzdem würde ich die wieder fit machen, und sei es nur um was zu 
lernen.

Autor: AVRFan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wahrscheinlich liegt es nur an irgendeinem winzigen Detail.

Was ist mit der roten Verbindung "A" in dem Plan, den Hannes gepostet 
hat (siehe oben)?  Hast Du die gesetzt?  Wenn nicht, würde das verdammt 
gut zu dieser Meldung...

>Überprüfen Sie das 5V am Controller anliegt etc.

...passen.

Autor: Fox (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das mit dem A check ich nicht, denn  ich bringe ja schon 5V auf den 
HV_PROG Pin. Macht für mich keinen Sinn, dass ich dort auch nochmals 5V 
draufschalten muss, vorallem ist es ja nicht bei der HV_PROG-Prints.

Autor: AVRFan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würds trotzdem auf einen Versuch ankommen lassen.  Wenns daran lang 
und Dein ATtiny13 wieder flott ist, kannst Du die Sinnfrage dann immer 
noch stellen.

Autor: Fox (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
so habe es probiert:

Ergebnis, ich konnte fuses lesen, chip löschen (hat es angezeigt, aber 
nicht gemacht haha). Konnte sogar das Programm in das Flash schreiben, 
funktionierte aber danach trozdem nicht. Fehler beim schreiben der Fuses 
siehe Bild.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fox wrote:
> Ergebnis, ich konnte fuses lesen, chip löschen


Das Du Lese- und Erase-Befehle abschicken kannst, bedeutet nicht im 
geringsten, daß der AVR es auch getan hat.

Die Software schickt nur die entsprechenden Kommandos, ob das Gelesene 
sinnvoll ist, kann sie ja nicht wissen.

Was Du lesen kannst, ist der Devicecode, der muß stimmen.
Wenn der schon nicht stimmt, ist jede andere Aktion Mumpitz.


Peter

Autor: Fox (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK, was könnte dann das Problem noch sein?

Vielleicht könnte mir mal jemand sagen, wie ich den AVR korrekt 
beschalten muss mit dem Dragon? Stimmt meine Ausführung nach dem letzten 
Schema? Danach habe ich im AVR-Config in Main auf PP/HVSP mode 
gwechselt. Es hat ja soweit geklappt, also liegt es daran, dass das 
Signal vom AVR nicht verarbeitet worden ist?

Autor: Fox (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich komme auch beim Bild von Hannes Lux nicht draus, was das A,B,C etc. 
soll. Nach Datenblatt brauche ich doch gar nicht so viele Drähte...

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> beim Bild von Hannes Lux

Das ist kein Bild von mir, sondern von ATMEL. Es ist ein Schnappschuss 
aus der Hilfe zum AVR-Studio. Es ist auch auf Deinem Rechner vorhanden, 
Du musst nur mal das Help-Menü öffnen.

Das Bild symbolisiert den Prototypen-Bereich des Dragon, den man sich 
sinnvollerweise mit zwei IC-Fassungen (28-polig und 40-polig) und einer 
40-poligen Stiftleiste nachrüstet, um dort AVRs programmieren und 
debuggen zu können. Natürlich braucht man dann auch ein paar Strippen 
mit entsprechenden Steckverbindern.

Beim Ein/Ausschalten des Debug-Wire-Modus muss der AVR kurz von der 
Betriebsspannung getrennt werden (das sagt auch die Meldung, die Du mal 
schnell weggeklickt hast). Auch die Leitung zwischen Plus 
(Dragon-Stromversorgungspins) und ISP muss dabei kurz getrennt werden. 
Ich habe mir dazu einen Schalter an das ISP-Kabel angebaut, das 
erleichtert das Handling etwas.

Der Dragon misst über einen (vermutlich ADC-) Eingang die 
Betriebsspannung des Targets. Wenn Du ihn vom USB trennst, aber eine 
extern versorgte AVR-Schaltung angeschlossen hast, dann versorgt sich 
der Dragon-Controller über die Schutzdiode dieses Messpins. Das ist 
nicht gut für ihn, damit könntest Du ihn wirklich killen. Eine weitere 
Gefahr besteht darin, dass man durch Berühren von Bauteilen/Leiterzügen 
den Spannungsregler dazu bringen kann, eine zu hohe Spannung zu 
erzeugen, die dann den Dragon killt. Du solltest also in eingeschaltetem 
Zustand nicht unnötig daran herumgrabschen.

...

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.