Bezpieczny program-uzycie Watchdog'a



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: "Piotr Prywer" <p.prywer_at_nospam_gazeta.pl>
Subject: Bezpieczny program-uzycie Watchdog'a
Date: Wed, 28 May 2003 18:28:14 +0200


Witam wszystkich,
Potrzebuje zabezieczyc program przed bledna praca procesora. W jakich
miejscach programu najlepiej sterowac praca Watchdog'a? Tymczasowo przyjalem
nastepujace rozwiazanie: w przerwniu od Timera ustawiam cyklicznie znacznik,
ktory sprawdzam w programie glownym i jezeli jest ustawiony resetuje rejestr
Watchdog'a. Jednak nie jestem do konca przekonany o slusznosci tego
rozwiazania. Pytanie moze naiwne, ale czy znacie sposoby na "zawieszenie"
mikrokontrolera "na zawolanie" i przetestowanie dzialania ukladu Watchdog?
Oczywiscie metody czysto mechaniczne sa poza moim zainteresowaniem:-).Za
wszystkie sugestie z gory dziekuje.Pozdrawiam serdecznie:
Piotr Prywer



--
Serwis Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/

========
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!newsfeed.gazeta.pl!news.task.gda.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: zenek <zenek1234_at_nospam_onet.pl>
Subject: Re: Bezpieczny program-uzycie Watchdog'a
Date: Wed, 28 May 2003 18:58:01 +0200


On 2003-05-28 18:28, Użytkownik Piotr Prywer napisał:
Witam wszystkich,
Potrzebuje zabezieczyc program przed bledna praca procesora. W jakich
miejscach programu najlepiej sterowac praca Watchdog'a? Tymczasowo przyjalem
nastepujace rozwiazanie: w przerwniu od Timera ustawiam cyklicznie znacznik,
ktory sprawdzam w programie glownym i jezeli jest ustawiony resetuje rejestr
Watchdog'a. Jednak nie jestem do konca przekonany o slusznosci tego
rozwiazania. Pytanie moze naiwne, ale czy znacie sposoby na "zawieszenie"
mikrokontrolera "na zawolanie" i przetestowanie dzialania ukladu Watchdog?
Oczywiscie metody czysto mechaniczne sa poza moim zainteresowaniem:-).Za
wszystkie sugestie z gory dziekuje.Pozdrawiam serdecznie:
Piotr Prywer




Jak masz w projekcie sterowanie przyciskami, to dopisz kawałek kodu
który bada czy naciśnięto ten przycisk 5 razy pod rząd w ciągu 2 sekund.
Jak tak - to goto pętla bez wyjścia.
Jak nie masz guzików, to 1 wolny pin też starczy.



========
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!newsfeed.gazeta.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Zbino" <zew_at_nospam_BEZSPAMUpoczta.onet.pl>
Subject: Re: Bezpieczny program-uzycie Watchdog'a
Date: Wed, 28 May 2003 19:05:01 +0200


resetuje rejestr
Watchdog'a. Jednak nie jestem do konca przekonany o slusznosci tego
rozwiazania. Pytanie moze naiwne, ale czy znacie sposoby na "zawieszenie"
mikrokontrolera "na zawolanie" i przetestowanie dzialania ukladu
Watchdog?
Oczywiscie metody czysto mechaniczne sa poza moim zainteresowaniem:-).Za
wszystkie sugestie z gory dziekuje.Pozdrawiam serdecznie:

Ja zwykle stosuję jako czuwak układ 74123. Jest on w programie cyklicznie
pobudzany poprzez ustawianie na "1" stanu na jednej z nóg, natomiast na zero
ta noga jest ustawiana w przerwaniach, które są generowane co określony czas
i obsługują inną część programu związaną zwykle z generacją odcinków
czasowych w programie. jeśli zawiodą przerwania lub zapętli się program to
scalak generuje impuls który pobudza drugi multiwibrator układu 74123 i na 1
sek generuje przerwanie.
Zbyszek


========
Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.polbox.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Rafal Baranowski" <Rafal.Baranowski_at_nospam_bloknet.pl>
Subject: Re: Bezpieczny program-uzycie Watchdog'a
Date: Wed, 28 May 2003 22:39:32 +0200


Ja zwykle stosuję jako czuwak układ 74123. Jest on w programie cyklicznie
pobudzany poprzez ustawianie na "1" stanu na jednej z nóg, natomiast na
zero
ta noga jest ustawiana w przerwaniach, które są generowane co określony
czas
i obsługują inną część programu związaną zwykle z generacją odcinków
czasowych w programie. jeśli zawiodą przerwania lub zapętli się program
to
scalak generuje impuls który pobudza drugi multiwibrator układu 74123 i
na 1
sek generuje przerwanie.

