Nicht genug Timer im AVR!

Gast #157050
Lesenswert?

folgendes Problem:

möchte mit einem ATmega16 zwei Frequenzen (5-5000Hz) gleichzeitig
zählen. Dafür brächte ich eigentlich 3 Timer, einen für das Zeitfenster
(Timer)und zwei zum zählen (Counter). Gibt es da einen Trick wie man mit
den Resourcen im ATmega auskommt? Problem ist auch das ich in der Zeit,
wo die Timer zählen gerne was anderes machen möchte...Hatte mal
überlegt die Entladekurve eines Kondensators als Zeitfenster zu
nehmen...

Gibts da was elegantes?

Gruß
Falk S.
Gast #157051
Lesenswert?

Wie wäre es wenn du jeden Frequenzeingang auf jeweils einen externen
Interrupt Eingang legst. In jeder Interupt Routine zählst du dann
manuell eine 16Bit Variable hoch. Dann bräuchtest du nur einen Timer
der in regelmäßigen Abständen beide Variablen entsprechend weiter
verarbeitet.
Ansonsten hat der ATMEGA16 eigentlich doch drei Timer.
Gast #157055
Lesenswert?

Gibt wohl tatsächlich 3 timer...

Ich blätter gerade mal im Datenblatt...ich finde es etwa verwirrend,
das der 8bit Timer und der 16bit timer beide timer1 heißen...dachte
daher man könnte sie nur alternativ benutzen. Zumindest benutzen beide
alternativ den externen Pin T1, oder?

Gruß
Falk S.
Gast #157056
Lesenswert?

fuer dein vorhaben reicht 1 timer (16 bit)
dann kannst du alle X Sekunden den Timerwert auslesen, resetten und
ausrechnen, was fuer eine Frequenz du am eingang hast

alternativ gibt es aber auch frequenz spannungswandler nur das waere
nciht gerade so genau aber warscheinlich viel einfacher

Gruss Jens
Gast #157058
Lesenswert?

ich denke mal er meint, daß du einen timer nimmst
sagen wir mal den 16bit

den stellt du z.B. auf 1sek ein
deine beiden signalquellen hängst du an die externen ints und wenn der
int ausgelöst wird schiebst du den timerwert in ein register und somit
hast du die frequenz da du ja weiß wiel lang eine "timer-einheit"
ist.
Gast #157059
Lesenswert?

Inzwischen sehe ich sogar die chance 4 signale gleichzeitig zu messen
(was mein Ziel ist). Es gibt 3 externe IR. Gibt es noch eine weitere
Möglichkeit über einen der Pins einen IR zu erzeugen?

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