ATtiny 45: Bug in Clockumschaltung (CLKPR)

Gast #273855
Lesenswert?
• ▲
▼
Hallo zusammen,

experimentiere gerade etwas mit dem ATtiny45. Es geht um die
Clockumschaltung. Folgendes Verhalten zeigt sich:

- bei 8MHz RC intern funktioniert der /8 Divider (Fuse CKDIV8)

- bei 6.4MHz RC intern wird immer /8 dividiert, egal wie CKDIV8 gesetzt
ist

- bei 128KHz RC intern funktioniert CKDIV8 auch wie erwartet

- die Stromaufnahme im Idle Mode ist bei 6.4MHz / 8 sehr hoch. Bei
8Mhz/8 sind es bei 3V 330uA, bei 6.4MHz/8 sind es dagegen 1.42mA.

- die dynamische Umschaltung der Frequenz während des Betriebes über
den Clock Prescaler CLKPR funktioniert überhaupt nicht, egal welche
internen Taktquellen ich ausgewählt habe. Das Programmstück zur
Umschaltung sieht so aus:

;Speed Divider Set
cli
ldi a, 0b10000000
out CLKPR, a
ldi a, 0b00001000
out CLKPR, a
sei

Ich hab da keine Idee mehr, was ich falsch machen könnte, vermute so
langsam wirklich einen Bug im Chip. Die Teile sind ja noch brandneu.
Zumal meine frisch gekauften aus der 32KW 05 stammen. Vielleicht lag da
noch was im Argen.

Hat jemand schon mit dem Tiny 45 experimentiert und weiß näheres?

(Benutze AVRISP und AVRStudio neueste Version 4.12 Build 460)
Gast #273856
Lesenswert?
• ▲
▼
Hab weiter experimentiert. Komischerweise funktioniert es, wenn man
statt "out" eine direkte Ram-Adressierung verwendendet:

.def a           = r16


              ;Speed Divider Set
              cli
              ldi a, 0b10000000
              sts CLKPR+0x20, a
              ldi a, 0b00000000
              sts CLKPR+0x20, a
              sei

Allerdings hat der 6.4MHz Takt weiterhin sehr merkwürdiges Verhalten.
Bei dem funktioniert auch die Taktumschaltung nicht.

Siehe hierzu auch meine Weblogeinträge vom 8.1.2005:
http://www.wikidorf.de/reintechnisch/Inhalt/AVRWeblog

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 20 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.