Vissza a főoldalra    Vissza a PIC főoldalra

<< Előző oldal   Vissza a tartalomjegyzékhez   Következő oldal >>

 


5.1. WDT (Watchdog Timer)


      A közepes teljesítményű PIC mikrovezérlőkbe egy úgynevezett WDT (Watchdog Timer) biztonsági időzítő áramkör van beépítve, amely az üzembiztos működést hivatott szavatolni instabil üzemi körülmények esetén.
      A WDT egy komplett belső szabadonfutó RC oszcillátor és számláló, amelynek időkifutása 15..30ms (25°C;2..6V), illetve 7..55ms (-40..+125°C;2..6V). (A névleges időkifutás 18ms.) A külön RC oszcillátor eredményeképpen a WDT SLEEP üzemmódban is működhet, amikor is a mikrovezérlő órajelét biztosító oszcillátor nem üzemel.
      A WDT időkifutása a mikrovezérlőben egy Reset-folyamatot indít meg. A felhasználói programban el kell helyezni egy vagy (szükség szerint) több CLRWDT utasítást, amely így még az időkifutás előtt nullázza a WDT számlálóját. Normál programfutás esetén így a WDT nem generál Reset-folyamatot. Viszont programleállás ("lefagyás") esetén a WDT nullázása elmarad, így egy Reset-folyamattal újraindul a működés.

      A WDT időkifutása:
     ˇ normál működés alatt Reset-folyamatot indít el;
     ˇ SLEEP üzemmódban ébresztést generál és a normál működés folytatódik.

      A következő ábrán a WDT környezetének blokkvázlata látható.

A WDT környezetének blokkvázlata
5.1-1. Ábra

      A WDT működése a mikrovezérlő konfigurációs szó WDTE bitjének "0"-ra állításával tiltható, ha az adott alkalmazás nem igényli ezt a biztonsági intézkedést.
      A WDT kifutási ideje növelhető, ha a Timer0 beállítható osztási arányú előosztója a WDT-hez van alkalmazva utóosztóként. Az előosztó hozzárendelése és az osztási arány beállítása az OPTION vezérlő regiszter (az újabb mikrovezérlőknél OPTION_REG regiszter) PSA, illetve PS2..PS0 bitjeinek megfelelő beállításával végezhető. Az előosztó hozzárendelése és osztási arányának beállítása programfutás közben is bármikor megváltoztatható.
      Az előosztó osztási arányának 1:128-ra való beállításával a WDT kifutási idő akár 2..4s-ra (25°C;2..6V) is megnövelhető.
      A CLRWDT és SLEEP utasítások nullázzák a WDT-t és a hozzárendelt utóosztót. (Az elő-, illetve utóosztó tulajdonképpen egy bitenként megcsapolt, 8-bites bináris számláló áramkör. Nullázása a 8db belső tároló kimenetének nullázását jelenti, a beállított osztási arány nem változik.)
      Az, hogy a mikrovezérlő WDT Reset-ből indult-e újra, eldönthető a STATUS regiszter (Time-Out) bitjének vizsgálatával.

      Ha az előosztó a WDT-hez van rendelve, az osztási arány átállítása előtt végre kell hajtani egy CLRWDT utasítást annak kizárására, hogy az átállítás alatt időkifutás történjen.
      Az előosztó hozzárendelésének megváltoztatására ajánlott programrészletek:
     ˇ a Timer0-tól a WDT-hez:

  ...    
      ;ha a Timer0 előosztás 1:1 volt, akkor a következő részt végre kell hajtani:
  bsf STATUS,RP0 ;az 1. adatmemórialap kiválasztása
  movlw B'xx0x0xxx ;1:1-től eltérő osztás beállítása a Timer0-hoz
  movwf OPTION_REG ;
  bcf STATUS,RP0 ;a 0. adatmemórialap kiválasztása
  clrf TMR0 ;Timer0 és az előosztó nullázása
  bsf STATUS,RP0 ;az 1. adatmemórialap kiválasztása
  movlw B'xxxx1xxx' ;WDT-hez rendelés, osztás módosítás nélkül
  movwf OPTION_REG ;
  clrwdt   ;WDT és utóosztó nullázása
  movlw B'xxxx1xxx' ;az utóosztó oszási arányának beállítása
  movwf OPTION_REG ;
  bcf STATUS,RP0 ;a 0. adatmemórialap kiválasztása
  ...    

     ˇ a WDT-től a Timer0-hoz:

  ...    
  clrwdt   ;a WDT nullázása
  bsf STATUS,RP0 ;az 1. adatmemórialap kiválasztása
  movlw B'xxxx0xxx' ;az előosztó Timer0-hoz rendelése, új osztás
  movwf OPTION_REG ;
  bcf STATUS,RP0 ;a 0. adatmemórialap kiválasztása
  ...    

      A WDT időkifutásának hőmérséklet- és tápfeszültség-függését mutatja be a következő közelítő ábra.

A WDT időkifutásának tápfeszültség- és hőmérsékletfüggése
5.1-2. Ábra

      A WDT időkifutása kis mértékben eszközfüggő, a pontosabb értékek az adott eszköz adatlapjában találhatók meg.

      A WDT áramkört mutatja be a Microchip AN720 jelű dokumentuma.

  Tudomány és Technika (test@t-es-t.hu)


 

<< Előző oldal   Vissza a tartalomjegyzékhez   Vissza a lap tetejére   Következő oldal >>

Vissza a főoldalra    Vissza a PIC főoldalra