Hallo, ich habe einen ATTiny45 und möchte diesen mit 128kHz laufen lassen. Wenn ich nun per Fuse 0x44 0xdf 0xff einstelle, kann ich im AVR Studio 4 die Kommunikation mit max. 4kHz laufen lassen - alles soweit i.O. Zum programmieren werden aber 5kHz gefordert. Mit 5kHz kommt aber keine Kommunikation mehr zustanden. Die 25% Regel CPU Takt und ISP Frequenz halte ich doch deulich ein. Wenn ich wieder auf 0x62 0xdf 0xff stelle, geht alles wie gewohnt. Was habe ich da bis jetzt nicht verstanden? Über Tipps und Infos wäre ich sehr dankbar. Gruß Markus
:
Verschoben durch Moderator
mgolbs schrieb: > ich habe einen ATTiny45 und möchte diesen mit 128kHz laufen lassen. Dann tue das auch. > Zum programmieren werden aber 5kHz gefordert. Mit 5kHz kommt aber keine > Kommunikation mehr zustanden. Dann läuft er nicht mit 128kHz, sondern mit 16. 128/16=8, also liegt die Vermutung nahe, daß die CKDIV8-Fuse fälschlicherweise programmiert ist. Die Hexzahlen für die Fuses sagen übrigens garnix, solange du nicht auch angibst, welchen Controller du programmierst.
>ATTiny45 Fuse 0x44 0xdf 0xff
Wie "c-hater" schon richtig erkannte ist die div8 fuse gesetzt dadurch
werden die 128kHz nochmal intern durch 8 geteil.
Somit darf die ISP Frequenz maximal 4kHz in der Theorie betragen,
in der Praxis sollten es weniger als 4kHz sein da die 128kHz von
Temperatur und Spannung abhängen!
Die 128kHz sind eigentlich nur 120Khz bei 5Volt und 25 Grad Temperatur,
somit muss die ISP Frequenz dementsprehend niedriger sein.
(Siehe Datenblatt Seite 191, Figure 22-38)
Zusätzlich hast du die Fuse "ungeschickt" eingestellt, soll heißen du
hast die Wartezeit (SUT[1:0]) die nach einem Power_on eingelegt wird um
Stabieles Arbeiten zu gewährleisten auf Brown-Out eingestellt aber
selbigen nicht eingeschalten.
Der Avr abeitet schon bei einer niedrigeren Spannung als im Datenblatt
angegeben jedoch sehr unstabiel (z.b. Rechenfehler), erst bei der
mindest Spannung von 2,7 Volt läuft er auch stabiel.
Also entweder Brown-Out einschalten oder z.b. "Slowly rising power" bei
den Fuse einstellungen um zu gewährleisten das der Avr erst mit der
arbeit beginnt wenn die Spannung auch hoch genug ist.
Hallo, danke für die vielen hilfreichen Infos. Es war wirklich die div8 fuse. Komisch war nur, dass ich mit dem Atmel Studio 5.1 die Programmierung vornehmen konnte, mit dem 4er nicht. Nun funktioniert alles wie gewünscht. Arbeite jetzt mit AVRDude unter Linux. Gruß und nochmal Dank! Markus
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.