Timer Atmega16

download Timer Atmega16

of 2

Transcript of Timer Atmega16

  • 7/31/2019 Timer Atmega16

    1/2

    1 Timer-e

    1.1 DESCRIEREA GENERAL ATIMER-ELOR

    Microcontrolerul ATmega16 dispune de 2 timer-e pe 8 bii i un timerpe 16 bii. Timer-ele pot fi folosite attpentru 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 Regitri

    Un timerconine 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 unuiregistru de comparare pentru ieire, exist posibilitatea de a efectua o operaie (declanarea

    unei ntreruperi, setarea pinului OCn, etc)o pentru intrareexist posibilitatea ca, atunci cnd se identific un fenomen exterior (de

    exemplu, setarea pinului ICPn) valoarea curent a registrului numrtor s fie copiat nregistrul 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 (TIMSKacelai pentru toate timer-ele),registrul de identificare a condiiei de ntrerupere (TIFR acelai pentru toate timer-ele)

    1.1.2 Noiuni abstracten procesul de numrare se au n vedere urmtoarele noiuni: BOTTOMvaloarea minim 0 TOPun numr ce depinde de configuraia timer-ului. Poate fi egal cu valoarea din registrul de

    comparare pentru ieire sau cu:o 0xFFpentru un timer de 8 biio 0xFF, 0x1FF, 0x3FFpentru un timer de 16 bii

    MAXvaloarea maxim 255 pentru un timerde 8 bii i 65535 pentru un timerde 16 bii1.1.3 Moduri de funcionare

    Un timerpoate funciona n mai multe moduri: Normalse numr periodic de laBOTTOMlaMAX Clear Timer on Compare (CTC)se numr periodic de laBOTTOMla TOP Fast PWMse numr periodic de laBOTTOMla TOPcu 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 cuBOTTOM, pinul OCn este resetato atunci cnd valoarea din registrul numrtor devine egal cu valoarea din registrul de

    comparare pentru ieire, pinul OCn este setat

    Pentru fiecare mod de funcionare exist, de regul, mai multe opiuni (a se vedea manualul tehnic al

    microcontrolerului).

    1.1.4 ntreruperiExist 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)

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

  • 7/31/2019 Timer Atmega16

    2/2

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

    1.1.5 Modularea n durat a unui semnalModularea 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. perioadaeste timpul ct are loc o numrare de laBOTTOMla TOP. Acest timp depinde desigur i defrecvena semnalului de ceas furnizat numrtorului. Mai exact, perioada semnalului modulat este datde relaia:

    TOCnxPWM =OSC

    N (1+TOP)

    f

    Ecuaia 1-1

    undefOSCeste frecvena semnalului de ceas, iar N este pre-scalarea (divizarea mrimiifOSC), care poatelua ca valori doar puteri ale lui 2.

    Perioada determin o calitate important a modulrii rezoluia, care se msoar n bii i este dat derelaia:

    RFPWM = log(1 )log(2)

    TOP

    Ecuaia 1-2

    2. factorul de umplereeste determinat de valoarea din registrul de comparare pentru ieire n diagrama 1-1 este dat funcionarea n timp a unui timern modul FastPWM (fr ntreruperi):

    TCNTn

    OCnx

    TOP

    MIN

    MAX

    Factorul de umplere

    Perioada

    Diagrama 1-1