Hallo,
ich habe um Strom zu sparen versucht die Fequenz meines Tinys auf 128kHz
zu stellen und und den Division Factor auf 1 gestellt.
Seit her funktioniert die Kommunikation mit meinem USBASP nicht mehr.
Ich bekomme immer nur Chip = 00000
Hab ich es vermurkst?
Grüße
Alex
Tim T. schrieb:> Nö, du darfst dann nur nicht schneller als 32 kHz ISP Frequenz ran (max> 1/4 clock).
Hab ich versucht - funktioniert leier nur nicht.
Muss es genau 1/4 der tatsächlichen Tiny13 Frequenz sein?
oder ist jeder Wert keliner als 1/4 CPU Clock in Ordnung?
Grüße
Alexander
Alexander G. schrieb:> Muss es genau 1/4 der tatsächlichen Tiny13 Frequenz sein?
Nein, es muss WENIGER sein. Exakt 1/4 ist ein Grenzfall, bei dem es
theoretisch noch gehen würde, aber praktisch nicht gehen wird, weil es
keine Synchronisation der beiden Takte gibt.
Es sollte immer ein deutlicher Sicherheitsabstand zum Grenzfall
eingehalten werden, mindestens in der Größenordnung der Ungenauigkeit
des Taktes. Da die interne 128kHz-Taktquelle nicht gerade sehr genau
ist, sollte der Sicherheitsabstand also gerade in dieser Situation
relativ groß sein. Grob über den Daumen sollte man also so ab 28kHz
abwärts auf der sicheren Seite sein.
Wenn's trotzdem nicht geht, wurde sehr wahrscheinlich auf die falsche
Taktquelle gefused oder ein Taktteiler >1:1 ist aktiv.
Im Datenblatt des atmega 13 stehen bei den errata (S.166) "device may
lock for further programming" einige Fälle. Als Abhilfe: vor dem
Programmieren die genannten Einstellungen ändern.
Wenn es mit 128 kHZ / 4 = 32 kHz
und mit 32 kHz / 8 = 4 kHz (CKDIV8...)
und noch mal die Hälfte davon (< 2 kHz) nicht geht,
haste wohl noch mehr verfused...
Das Lehrgeld (ca. 1 EU) musste wohl zahlen und beim nächsten
mal programmierst du dem Tiny13 mit der vermuteten (!)
Systemfrequenz erst mal einen Sekunden-Takt an irgendeinem
Port-Pin, um Irrtümer vor dem "kaputt-fusen" zu erkennen.
Das nennt man defensives Vorgehen.
Kostet 2% mehr Zeit und einige 100% Kaufpreis...
>> Dann eben mit HVSP zurücksetzen:> http://homepage.hispeed.ch/peterfleury/avr-hvsp-fuse-restore.html
Hat vielleicht jemand eine .hex file für ATmega8 und 16 MHz Takt?
In AVRDude kann ich ja dann B3000 setzen.
Mein ATtiny13 läuft mit 2 kHz clock, weil ich per SW den Teiler nicht
auf 1 gesetzt habe sondern auf 64 stehen ließ. Muss wohl das Programm
von p.Feury nehmen, da es AVRStudio 7 nicht auf 400 Hz clock bringt.
Alexander S. schrieb:> Device: atmega8>> Program: 664 bytes (8.1% Full)> (.text + .data + .bootloader)>> Data: 0 bytes (0.0% Full)> (.data + .bss + .noinit)>> Im Anhang die .hex Datei. Die habe ich selber nicht getestet.
Das ist aber sehr freundlich. In der Zwischenzeit, da der t13 ja
ansprechbar wäre, sollte es mit avrdude auch gehen.
https://logbuch.dmaertens.de/elektronik-hardware/microcontroller/fuse-eines-microcontrollers-mit-avrdude-auslesen-und-beschreiben.
Obwohl ich es nicht verstehe, da keine Taktrate im command vorkommt.
Oder mit avrdude das korrigierte Programm eben ganz langsam in den tiny
bringen.
Werde berichten, wie deine Großzügigkeit es auch tut. Respekt!
Georg M. schrieb:> Atmel_Studio_Error.png
Ich kann im Programmierdialog des AVRISP MkII auch jede beliebige
Taktrate einstellen. Dazu muss man den Wert dann statt mit dem
Schieberegler händisch in die Hertzanzeige eintippen. Kannste ja mal
probieren.
Matthias S. schrieb:> Georg M. schrieb:> Atmel_Studio_Error.png>> Ich kann im Programmierdialog des AVRISP MkII auch jede beliebige> Taktrate einstellen. Dazu muss man den Wert dann statt mit dem> Schieberegler händisch in die Hertzanzeige eintippen. Kannste ja mal> probieren.
Oh, das wusste ich nicht. Danke für den Ti p.
>> Georg M. schrieb:>> Atmel_Studio_Error.png>>>> Ich kann im Programmierdialog des AVRISP MkII auch jede beliebige>> Taktrate einstellen.>> Oh, das wusste ich nicht. Danke für den Tip.
Der Wert wird, was ich auch eingebe, auf 51 Hz gesetzt.Und es gibt
Fehlermeldungen.
Leider...
Rudi D. schrieb:> Der Wert wird, was ich auch eingebe, auf 51 Hz gesetzt
Gut, das muss aber in jedem Fall reichen, solange die Oszillator Fuses
nicht auf externem Oszillator stehen. Ob Freund Fischl (USBASP)
allerdings diese Settings vom STK500 auch unterstützt, kann ich dir
nicht sagen.
Wenn das der Fall ist, speist du an XTAL1 einen Generator ein und hast
die freie Wahl für die Taktfrequenz. Wenn du allerdings an der RST_DIS
Fuse rumgespielt hast, gehts nicht ohne HV Programmer.
Ich hatte das gleiche Problem mal mit einem Programmieradapter von
In-Circuit, die waren damals so nett, mir kurzfristig die Firmware
anzupassen und Ersatz zu schicken.
>> Der Wert wird, was ich auch eingebe, auf 51 Hz gesetzt>> Gut, das muss aber in jedem Fall reichen, solange die Oszillator Fuses> nicht auf externem Oszillator stehen.
Hab den DIAMEX Adapter. Low fuse ist 7B =128 kHz aber, siehe vorher, per
SW /64 geteilt also 2 kHz Clock.
Das Programm wird auch brav ausgeführt, eben sehr langsam.
Warum Studio7 400 Hz nicht akzeptiert ist merkwürdig. ist 1/5 von 2 kHz.
Werde als nächsten Step avrdude nehmen.
An sich alles sportlich zu sehen, da der t13 ja wirklich den Aufwand
kaum rechtfertigt.
Im Hintergrund gibts auch noch die Hilfe von Alexander S.
Rudi D. schrieb:> An sich alles sportlich zu sehen, da der t13 ja wirklich den Aufwand> kaum rechtfertigt.
Das sehe ich auch so. Erst wenn du innerhalb eines Jahres 5 Stück
verfust hast, wird es peinlich :-)
rulixa schrieb:> an sich ist er ja nicht verfused, nur die clock ist durch Unachtsamkeit> eben 2 kHz
Ich hab ja erst so um 2003 mit µC's begonnen mit Franzis Lernpaket
Mikrocontroller als Honorar.
Habe also die PC-Baudrate auf 2400 Bd gesetzt und mit dem LPmikros.exe
den t13 initialisiert. Das Programm setzt ihn auf den Ausflieferzustand.
All o.k.
Mit avrdude bin ich nicht zurechtgekommen mit dem Programmierdevice.
Ich danke für die vielen Vorschläge und Hilfen.