www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATtiny 45: Bug in Clockumschaltung (CLKPR)


Autor: Winfried (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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)

Autor: Winfried (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

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.