Lehrbrief 4 Seite 31 freq_1

Postby namir » Thu Dec 20, 2012 12:00 am

1- // Impulsbreiten-Wert umrechnen in korrekte Impuls-Breite in ms
breite = (wert * TMZ) * 1000;

// Berechnung der Frequenz in kHz
freq = (1 / (wert * TMZ * 2)) / 1000;

Der Frequenz des Rechtecksignal ist:
freq = 1/(2*breite)
oder verstehe ich etwas falsch.

2- kann mir jemand genau erklaeren was ist der Unterschied zwischen Timer und Counter?

Danke im voraus.
namir
 
Posts: 17
Joined: Fri Jan 03, 2014 1:52 pm

Postby delaco » Sat Dec 22, 2012 12:00 am

Hallo !

Zu 2:

Ein Counter ist eine Zählschleife, die von einem definierten Anfangswert bis zu einem Endwert "zählt". Also wird ein Wert inkrementiert und bei Erreichen des Endwertes erfolgt ein Überlauf. Der Zähler startet neu... (im Regelfall)
Grundlage ist der Systemtakt und der Endwert (sowie ggf. der Startwert).

Beispiel:
Jedes Inkrementieren dauert 10 ms => Zähler zählt von 1 bis 100
=>Zähler läuft also nach 1s [100 * 10 ms] über
(Max-Wert erreicht). Wenn man nun nach jedem Überlauf eine Funktion auslösen lässt, erhält man einen "Timer".
Meistens löst man dann einen Interrupt aus, um eine Funktion zu erreichen. Diese Zähler sind meist in Hardware im uC implementiert.Startwert und Endwert in SFRs laden und dann den "Zähler" starten. Dies wird dann als Timer bezeichnet.

Baue ich in die entsprechende Routine eine Schleife ein, die wiederum einen Wert bis 60 inkrementiert, erhalte ich einen Minuten-Software-"Timer".

Frequenzzähler (Counter) zählen nun Ereignisse innerhalb eines "Fensters" (Torzeit). 1000 Ereignisse in einem 10 s-Fenster
ergeben dann 100 Ereignisse pro Sekunde => 100 Hz.

Durch geschicktes Setzen der Start/End-Werte des Zählers im uC kann man im Übrigen die verschiedensten "Zeitbasen" erstellen (auch bei krummen Systemtakten/Frequenzen) und zentral zu weiteren Timern ausbauen.

Ich hoffe Dir damit weitergeholfen zu haben..

Mfg.......Detlef

Nachtrag:

Ein Timer lässt sich auch per Software erreichen, nur bestimmen dann weitere Einflüsse (weiterer Programmablauf/Compiler-Eigenarten u.a.) den zeitgenauen Ablauf. Die Hardware-Timer setzen stur mit entsprechend hoher Priorität ihre "Zählaufträge" um !

.
delaco
 
Posts: 15
Joined: Fri Jan 03, 2014 1:49 pm

Postby namir » Thu Jan 03, 2013 12:00 am

Vielen Dank Detlef,
deine Erklaerung ist deutlicher und verstaendlicher als die im Lehrbrief.
Der Unterschied ist jetzt klar zwischen counter und timer.
namir
 
Posts: 17
Joined: Fri Jan 03, 2014 1:52 pm

Postby μc-bernd » Fri Jan 04, 2013 12:00 am

Hallo Namir,
leider muss ich Detlef in einigen Punkten korrigieren:
Counter und Timer haben grundsätzlich zunächst einmal die gleiche Funktion: es geht dabei um das Zählen von Ereignissen (=Impulsen).
Dazu gibt es µC-intern auch nur eine EINZIGE Baugruppe, nämlich den Zähler.
Der Unterschied zwischen Timer und Counter besteht einzig und alleine darin, WOHER die Impulse zum Zähler gelangen:

COUNTER
Hierbei werden die Zählimpulse von extern, d.h. über einen µC-Anschluss-Pin eingespeist.
Du kannst also damit externe Ereignisse zählen:
- wie oft wurde ein Taster betätigt
- wie viele Produkte wurden gefertigt
- wie groß ist die Drehzahl eines Motors
- usw.

TIMER
Hierbei kommen die Impulse von intern, also aus dem µC selber, es sind nämlich die Maschinenzyklen.
Da diese vom Quarz abgeleitet werden, erhälst Du Impulse von sehr genauer zeitlicher Breite, d.h. Du kannst diese Impulse zur Zeitmessung benutzen, z.B. Ausmessen, wie breit ein Impuls ist oder sie als Basis verwenden, um Frequenzen zu messen.
Auch kannst Du damit sehr exakte Zeitverzögerungen realisieren.

Alle anderen Betriebsarten:
- Starten des Zählvorgangens von intern oder von außen,
- Autoreload-Betrieb
- Interrupt-Auslösung
- etc.

sind beim Counter und Timer völlig identisch, es gibt da KEINEN Unterschied.
Der einzige Unterschied besteht also nur darin, woher die Zählimpulse kommen.

Ich hoffe, es ist jetzt etwas klarer geworden.

Bernd
μc-bernd
 
Posts: 3
Joined: Fri Jan 03, 2014 2:12 pm

Postby delaco » Fri Jan 04, 2013 12:00 am

Hallo Zusammen & Frohes Neues Jahr !

Nun, die obige Erklärung ist selbstverständlich korrekt.
Ich wollte nur auf die (offensichtlichen) Verständnis-Probleme
näher eingehen.

Letzendlich sind beide Baugruppen identisch - werden ja auch von identischer Hardware gebildet. Die Quelle für die Impulse ist - wie beschrieben - unterschiedlich. Und der Timer erhält ständig Impulse - der Counter nur bei entsprechenden Ereignissen.

Mir fiel beim Verfassen der Antwort auf Namir`s Frage auf, dass man schnell Counter/Zähler/Timer usw. vermischt. Dies zeigt auch das man die Begriffe hier scharf trennen muss, aber dennoch meistens der gleiche "Familienstamm" vorliegt.

Im Grunde genommen ist doch jeder der Kreise (ob Counter oder Timer) immer nur eine Zähleinrichtung...

So, ich hoffe die Verwirrung ist nun perfekt 8=)

Mfg.......Detlef
delaco
 
Posts: 15
Joined: Fri Jan 03, 2014 1:49 pm

Postby namir » Tue Jan 22, 2013 12:00 am

Vielen Dank fuer die Erlaeterung der Frage 2/

Was ist mit der Frage 1/ (Frequenzberechnung).

Mfg. Semi
namir
 
Posts: 17
Joined: Fri Jan 03, 2014 1:52 pm


Return to Mikrocontroller-Fernlehrgang (TFH)

Who is online

Users browsing this forum: No registered users and 1 guest