Wie (un)genau ist der interne Taktgeber der ATTiny 13 ?

Pirx

Mitglied
15. Aug. 2009
305
14
18
Möckern
Sprachen
  1. Assembler
Hallo zusammen,

Ich habe gerade einen ATTiny 13 so programmiert, dass er mir einen Ausgang im 36kHz Rhytmus ein- und ausschaltet. Realisiert ist das über einen timergesteuerten Interrupt, der den Ausgang immer fleißig toggelt. Das funktioniert soweit auch.

Mir ist aber aufgefallen, das ich mit den errechneten Timerwerten recht ordentlich danebenliege. Konkret habe ich den ATTiny13 auf 9,6 MHz laufen und bei Prescaler = 1 und CompareWert von 133 sollte es alle ca. 14µs einen Interrupt geben (entspricht ca. 72kHz, nach an/aus toggeln ca. 36kHz). Heraus kamen aber nur ca. 32kHz (gemessen mit Freq.-Zähler).

Um auf 36 kHz zu kommen, mußte ich den Comparewert auf 116 herabsetzen. Wenn ich jetzt aus diesem Wert den Prozessortakt errechne, ergeben sich gerade mal 8,4 MHz. Kann das sein ? Ist die Abweichung des internen Taktgebers tatsächlich so groß ?

Schonmal danke für eure Antworten.

Gruß
Pirx
 
Hallo Pirx,

die 9,6MHz sind als Nennfrequenz bei einer Betriebsspannung von 3V und 25°C angegeben. Laut Datenblatt erreicht man Fehlergrenzen von <+/-10% ohne weitere Kalibrierungsmaßnahmen. Mit Kalibrierung erreicht man <+/-3%.

Es kann also schon sein, dass du ordentliche Abweichungen vom Nennwert hast. Eine höhere Betriebsspannung (du nutzt bestimmt 5V) wirkt sich hier allerdings auf eine etwas höhere Frequenz aus.

Grüße,
Dirk
 
Hi Dirk,

ganz richtig vermutet, ich betreibe die Schaltung mit 5V.

Wenn ich noch die 5 Taktzyklen einberechne, die zwischen dem Compare und dem Toggeln des Augangs liegen, sinkt die Abweichung immerhin schonmal auf unter 10%.

Da muß man wohl bei zeitkritischen Anwendungen immer individuell kalibrieren ... oder eben einen Quarz nehmen.

Gruß
Pirx
 
Hallo,

Da muß man wohl bei zeitkritischen Anwendungen immer individuell kalibrieren ... oder eben einen Quarz nehmen.
ich schätze mal, du wirst ohne Quarz ein weiteres Problem haben ...
Der interne RC-Oszillator wird sich mit Veränderung der Temperatur
verstellen. Er wird auf jeden Fall nicht so temperaturstabil sein wie ein
Quarz. Auch wenn Quarze auch eine kleine Temperaturabhängigkeit haben.
Aber nicht so stark wie ein RC-Oszillator.

Gruß
Dino
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)