OK, ale przydalby sie jeszcze jakis watchdog do tego 74123. ;-) Kiedys cos
na tym robilem (zdaje sie, ze na wersji HC) i uklad potrafil generowac
impuls na skutek zaklocen w zasilaniu (np. przez wlaczenie lutownicy). Tak
wiec uklad bedzie dzialac, ale moze sie okazac, ze czasem uC zaklocenia
"lyknie", a '123 i tak go zresetuje. W konkretnym przypadku moze to nie
stanowic problemu, ale ogolnie jest to na pewno niepozadane.

Raf.



========
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!newsfeed.gazeta.pl!news.task.gda.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: zenek <zenek1234_at_nospam_onet.pl>
Subject: Re: Bezpieczny program-uzycie Watchdog'a
Date: Wed, 28 May 2003 19:05:30 +0200


On 2003-05-28 18:28, Użytkownik Piotr Prywer napisał:
Witam wszystkich,
Potrzebuje zabezieczyc program przed bledna praca procesora. W jakich
miejscach programu najlepiej sterowac praca Watchdog'a? Tymczasowo przyjalem
nastepujace rozwiazanie: w przerwniu od Timera ustawiam cyklicznie znacznik,
ktory sprawdzam w programie glownym i jezeli jest ustawiony resetuje rejestr
Watchdog'a. Jednak nie jestem do konca przekonany o slusznosci tego
rozwiazania.

I słusznie. Bo to nie jest dobre rozwiązanie. Nic nie wykryje
jak program główny pójdzie w maliny

Pytanie moze naiwne, ale czy znacie sposoby na "zawieszenie"
mikrokontrolera "na zawolanie" i przetestowanie dzialania ukladu Watchdog?
Oczywiscie metody czysto mechaniczne sa poza moim zainteresowaniem:-).Za
wszystkie sugestie z gory dziekuje.Pozdrawiam serdecznie:

jest sposób - musisz mieć w projekcie 1 przycisk. Przyjmujesz np.
iż 5-ciokrotne naciśnięcie przycisku pod rząd w ciągu 3 sekund ma wywalić
program w maliny. Więc to monitorujesz - jak 5 razy naciśnieś,
to goto infinity loop.

Jak niemasz przycisku, to choćby 1 wolny pin wystarczy.




========
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Fish" <apf_jf_at_nospam_bledneslowo.poczta.onet.pl>
Subject: Re: Bezpieczny program-uzycie Watchdog'a
Date: Wed, 28 May 2003 21:37:17 +0200



Użytkownik "Piotr Prywer" <p.prywer_at_nospam_gazeta.pl> napisał w wiadomości
news:bb2o33$c53$1_at_nospam_inews.gazeta.pl...
Witam wszystkich,
Potrzebuje zabezieczyc program przed bledna praca procesora. W jakich
miejscach programu najlepiej sterowac praca Watchdog'a? Tymczasowo
przyjalem
nastepujace rozwiazanie: w przerwniu od Timera ustawiam cyklicznie
znacznik,
ktory sprawdzam w programie glownym i jezeli jest ustawiony resetuje
rejestr
Watchdog'a. Jednak nie jestem do konca przekonany o slusznosci tego
rozwiazania.

Jak zrobisz odwrotnie to będziesz miał powiedzmy 95% skutecznosci takiego
watchdoga. Sam użyłem takiego programowego watchdoga i mimo usilnych prób
nie udało mi się doprowadzić do zawieszenia procesora.
A w ten sposób który opisałeś to program główny pójdzie w pole a przerwanie
może spokojnie będzie sobie ustawiało ten znacznik :-)

Pytanie moze naiwne, ale czy znacie sposoby na "zawieszenie"
mikrokontrolera "na zawolanie" i przetestowanie dzialania ukladu
Watchdog?
Oczywiscie metody czysto mechaniczne sa poza moim zainteresowaniem:-).Za
wszystkie sugestie z gory dziekuje.Pozdrawiam serdecznie:

Jeżeli masz lutownicę zwarciową to od tej pory będziesz wiedział, że jest to
wielofunkcyjne urządzenie do testowania i napraw układów mikroprocesorowych
-)
Klikanie zwarciówką nad głową procesora wytrzymuje bez zawieszenia tylko
bardzo odporny układ.
Ja osobiście używam jako watchdoga TL7705 w układzie który kiedyś
zaproponował ktoś tu na grupie (niestety nie pamiętam kto i nie mogę oddać
hołdu Autorowi) - za jednym zamachem mam układ resetujący i watchdog. Na
dodatek całość za jakieś 50 gr.

