<< Előző oldal Vissza a tartalomjegyzékhez Következő oldal >>
15.3. Timer 1
A Timer 1 egy 16-bites felfelé számláló áramkör. (Nincs minden mikrovezérlő típusba beépítve.) Főbb jellemzői:
ˇ
a két 8-bites számlálólánc (TMR1L, TMR1H) és a T1CON üzemmód beállító vezérlő regiszter is az adatmemória-területen van elhelyezve, így kezelésük megegyezik egy általános adatregiszterével;
ˇ
tetszőleges időpontokban írható és olvasható, vagyis kezdőértékkel feltölthető, illetve állapota bármikor megvizsgálható;
ˇ
3-bites programozható előosztóval rendelkezik, 1:1, 1:2, 1:4 és 1:8 beállítható osztási arányokkal;
ˇ
választható külső vagy belső léptetőjel, ahol a belső jel csak az utasításciklus órajele, tehát az oszcillátor órajelének negyede lehet;
ˇ
választható szinkron vagy aszinkron léptetés;
ˇ
a külső jel felfutó élére történik a léptetés;
ˇ
külön LP üzemmódú oszcillátor áramkör;
ˇ
túlcsordulás hatására megszakítást kezdeményezhet (megszakítás logika);
ˇ
a CCP modul számlálási feladatait is elláthatja kiolvasási és összehasonlítási üzemmódokban;
ˇ
egyes újabb mikrovezérlő típusoknál egy beépített tiltókapu áramkör segítségével külső vagy egy meghatározott belső jellel a számláló léptetése tiltható.
A Timer 1 áramkörének elvi vázlata:
15.3-1. Ábra
Az ábrán megfigyelhető, hogy a Timer 1 számláló áramkör léptetőjele:
ˇ
a T1CKI mikrovezérlő bemenetre kapcsolt külső jel;
ˇ
a T1OSO és T1OSI mikrovezérlő bemenetek közé kapcsolt kvarckristállyal kiegészített (T1OSC) belső oszcillátor áramkör órajele;
ˇ
vagy a mikrovezérlő órajelgenerátor frekvenciájának negyede lehet.
A léptető jel kiválasztása a T1CON vezérlő regiszterben elhelyezett TMR1CS és bitek beállításával végezhető el.
A külső léptetőjel állandó frekvenciájú órajel vagy véletlenszerű impulzus-sorozat egyaránt lehet, ha az, a szükséges időzítési feltételeknek megfelel.
A 3-bites előosztó áramkör Timer 1-hez rendelése és az osztási arány beálítása a T1CON vezérlő regiszterben elhelyezett T1CKPS0 és T1CKPS1 bitek beállításával történhet.
A Timer 1 számláló beállítható üzemmódjai:
ˇ
szinkron időzítő üzemmód, amikor a számláló, illetve az előosztó léptetését a belső utasításciklus órajele végzi, így a léptetés minden esetben szinkronizáltan megy végbe (TMR1CS = "0"). A mikrovezérlő készenléti állapotában, a számláló léptetése az órajel leállítása miatt természetesen szünetel.
ˇ
szinkron számláló üzemmód, amikor a számláló, illetve az előosztó léptetését egy külső léptető jel vagy a T1OSC beépített oszcillátor áramkör végzi és a beépített szinkronizáló áramkör aktiválva van (TMR1CS = "1", = "0"). Ebben az üzemmódban, a mikrovezérlő készenléti állapotában, a számláló léptetése szünetel a szinkronizáló áramkör kikapcsolása miatt, de az előosztó továbbra is működik.
ˇ
aszinkron számláló üzemmód, amikor a számláló, illetve az előosztó léptetését egy külső léptető jel vagy a T1OSC beépített oszcillátor áramkör végzi és a beépített szinkronizáló áramkör kikapcsolt helyzetű (TMR1CS = "1", = "1"). A számláló léptetése a mikrovezérlő készenléti állapotában is folytatódik és túlcsordulás esetén ébresztést vagy megszakítást generálhat. Az aszinkron számláló üzemmód kiválasztása tiltja a Timer 1 használatát a CCP modul számlálási feladataihoz. A Timer 1 számláló regiszterének növelése a külső léptető jelhez képest minimális késéssel történik meg, ezért az áramkör kiválóan alkalmas valós idejű időóra alkalmazásokhoz.
A Timer 1 léptető jele egy szinkronizáló áramkörrel késleltethető olyan mértékben, hogy a léptetés egy jól meghatározott időpontban, a Q4 órajelciklus elején történjen meg, így ez a folyamat nincs hatással egy esetleges érték kiolvasásra, amely a Q2 órajelciklusban megy végbe. A szinkronizáló áramkör a T1CON vezérlő regiszterben elhelyezett vezérlő bittel kapcsolható be. Az áramkör késleltetése 3..7 órajelciklus, vagyis két utasításciklusnál minden esetben rövidebb.
A Timer 1 számláló regiszterei, a TMR1L és TMR1H regiszterek az általános adatmemória regiszterekhez hasonlóan tetszőleges időpontban írhatóak és olvashatóak, nullázhatóak, kezdőértékkel feltölthetőek, pillanatnyi értékük tesztelhető. A TMR1L és TMR1H regiszterek a mikrovezérlő indulásakor nem kapnak előre meghatározott kezdőértéket, valamint Reset-események hatására értéküket nem változtatják. A TMR1L vagy TMR1H regiszterek írásakor a hozzárendelt előosztó léptetőregisztere nullázódik.
Egy 16-bites számlálóérték kiolvasásánál vagy értékadásánál felléphet az a helyzet, amikor a két 8-bites regiszter olvasása, illetve írása közben megy végbe a regiszterek közötti átvitel, így az érték hibás lehet. A kiolvasásra és értékadásra a 15.03.03. fejezetben bemutatott algoritmusokat kell használni!
A TMR1H regiszter túlcsordulásakor (átváltás H'FF'-ről H'00'-ra) a PIRx vezérlő regiszterben elhelyezett TMR1IF bit logikai "1" értékre áll be. Ha a Timer 1 túlcsordulás megszakítás a PIEx vezérlő regiszterben elhelyezett TMR1IE bittel engedélyezve van, valamint a periféria megszakítás és a megszakítások globálisan is engedélyezettek, létrejön egy megszakításkérés. (A TMR1IF jelzőbitet szoftverből kell nullázni.) Ez a megszakításkérés aszinkron számláló üzemmódban, a mikrovezérlő SLEEP állapotból való ébresztésére is felhasználható, mivel a Timer 1 ebben az üzemmódjában SLEEP állapotban is léptethető.
A Timer 1 megszakítás logikája:
15.3-2. Ábra
Egy tiltókapu áramkörrel felszerelt Timer 1 számláló elvi vázlata (PIC16F688):
15.3-3. Ábra
A tiltókapu áramkör a T1CON vezérlő regiszterben elhelyezett TMR1GE vezérlő bittel aktiválható és a T1GINV bittel még az aktiváló logikai szint is kiválasztható.
A tiltókapu vezérelhető a mikrovezérlő bemenetéről vagy a C2 analóg komparátor kimenetéről, amely források közül a CMCON1 analóg komparátorokat vezérlő regiszterben elhelyezett T1GSS vezérlő bit választ.
A tiltókapu áramkör lehetővé teszi a számláló gyors megállítását digitális vagy analóg események bekövetkeztekor. Ez a jellemző nagyban egyszerűsíti számos különleges áramkör, például a delta-szigma A/D átalakítók megvalósítását.
A Timer 1 számlálót részleteiben bemutató fejezetek:
Vezérlő regiszterek
Külső léptetés
Olvasás, írás
Oszcillátor áramkör
Tudomány és Technika (test@t-es-t.hu)
<< Előző oldal Vissza a tartalomjegyzékhez Vissza a lap tetejére Következő oldal >>