Untitled87

Untitled87



166 16. Watchdog w SAP 80515 535

Taki sposób reakcji procesora na oba sygnały zerujące umożliwia programową interpretację źródła zerowania mikrokontrolera:

•    jeśli znacznik WDTS = 0, to procesor został wyzerowany sprzętowo linią RESET,

•    jeśli znacznik WDTS = 1, to procesor został wyzerowany wskutek przepełnienia licznika watchdoga.

Zerowanie licznika watchdoga musi być zrealizowane przed upływem czasu, po którym licznik ten osiągnie stan przepełnienia (pomniejszonego o 4). Jeśli mikrokontroler sterowany jest rezonatorem kwarcowym o częstotliwości drgań własnych równych fGEN = 12 MHz to jeden cykl maszynowy trwa 1 ps. Oznacza to, że jeśli w programie nie zostaną wykonane obie instrukcje wpisujące jedynki logiczne na pozycje bitów WDT i SWDT, to po

65 536 - 4 = 65 532 cyklach maszynowych czyli po 65 532 ps

licznik watchdoga generuje sygnał wewnętrznego zerowania mikrokontrolera. Do okresowego odświeżania licznika watchdoga wykorzystuje się jeden z dostępnych w procesorze liczników ogólnego przeznaczenia, np. licznik TO, Tl lub T2. Licznik taki generuje cykliczne przerwanie, którego zadaniem jest odświeżanie stanu licznika watchdoga. Przerwanie to może zostać wykorzystywane na przykład do odmierzania odcinków czasu, testowania klawiatury, dynamicznej obsługi pola odczytowego, cyklicznego sterowania obiektami itp.

Jeśli do nadzorowania poprawności działania programu w procesorze SAB 80515/535 zastosowano watchdog, to program ten powinien być jak najrzadziej przerywany procedurami zerowania licznika watchdoga. Należy pamiętać, że wewnętrzne zerowanie procesora generowane jest o 4 cykle maszynowe wcześniej niż przepełnienie licznika. W przykładzie do odmierzania czasu, po którym licznik watchdoga ma być zerowany zastosowano licznik Tl mikrokontrolera. Przy obliczaniu okresu tWD powtarzania przerwania od licznika Tl wyrażonego w cyklach maszynowych jako wartość początkową należy przyjąć maksymalną wartość wyrażenia:

t WD = (65 536+ L-TH1.TL1) < 65 532

gdzie L jest liczbą cykli maszynowych potrzebnych do przyjęcia przerwania od licznika Tl i programowego zerowania licznika watchdoga. Jeśli założyć, że wykonywane są tylko instrukcje trwające 2 cykle maszynowe to L=10.

Spełniając powyższe wymagania należy przyjąć TH1, TLI = 14. Przykład programu spełniającego podane założenia przedstawiono poniżej.

;adres obsługi przerwania od licznika Tl

ORG 1BH

WD Obsługa_T1:

MOV TH1,#0 MOV    TLI,#14

SETB WDT 5ETB SWDT RETI


;THl<-0, wartość początkowa ;TL1 <- OEH,    licznika Tl

;WDT - IEN0.6 <-l, zerowanie licznika ;SWDT = IEN1.6<-1, watchdoga ;zakończenie obsługi przerwania od licznika Tl

WD_Init_l:    ;inicjalizacja przerwań i licznika Tl

;rejestr 1EN0 o adresie 0A8h:

EAL

| WDT ET2

ES 1! ET1

EX1 ETO EX0

MOV

IF.Mo,#88h

;IEN0 <- 88h

= 1000 lOOOb,

* ;odblokowanie wszystkich przerwań

;i przerwania

od licznika Tl

MOV

TH1,#0

;TH1 <- 00,

wartość początkowa

MOV

TLI,#14

;TL1 OEh,

licznika Tl

;rejestr TMOD o adresie 89h:

GATE

C/T# Ml

MO | GATE

C/T# Ml MO

licznik Tl

licznik TO

MOV

TMOD,#50h

;TMOD <- 50h - 0101 OOOOb

SETB

TRI

;TR1 <-l,

start licznika Tl

SETB

SWDT

;SWDT <—1,

start watchdoga

dalsza część programu


Pytania i problemy.

1.    Jaki jest cel stosowania watchdoga w mikrokontrolerach ?

2.    W jaki sposób uruchomić i zatrzymać watchdog ?

3.    Na czym polega odświeżanie licznika watchdoga i w jaki sposób tego dokonać ?

4.    Czym różni się wewnętrzne (od watchdoga) i zewnętrzne (linią RESET) zerowanie mikrokontrolera ?

5.    W jaki sposób uprościć procedurę WDObsluga Tl obsługi licznika Tl ?


Wyszukiwarka

Podobne podstrony:
Untitled88 168 16. Watchdog w SAB 80515 535 6. W przykładzie założono, że w programie użytkownika wy
Untitled85 __15. Obniżanie pobor • V "    ^ *16. Watchdog w SAB 80515/535 Za
Untitled86 164 16 Watchdog w SAB 80515 533 l icznik watchdoga zlicza każdy cykl maszynowy procesora,
Przewodzenie jako funkcja zarządzania Przewodzenie to taki sposób oddziaływania przełożonego na
Untitled11 -ii. mm&m MM 3. Od mikrokontrolera 8051 do 80515/535 Mikrokontroler
Untitled13 18 3. Od mikrokontrolera 8051 do 80515 Podobnie jak w mikrokontrolerze 8052 także w mikro
Untitled76 144 14. Licznik T2 w 8052 i SAB 80515/535 --1- n 2Sb 7 U ź U Schemat blokowy licznika T
Untitled77 146 14. Licznik T2 w 8052 i SAB 80515/535 COCAH3 1 COCAL3
Untitled80 152 14 Licznik T2 w 8052 i SAB 80515/535 skojarzonym z tym rejestrem (PI. 1 /CCI) pojawia
Untitled82 156 14 Licznik T2 w 8052 i SAB 80515/535 156 14 Licznik T2 w 8052 i SAB 80515/535 Stan_T2
71499 Untitled12 (11) 16 3. Od mikrokontrolera 8051 do 80515 rwań zewnętrznych również zwiększyła si
Untitled67 126 13. Przetwornik analogowo-cyfrowy w mikrokontrolerze SAB 80515 535 • próbkouHitiie st
Untitled68 128 13. Przetwornik analogowo-cyfrowy w mikrokontrolerze SAB 80515/535 128 13. Przetworni
Untitled70 132 13 Przetwornik analogowo-cyfrowy w mikrokontrolerze SAB 80515/535 Konsekwencją takieg
Untitled72 136 13. Przetwornik analogowo-cyfrowy w mikrokontrolerze SAB 80515 535 Pomiary wykonano w
Untitled73 138 14. Licznik T2 w 8052 i SAB 80515/535 8052 80515/535 -> zbocze opadające T2EX u
Untitled75 142 14. Licznik T2 w 8052 i SAB 80515/535 8052 Vcc 5 UD, r. PI.4 62,5 ms a 125

więcej podobnych podstron