--
Janusz



========
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!newsfeed.gazeta.pl!news.gazeta.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Piotr Prywer" <p.prywer_at_nospam_interia.pl>
Subject: Re: Bezpieczny program-uzycie Watchdog'a
Date: Wed, 28 May 2003 22:03:33 +0200



A w ten sposób który opisałeś to program główny pójdzie w pole a
przerwanie
może spokojnie będzie sobie ustawiało ten znacznik :-)

Nie do konca rozumiem. Przeciez w przerwaniu ustawiam tylko znacznik i
jezeli program glowny pojdzie w "maliny" to nie sprawdzi tego warunku i w
efekcie Watchdog nie zostanie zresetowany i pojawi sie sygnal Reset
procesora. Oczywiscie nie upieram sie przy tym rozwiazaniu .

Jak zrobisz odwrotnie to będziesz miał powiedzmy 95% skutecznosci takiego
watchdoga. Sam użyłem takiego programowego watchdoga i mimo usilnych prób
nie udało mi się doprowadzić do zawieszenia procesora.

Czyli, ustawiam w petli glownej jakis znacznik na stale, a w przerwaniu
sprawdzam czy jest ustawiony, zeruje go i resetuje Watchdog-a?

Piotrek Prywer



--
Serwis Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/

========
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!newsfeed.gazeta.pl!news.gazeta.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Piotr Prywer" <p.prywer_at_nospam_interia.pl>
Subject: Re: Bezpieczny program-uzycie Watchdog'a
Date: Thu, 29 May 2003 00:07:30 +0200




A na czym to robisz? Ja ostatnio testuje "wbudowanego" WD w ADuC812.
Znacznik ustawiam w petli głównej, a przerwanie od WD jest samo z siebie.
Do
tej pory miałem problem z "wpuszczaniem w maliny", ale pomysł z lutownicą
wydaje się być niezły. Oby tylko wytrzymał, bo i tak już zdążyłem coś
poubijać...

Na Atmelu 89s8252. Pomysl z lutownica jest niezly!Musze przetestowac, juz
myslalem,ze moja stara lutownica zwarciowa do niczego sie nie przyda:-)
Pozdrawiam:
Piotrek



--
Serwis Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/

========
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Fish" <apf_jf_at_nospam_bledneslowo.poczta.onet.pl>
Subject: Re: Bezpieczny program-uzycie Watchdog'a
Date: Thu, 29 May 2003 01:26:56 +0200



Użytkownik "Dino" <din0_at_nospam_[WYTNIJTO]gazeta.pl> napisał w wiadomości
news:bb3eat$6e2$1_at_nospam_inews.gazeta.pl...
Na Atmelu 89s8252. Pomysl z lutownica jest niezly!Musze przetestowac,
juz
myslalem,ze moja stara lutownica zwarciowa do niczego sie nie przyda:-)


Cytuje za Keilem:
"8051 based Full Static CMOS controller with
32 I/O lines, 3 Timers/Counters, 9 Interrupts Sources,
SPI, ___Watchdog Timer___, 2 DPTRs, 8K ROM Memory,
2K EEPROM, 256 Bytes On-chip RAM"

Czyli można bez dodatkowego układu, ale nie wiem, co na to inni
powiedzą...


Aaaaa ja zrozumiałem na początku że próbujesz zrobić programowego watchdoga.
W przypadku 8252 nie musisz wcale tak kombinować.
Po prostu uruchamiasz watchdoga na początku programu ustawiając bit WDTEN w
rejestrze WMCOM wybierając jednocześnie szybkoścć jego działania bitami
PS0 - 2 w tym samym rejestrze a potem w programie głównym musisz co jakiś
czas odświeżyć licznik ustawiając bit WRTRST w rejestrze WMCON. Jeżeli
program nie zrobi tego na czas to procesor zostanie wyresetowany.
Po przejściu z 89C2051 na 89S8252 wyrzuciłem wspomniany wcześniej programowy
watchdog i użyłem tego wewnętrznego i stwierdzam że rzeczywiście jest
skuteczny. Podczas prób procesor resetował się koncertowo ale nie wieszał.
Za to trochę gimnastyki miałem z wyświetlaczem LCD który blokował się przy
byle zakłóceniu.


A jeszcze wracając do tego programowego rozwiązania:

Czyli, ustawiam w petli glownej jakis znacznik na stale, a w przerwaniu
sprawdzam czy jest ustawiony, zeruje go i resetuje Watchdog-a?

Otóż nie tak. Zrobione to jest trochę na podobieństwo sprzętowego watchdoga.
W przerwaniu od timera chodzącego cyklicznie zmniejszam zawartość komórki
pamięci i sprawdzam czy osiągnęła wartość 0. Jeżeli tak to skaczę
bezpośrednio z przerwania pod adres 0 czyli faktycznie wykonuję reset
programu (nie mylic z resetem procesora)
W głównym programie muszę zadbać żeby załadować na czas do tej komórki
pamięci wartość początkową. Jeżeli program pójdzie w maliny to procedura
przerwania w koncu wyresetuje procesor.

Oczywiście nie skutkuje to na bkokady procesora usuwalne tylko za pomocą
fizycznego resetu albo wymagające wyłączenia na chwilę zasilania.
Procedura nie zadziała również wtedy gdy idąc w maliny program wyłączy
przerwanie timera.
Ale w praktyce działa wystarczająco skutecznie i co ważne nie powoduje
dodatkowych koszów układu.

--
Janusz



========
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Dino" <din0_at_nospam_[WYTNIJTO]gazeta.pl>
Subject: Odp: Bezpieczny program-uzycie Watchdog'a
Date: Thu, 29 May 2003 00:47:41 +0200


Na Atmelu 89s8252. Pomysl z lutownica jest niezly!Musze przetestowac, juz
myslalem,ze moja stara lutownica zwarciowa do niczego sie nie przyda:-)


Cytuje za Keilem:
"8051 based Full Static CMOS controller with
32 I/O lines, 3 Timers/Counters, 9 Interrupts Sources,
SPI, ___Watchdog Timer___, 2 DPTRs, 8K ROM Memory,
2K EEPROM, 256 Bytes On-chip RAM"

Czyli można bez dodatkowego układu, ale nie wiem, co na to inni powiedzą...

Dino



--
Serwis Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/

========
Path: news-archive.icm.edu.pl!news.icm.edu.pl!mimuw.edu.pl!news.mimuw.edu.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Dino" <din0_at_nospam_[WYTNIJTO]gazeta.pl>
Subject: Odp: Bezpieczny program-uzycie Watchdog'a
Date: Wed, 28 May 2003 23:46:36 +0200




A w ten sposób który opisałeś to program główny pójdzie w pole a
przerwanie
może spokojnie będzie sobie ustawiało ten znacznik :-)

Nie do konca rozumiem. Przeciez w przerwaniu ustawiam tylko znacznik i
jezeli program glowny pojdzie w "maliny" to nie sprawdzi tego warunku i w
efekcie Watchdog nie zostanie zresetowany i pojawi sie sygnal Reset
procesora. Oczywiscie nie upieram sie przy tym rozwiazaniu .

Jak zrobisz odwrotnie to będziesz miał powiedzmy 95% skutecznosci
takiego
watchdoga. Sam użyłem takiego programowego watchdoga i mimo usilnych
prób
nie udało mi się doprowadzić do zawieszenia procesora.

Czyli, ustawiam w petli glownej jakis znacznik na stale, a w przerwaniu
sprawdzam czy jest ustawiony, zeruje go i resetuje Watchdog-a?

A na czym to robisz? Ja ostatnio testuje "wbudowanego" WD w ADuC812.
Znacznik ustawiam w petli głównej, a przerwanie od WD jest samo z siebie. Do
tej pory miałem problem z "wpuszczaniem w maliny", ale pomysł z lutownicą
wydaje się być niezły. Oby tylko wytrzymał, bo i tak już zdążyłem coś
poubijać...

Dino



--
Serwis Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/

========
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!newsfeed.gazeta.pl!news.gazeta.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Robert Łopatecki" <rora_at_nospam_poczta.onet.pl>
Subject: Re: Bezpieczny program-uzycie Watchdog'a
Date: Thu, 29 May 2003 07:12:02 +0200


Witam,
ja stosuje zew. watchdoga 690 (dodatkowo ochrona przed spadkiem napiecia).
Stosuje rozwiazanie podobne do twojego,
z ta roznica, ze ustawiam znaczniki w kilku miejscach programu.
Brak ktoregokolwiek - brak resetu watchdog-a.

Pozdrowka
Robert




========
Path: news-archive.icm.edu.pl!news.icm.edu.pl!mimuw.edu.pl!news.mimuw.edu.pl!news.internetia.pl!skynet.be!skynet.be!prodigy.com!prodigy.com!pd2nf1so.cg.shawcable.net!residential.shaw.ca!sjc70.webusenet.com!news.webusenet.com!sn-xit-02!sn-xit-06!sn-post-02