Forum: Mikrocontroller und Digitale Elektronik Zeitberechnung


von Armin A. (10110010)


Lesenswert?

Hallo Leute

ich habe folgende Zeilen:

Loop:
  cbi PORTB, 0x04
  sbi PORTB, 0x04
  rjmp Loop

Diese 3 Zeilen brauchen genau 6 Zyklen und 5µs.
Wenn ich das mal hoch rechne komme ich auf 1200000 Zyklen in einer 
Sekunde.

Der ATTiny13A müsste eigentlich Standartmäßig auf 9,6MHz eingestellt 
sein.
Bedeutet, 9600000 in einer Sekunde.
Macht für die 6 Zyklen eigentlich 0,625µs.

Hab ich da einen Denkfehler, oder ist der Tiny auf 1,2MHz???

Kann mich da einer mal einfach aufklähren?

von Thorsten S. (thosch)


Lesenswert?

Mach doch mal die CLKDIV8 Fuse aus...

von Michael B. (laberkopp)


Lesenswert?

Auf was ist denn CKSEL[0:1] programmiert ?

Vielleicht ist ja CKDIV8 programmiert.

"The device is shipped with the CKDIV8 Fuse programmed"

Übrigens: Standard.

Nicht Standarte.

von Chris D. (m8nix)


Lesenswert?

Hi Armin,

Taktzyklen sind sind Abhängig vom Prozessor-Befehl... 1/2/3 Zyklen.
Wie schnell die Zyklen abgearbeitet werden bestimmt der Prozessor-Takt.

Wie kommst du auf "3 Zeilen brauchen genau 6 Zyklen und 5 µS?

von Armin A. (10110010)


Lesenswert?

Ich habe geschaut wie viele Zyklen der Counter im Debug hoch zählt.
Die Zeit habe ich mit einem Oszyloskop gemessen.

Das mit dem Fuse hört sich plausibel an.
Werde das mal überprüfen.

von Chris D. (m8nix)


Lesenswert?

5 / 8 = 0,625 ... Passt !

von c-hater (Gast)


Lesenswert?

Chris D. schrieb:

> Wie kommst du auf "3 Zeilen brauchen genau 6 Zyklen und 5 µS?

Er hat vielleicht einfach nur das RICHTIGE getan und im instruction set 
reference manual nachgeschaut, wieviele Zyklen die verwendeten 
Instruktionen benötigen?

Wenn ja, benutzt er offensichtlich keinen ATxmega, sondern einen 
"normalen" AVR8. Beim ATxmega würde die Schleife nur 4 Zyklen 
brauchen...

Allerdings: die ganz neuen ATtinys haben den Kern der ATxmegas, auch bei 
denen würde die Schleife also nur vier Takte dauern. Es ist also wohl 
nicht länger zielführend, zwischen "normalen" AVR8 und ATxmega zu 
unterscheiden...

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
Noch kein Account? Hier anmelden.