AtTiny13 Clock auf 128kHz und Division = 0/1

Gast #5762939
Lesenswert?

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
Gast #5763003
Lesenswert?

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
Gast #5763010
Lesenswert?

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.
Gast #5827780
Lesenswert?

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...
#5905978
Lesenswert?

>
> 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.
#5906035
Lesenswert?

Rudi D. schrieb:
> Hat vielleicht jemand eine .hex file für ATmega8 und 16 MHz Takt?

Hallo,

ich habe http://homepage.hispeed.ch/peterfleury/HvspFuseRestore.zip
von http://homepage.hispeed.ch/peterfleury/avr-hvsp-fuse-restore.html
heruntergeladen und im Makefile
1
MCU = atmega8
2
F_CPU = 16000000
gesetzt.
1
Compiling: HvspFuseRestore.c
2
avr-gcc -c -mmcu=atmega8 -DF_CPU=16000000UL   -I.  -std=gnu99 -gdwarf-2 -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=HvspFuseRestore.lst -save-temps -MD -MP -MF .dep/HvspFuseRestore.o.d HvspFuseRestore.c -o HvspFuseRestore.o
3
Linking: HvspFuseRestore.elf
4
avr-gcc -mmcu=atmega8 -Wl,-Map=HvspFuseRestore.map,--cref    -lm HvspFuseRestore.o --output HvspFuseRestore.elf 
5
Creating load file for Flash: HvspFuseRestore.hex
6
avr-objcopy -O ihex -R .eeprom HvspFuseRestore.elf HvspFuseRestore.hex
7
Creating load file for EEPROM: HvspFuseRestore.eep
8
avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" --change-section-lma .eeprom=0 -O ihex HvspFuseRestore.elf HvspFuseRestore.eep 
9
avr-objcopy: --change-section-lma .eeprom=0x0000000000000000 never used
10
Creating Extended Listing: HvspFuseRestore.lss
11
avr-objdump -h -S HvspFuseRestore.elf > HvspFuseRestore.lss
12
Creating Symbol Table: HvspFuseRestore.sym
13
avr-nm -n HvspFuseRestore.elf > HvspFuseRestore.sym
14
AVR Memory Usage
15
----------------
16
Device: atmega8
17

18
Program:     664 bytes (8.1% Full)
19
(.text + .data + .bootloader)
20

21
Data:          0 bytes (0.0% Full)
22
(.data + .bss + .noinit)

Im Anhang die .hex Datei. Die habe ich selber nicht getestet.
Angehängte Dateien:
Gast #5906091
Lesenswert?

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!
Gast #5906403
Lesenswert?

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.
#5906693
Lesenswert?

>> 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...
(Firma: matzetronics) #5906717
Lesenswert?

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.
#5907054
Lesenswert?

>> 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.
#5907259
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren