Capture/Compare

Gast #2749453
Lesenswert?

Hi Leute,

ich soll mich über die Capture/Compare Einheit eine µC schlau machen. 
Habe dazu meine Unterlagen gewälzt und auch Wiki befragt. Nur steht in 
allem in etwa das gleich, womit ich aber irgendwie nix anfangen kann:

Timer-Modus: Aufwärtszählen mit verschiedenen Quellen als Taktgeber. Bei 
Zählerüberlauf kann ein Interrupt ausgelöst werden.

Capture-Modus: Beim Auftreten eines externen Signals wird der Inhalt des 
zugeordneten (laufenden) Timers gespeichert. Auch hier kann ein 
Interrupt ausgelöst werden.

Compare-Modus: Der Zählerstand des zugeordneten Timers wird mit dem 
eines Registers verglichen. Bei Übereinstimmung kann ein Interrupt 
ausgelöst werden.



Gibt's irgendwie Beispiele, die mir die einzelnen Modi näher erklären?
Gast #2749478
Lesenswert?

Danke erstmal für die antworten!

Unklar ist an den Sätzen nix. Ich will nur nicht irgendwelche Sätze 
auswendig lernen, wenn ich sie nicht wirklich verstanden habe und dazu 
hätt ich gern eine Beispielsituation wo der jeweilige Modus eingesetzt 
wird.
Gast #2749482
Lesenswert?

Capture:

Du lässt einen Zähler hochzählen und weißt in welchem Abstand er dies 
macht, z.B. zählt er jede Sekunde um eins hoch, kann man 'beliebig' 
konfigurieren.
Wenn nun der Wechsel eines "externes Signal" erkannt wird, wird dieser 
Zählerwert gespeichert und du kannst dann z.B. erkennen wie viel Zeit 
zwischen zwei externen Signalen vergangen ist. Beispiel: Zählerstand 
beträgt 10, dann sind 10s zwischen zwei "externen Signalen" (z.B. zwei 
steigende Flanken eines Signals) vergangen.

Compare:

Du stellst den Takt (z.B. 1Hz) ein und schreibst in das 
Vergleichsregister einen Wert (z.B. 20). Wenn der Timer diesen Wert 
erreicht, kannst du einen Interrupt auslösen. (Hier wäre dies dann alle 
20s ein Interrupt).

Gruß
LD
Gast #2749483
Lesenswert?

Hallo!
Timer ist wie eine frei laufende Uhr.
Capture ist wie eine Stoppuhr: auf ein Signal hin wird die Uhr 
abgelesen.
Compare ist wie ein Wecker: Du gibst 6 Uhr vor, und bekommst ein Signal 
wann es soweit ist.
Gast #2749779
Lesenswert?

Könnte man also den Capture/Compare auch so beschreiben:

Capture:
Es wird der Startwert am Timer und der Wert nach dem der Timer gestoppt 
wurde, gespeichert. Die Zählerschritte zwischen den beiden Ergebnissen 
ergeben den zeitlichen Unterschied der beiden Ereignisse.

Compare:
Der Zählerstand des Timers wird bei jedem Zählschritt mit einem vorher 
eingestellt Wert vergleichen. Wenn der Timer den Wert erreicht hat der 
eingestellt wurde, wird ein Interrupt/weiteres Signal ausgelöst.


Stimmt das soweit?
#2749793
Lesenswert?

poiu schrieb:
> Könnte man also den Capture/Compare auch so beschreiben:
>
> Capture:
> Es wird der Startwert am Timer und der Wert nach dem der Timer gestoppt
> wurde, gespeichert. Die Zählerschritte zwischen den beiden Ergebnissen
> ergeben den zeitlichen Unterschied der beiden Ereignisse.

Fast.
Der Timer läuft die ganze Zeit weiter. Da wird nichts gestartet oder 
gestoppt.

Du hast eine Uhr mit Sekundenzeiger. Die tickt die ganze Zeit.
Wenn dein Kumpel oben das Klavier aus dem Fenster schmeisst, schreit er 
"jetzt". Du siehst auf deine Uhr und merkst dir "Sekundenzeiger bei 28" 
(Capture!).
Wenn das Klavier unten aufschlägt, siehst du wieder auf die Uhr und 
merkst dir: "Sekundenzeiger bei 37" (Capture!).
Aus der Different 37 - 28 errechnest du, dass das Klavier 9 Sekunden 
geflogen ist.
Die Uhr läuft die ganze Zeit weiter.

> Compare:
> Der Zählerstand des Timers wird bei jedem Zählschritt mit einem vorher
> eingestellt Wert vergleichen. Wenn der Timer den Wert erreicht hat der
> eingestellt wurde, wird ein Interrupt/weiteres Signal ausgelöst.

Passt
Gast #2750686
Lesenswert?

Hallo!
...und poiu daran denken: wenn Du bei Capture zweimal auf die "Uhr" 
geschaut hast, und immer 15 abgelesen wurde, kann das Drei!!! Ursachen 
haben.
1) Du warst zu schell- der Zeiger ist noch nicht weiter gerückt,
2) der Zeiger hat inzwischen eine oder gar mehrere "Umdrehungen" 
gemacht,
3) die Uhr steht.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren