Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Doar rabdarea si perseverenta in invatare aduce rezultate bune.stiinta, numere naturale, teoreme, multimi, calcule, ecuatii, sisteme




Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

Informatica


Index » educatie » Informatica
Circuitul Watchdog


Circuitul Watchdog




Circuitul Watchdog

1. Prezentare generala

Circuitul WD este un generator de semnale de Reset periodice avand ca sursa de ceas un oscilator pe chip care functioneaza la 1MHz. (valoare tipica la Vcc=5V) si un prescaler. Ele genereaza periodic semnalul de Reset pentru repornirea automata a sistemului daca acesta a iesit in mod accidental din programul normal de functionare. Programul normal de functionare va contine instructiunea de resetare a acestuia, WDR (Watchdog Reset), care aduce la 0 continutul numaratorului WD. Daca perioada de WD expira fara sa apara o instructiune WDR, inseamna ca microcontrolerul nu se mai afla in programul normal si este resetat de WD, instructiunile incepand de la vectorul de resetare.

Cu ajutorul prescaler-ului WD, intervalul de resetare poate fi ajustat de la 16.000 la 2.048.000 cicluri (reprezentind 16 - 2.048 ms). Exista opt trepte in acest interval, care pot fi selectate cu bitii WDP0-WDP2 din registrul WDTCR de la adresa $21.




Registrul de control al Watchdog - WDTCR.

WDTCR

Bit

7

6

5

4

3

2

1

0

$21

-

-

-

WDOE

WDE

WDP2

WDP1

WDP0

Citeste/scrie

C

C

C

C/S

C/S

C/S

C/S

C/S

Valoare initiala

0

0

0

0

0

0

0

0

  • Bitii 7.5 - Res: Biti rezervati.

Acesti biti sunt rezervati si se vor citi intotdeauna ca zero.

  • Bitul 4 - WDTOE: Validarea opririi Watchdog

Acest bit trebuie sa fie setat (1) atunci cand se dezactivaza WD. Odata setat, acest bit va fi resetat automat, prin hardware dupa patru cicluri de ceas.

  • Bitul 3 - WDE: Activarea Watchdog.

Cand WDE este setat (1), WD este activat, iar daca WDE este trecut in 0 functionarea WD este dezactivata. Acest bit poate fi sters doar daca bitul WDTOE este activat, asa cum s-a precizat anterior.

Exista deci un protocol strict de dezactivare a WD, pentru a se evita chiar dezactivarea sa accidentala atunci cand programul a iesit de sub control si a se asigura ca WD va genera un Reset. Ordinea operatiunilor va fi urmatoarea:

Intr-o singura instructiune se va scrie 1 logic atat in WDTOE cat si in WDE. Se va scrie 1 si in WDE chiar daca acesta fusese anterior tot in starea 1 logic.

In maxim patru cicluri de ceas se va scrie un 0 logic in WDE. Aceasta va dezactiva WD.

  • Bitii 2.0 - WDP2.0: Prescaler-ul WD, bitii 2, 1 si 0.

WDP 2.0 determina prescalarea ceasului WD atunci cand acesta este activat. Diferitele valori de prescalare si perioadele corespunzatoare sunt aratate in tabelul 7.1.

Tabelul 7.1. Selectarile prescalerului circuitului Watcdog.

WDP2



WDP1

WDP0

Perioada de expirare

0

0

0

16.000 cicluri

0

0

1

32.000 cicluri

0

1

0

64.000 cicluri

0

1

1

128.200 cicluri

1

0

0

256.000 cicluri

1

0

1

512.000 cicluri

1

1

0

1.024.000 cicluri

1

1

1

2.048.000 cicluri

Modul de lucru.

1. Se va scrie un program care sa functioneze in felul urmator:

La initializare se va valida doar intreruperea externa 0;

Se va programa T/C1 cu o constanta de timp de circa 0,5 secunde;

In bucla principala se va numara pe led-urile 1 si 2. Aceasta se va realiza prin afisarea in pozitiile respective a bitilor superiori ai T/C1, folosind instructiuni de rotatie.

La o intrerupere externa 0, el va sari intr-o alta bucla, considerata parazita, in care se va numara pe led-urile 7 si 8 (prin afisarea in aceste pozitii a celor 2 biti superiori ai T/C1). Saltul din bucla principala se poate face prin stergerea de catre subrutina de tratare a intreruperii, a unui bit pe care programul principal il testeaza la sfirsitul buclei sale si il gaseste in mod normal in 1.

Circuitul WD va fi programat cu perioada maxima, de aprox 2 sec. El va fi resetat doar de bucla principala, astfel incat dupa expirarea acestei perioade, programul va reveni automat in bucla principala.








Politica de confidentialitate





Copyright © 2021 - Toate drepturile rezervate