Sunteți pe pagina 1din 2

1 Timer-e

DESCRIEREA GENERAL A TIMER-ELOR Microcontrolerul ATmega16 dispune de 2 timer-e pe 8 bii i un timer pe 16 bii. Timer-ele pot fi folosite att pentru generarea unor aciuni la intervale date de timp (situaii cnd timpul este cunoscut), ct i pentru msurarea unor intervale de timp legate de anumite evenimente exterioare microprocesorului (situaii cnd timpul este necunsocut). 1.1 1.1.1 Regitri Un timer conine mai muli regitri: regitri de date registrul numrtor (TCNTn1), regitrii de comparare: o pentru ieire atunci cnd valoarea din registrul numrtor devine egal cu valoarea unui registru de comparare pentru ieire, exist posibilitatea de a efectua o operaie (declanarea unei ntreruperi, setarea pinului OCn, etc) o pentru intrare exist posibilitatea ca, atunci cnd se identific un fenomen exterior (de exemplu, setarea pinului ICPn) valoarea curent a registrului numrtor s fie copiat n registrul de comparare pentru intrare (ICRn) regitri de control pot fi unul sau doi (TCCRn sau TCCRnx, unde x poate fi A sau B) regitri de stare registrul de validare a ntreruperilor (TIMSK acelai pentru toate timer-ele), registrul de identificare a condiiei de ntrerupere (TIFR acelai pentru toate timer-ele) Noiuni abstracte n procesul de numrare se au n vedere urmtoarele noiuni: BOTTOM valoarea minim 0 TOP un numr ce depinde de configuraia timer-ului. Poate fi egal cu valoarea din registrul de comparare pentru ieire sau cu: o 0xFF pentru un timer de 8 bii o 0xFF, 0x1FF, 0x3FF pentru un timer de 16 bii MAX valoarea maxim 255 pentru un timer de 8 bii i 65535 pentru un timer de 16 bii Moduri de funcionare Un timer poate funciona n mai multe moduri: Normal se numr periodic de la BOTTOM la MAX Clear Timer on Compare (CTC) se numr periodic de la BOTTOM la TOP Fast PWM se numr periodic de la BOTTOM la TOP cu posibilitatea de a modula n durat ieirea de la pinul Ocn (sau OCnx2); de exemplu, n felul urmtor: o atunci cnd valoarea din registrul numrtor devine egal cu BOTTOM, pinul OCn este resetat o atunci cnd valoarea din registrul numrtor devine egal cu valoarea din registrul de comparare pentru ieire, pinul OCn este setat

1.1.2

1.1.3

Pentru fiecare mod de funcionare exist, de regul, mai multe opiuni (a se vedea manualul tehnic al microcontrolerului). 1.1.4 ntreruperi Exist 3 categorii de ntreruperi de timer: atunci cnd valoarea numrtorului ajunge la MAX (ntrerupere de overflow) atunci cnd valoarea numrtorului devine egal cu cea a unui registru de captur pentru ieire (ntrerupere de compare match)

1 2

n este numrul de ordine al unui timer concret. De exemplu registrul numrtor al timer-ului 0 se numete TCNT0. Unele timer-e pot genera 2 semnale modulate n durat pentru aceasta exist pinii OCnA i OCnB.

atunci cnd are loc o condiie de natur extern setarea/resetarea pinului ICPn (ntrerupere de captur)

Modularea n durat a unui semnal Modularea n durat poate fi obinut pe mai multe ci, cea mai simpl fiind configurarea timer-ului n modul FastPWM. Parametrii modulrii se stabilesc astfel: 1. perioada este timpul ct are loc o numrare de la BOTTOM la TOP. Acest timp depinde desigur i de frecvena semnalului de ceas furnizat numrtorului. Mai exact, perioada semnalului modulat este dat de relaia: 1.1.5 TOCnxPWM =

N (1+TOP) fOSC

Ecuaia 1-1 unde fOSC este frecvena semnalului de ceas, iar N este pre-scalarea (divizarea mrimii fOSC), care poate lua ca valori doar puteri ale lui 2. Perioada determin o calitate important a modulrii rezoluia, care se msoar n bii i este dat de relaia: RFPWM =

log(1 TOP ) log(2)

Ecuaia 1-2 2. factorul de umplere este determinat de valoarea din registrul de comparare pentru ieire

n diagrama 1-1 este dat funcionarea n timp a unui timer n modul FastPWM (fr ntreruperi):
MAX

TOP TCNTn MIN

OCnx Factorul de umplere Perioada

Diagrama 1-1

S-ar putea să vă placă și