                                        Albstadt, den 28.12.1993, Rev. 1.0

                        W A T C H D O G
                        ===============
          Hard- und Software (c) 1993 Hans-Joachim Schatz




Was gehoert zu dieser Anleitung?
--------------------------------

In diesem Archiv sollten sich folgende Dateien befinden:

WATCHDOG.TXT                    - diese Anleitung
WATCHDOG.PCX                    - der Schaltplan
WATCHDOG.EXE                    - ein Programm, das 'klickt'


Beschreibung
------------

Bei 'WATCHDOG' handelt es sich um eine Hardware, die einen Computer ueberwacht.
Dazu laeuft im WATCHDOG eine Uhr, die nach einer einstellbaren Zeit einen
RESET ausloest. Wird jedoch innerhalb dieser Zeit ein Signal an den WATCHDOG
gesendet, so wird die Uhr zurueckgesetzt. Dieses Signal wird hier mit Hilfe
des PC-Lautsprechers erzeugt.

Fuer die Praxis bedeutet dies Folgendes:

Wird innerhalb einer einstellbaren Zeit kein Signal am PC-Lautsprecher ausge-
geben, so loest der WATCHDOG einen RESET des Computers aus.



Vorbemerkung
------------

Das Geraet laeuft bei mir sowie einem Bekannten inzwischen seit ca. 6 Monaten
problemlos. Deshalb bin ich mir sicher, dass es auch bei Euch keine Probleme
bereiten wird. Dennoch uebernehme ich natuerlich keinerlei Garantie, dass die
Schaltung mit jeder Hardwarekonfiguration problemlos zusammenarbeitet. Ins-
besondere moechte ich in diesem Zusammenhang nochmals auf die evtl.
invertierten Signale des Lautsprecherausgangs und des RESETs hinweisen (siehe
auch "der Einbau". Sollten die dort gegebenen Ratschlaege nicht befolgt werden,
kann dies u.U. zur Zerstoerung der Schaltung oder gar des Boards fuehren!).
Lasst Euch von dieser Warnung aber nicht abschrecken, wer mit Loetkolben und
Multimeter bzw. Logiktester umgehen kann wird wohl auch den WATCHDOG problem-
los zum Laufen bekommen (ich habe inzwischen festgestellt, dass Motherboards
an den RESET- und Speaker-Anschluessen SEHR robust sind ;) )



Die Funktion
------------

Wer entsprechende Kenntnisse hat und sich fuer die Funktion des WATCHDOGs
interessiert, hier kurz eine Erklaerung:

IC1 (ein NE555) erzeugt an Pin 5 einen Takt. Die dazu frequenzbestimmenden
Teile sind R1, R2 (aus Rx und P1) und C1. Dieser Takt gelangt auf IC2 -
einen Zaehler vom Typ 4040. Laeuft dieser Zaehler, so wird an Pin 7 der
halbierte Takt ausgegeben, der die LED1 blinken laesst. An Pin 1 liegt der
durch 2048 geteilte Takt an. Dieser Pin ist zu Beginn low, wird jedoch nach
einer bestimmten Zeit high. Dadurch steuert T1 durch und loest am PC einen
RESET aus. Damit auch, wenn der Schalter geschlossen ist, Pin 11 am IC2 high
und setzt damit den Zaehler zurueck.

Gibt jedoch der PC einen Ton aus, so steuert auf dem Motherboard der
entsprechende Transistor Masse durch und Pin 2 von IC3 wird low. Dadurch wird
der Pin 11 des Zaehlers ebenfalls high, was den Zaehler erneut zuruecksetzt.
Weiterhin wird das Low-Signal des Boards ueber Pin 4 und 5 von IC3 invertiert
und ueber T3 verstaerkt. Dadurch ist die Funktion des PS-Lautsprechers weiter-
hin gegeben.

Ist jedoch der Schalter "WATCHDOG EIN/AUS" geoeffnet, so ist Pin 11 von IC2
staendig high, d.h. der Zaehler liegt dauernd auf RESET und zaehlt dadurch
nicht. Somit wird weder ein RESET am PC ausgeloest noch blinkt die ueber
Pin 7 angeschlossene LED.


Der Aufbau
----------

Ich habe die Schaltung auf einer Lochrasterplatine von ca. 5*5 cm realisiert,
jedoch kann natuerlich auch eine kleine Leiterplatte geaetzt werden. Sollte
groesseres Interesse an derartigen geaetzten Platinen bestehen (bitte Mail
an mich), so kann ich eine Kleinserie in Auftrag geben. Naeheres dazu weiter
unten.

Ich habe saemtliche ICs gesockelt, besonders beim 4040 weiss man ja nie, was
dem alles passieren kann ;-)


Frequenzbestimmung
------------------

Fuer die Zeit, nach der WATCHDOG einen RESET ausloest, sind folgende Bauteile
bestimmend:

- R1
- C1
- R2 (bestehend aus Rx und P1)


Dabei ist folgende Formel anzuwenden:

          2048
     t = ------
           f


wobei
                  1,44
     f = -----------------------
         (R1 + 2*(Rx + P1)) * C1


Als Beispiel sei hier eine einstellbare Zeit zwischen ca. 26 Minuten und
ca. 72 Minuten genannt:

     t =  26 min  ~  72 min

daraus folgt fuer f:

     f = 1,3 Hz   ~  0,474 Hz


Nach Anwendung obiger Formel ergibt dies z.B.:

    C1 = 20 uF  ;  R1 = 10k  ; Rx = 22k  ;  P1 = 100k



Anmerkung: Bei Dimensionierung obiger Bauteile ist zu beachten, dass C1
           moeglichst klein gehalten wird. Je groesser der Kondensator ge-
           waehlt wird, desdo groesser sind dessen Toleranzen und desdo
           groesser ist deshalb die Toleranz der oberen/unteren Grenze.
           Ich habe aus Gruenden 'meines Lagers' den doch recht grossen
           20uF-Kondensator gewaehlt und kann damit bei 72 Minuten eine
           Genauigkeit von ca. +/- 7 Minuten erreichen.



Stckliste
----------

R1      : (s. Frequenzbestimmung)  10k
Rx      : (s. Frequenzbestimmung)  22k
R3 - R6 : 4.7k

P1      : (s. Frequenzbestimmung)  100k Spindeltrimmer

C1      : (s. Frequenzbestimmung)  20uF
C2      : 100uF Elko (zur Siebung von Vcc)

LED1    : beliebige Leuchtdiode

T1 - T2 : BC 238
T3      : z.B. BC140 - je nach verwendetem PC-Lautsprecher :-)

IC1     : NE555
IC2     : 4040
IC3     : 7400

Des Weiteren:

1 Schalter 1*Ein, nach Moeglichkeit ein paar Pfostenstecker fuer die
Verbindungen zum Motherboard sowie evtl. die passenden IC-Sockel.



Der Einbau
----------

So, jetzt wird's spannend! Ich persoenlich wuerde zuerst die Funktion der
Schaltung mit Hilfe eines Logiktesters pruefen, bevor ich sie meinem teuren
PC anvertraue - aber ich weiss, es muss moeglichst schnell funktionieren.
Solltet Ihr Euch aber dennoch die Zeit nehmen und das Ding testen, so
schliesst die Versorgungsspannungen an und vergesst nicht, die Ein-
gaenge entweder auf Masse oder ueber 4,7k auf +5V zu legen (niemals direkt
auf 5V, das kann das Ende des ICs sein!). Messt Ihr dann den Takt (bzw. blinkt
die LED) und stimmen die Logikfunktionen, dann sieht alles gut aus und es kann
losgehen:

Schliesst +5V und Masse des Geraetes am PC an. Danach solltet Ihr _UNBEDINGT_
pruefen, ob euer Board auch die selben Logikpegel liefert wie im Schaltplan
angedeutet (deshalb habe ich auch einen Teil des Motherboards rechts mit auf-
gezeichnet!). Ist (einer der beiden) Pins des Lautsprecherausgangs wirklich
undefiniert und geht, wenn ein Pieps kommt, auf Low? Der andere muss dauernd
auf High sein, er wird jedoch nicht benoetigt, da der Lautsprecher ja jetzt
direkt auf dem WATCHDOG auf +5V gezogen wird. Stimmen auch die RESET-Pegel mit
meiner Zeichnung ueberein - d.h. ist einer der Pins auf Masse, der andere auf
High? Der, der auf High ist, ist der 'heisse Draht', er wird vom WATCHDOG bzw.
vom eingezeichneten Taster (an Eurem Gehaeuse vorne dran und mit RESET
beschriftet) auf Low gezogen, wodurch der PC einen RESET ausloest. Letzteres
ist IMO immer der Fall, da saemtliche mir bekannte Prozessoren einen
Low-aktiven RESET haben. Beim Lautsprecherausgang waere es jedoch genauso
moeglich, dass der Transistor gegen +5V schaelt und der Lautsprecher immer auf
Masse liegt (habe ich bisher noch nie gesehen). In diesem Fall muesste das
ankommende Signal nochmals invertiert werden (am IC3 sind ja noch 2 NANDS
frei...).

So stimmen diese Punkte, dann koennt Ihr den 'heissen' RESET-Pin
sowie den richtigen LS-Pin des Boards mit dem WATCHDOG verbinden. Danach
wird der Lautsprecher am WATCHDOG angeschlossen (den RESET-Schalter natuer-
lich nicht vergessen!).

Ist dies geschehen, koennt Ihr den PC einschalten. Wenn der 'WATCHDOG
EIN/AUS'-Schalter richtig steht sollte die LED blinken. Nun heisst es nur
noch warten, bis die eingestellte Zeit abgelaufen ist und der PC einen RESET
macht. Diese Zeit laesst sich in den o.g. Grenzen mit Hilfe von P1 einstellen,
wobei ein Verdrehen des Potis an der Blinkfrequenz der LED bemerkbar ist.

Hat der PC den RESET erfolgreich gemacht, so muss nur noch geprueft werden, ob
sich der WATCHDOG auch zuruecksetzen laesst. Dazu beobachtet man einfach die
LED und gibt oefters ein Signal am Lautsprecher aus. Blinkt die LED nun
unregelmaessig oder gar nicht mehr, wird der Zaehler korrekt zurueckgesetzt,
die Schaltung funktioniert perfekt!


Die Software
------------

Wer den Sinn des mitgelieferten WATCHDOG.EXE bisher noch nicht erkannt hat,
dem kann ich leider auch nicht mehr helfen ;-)
Das Programm gibt einfach einen 'klick' am Lautsprecher aus und setzt damit
den WATCHDOG zurueck.



Copyrightbestimmungen
---------------------

Ich habe die Schaltung eigentlich fuer mich selbst entworfen und moechte
sie nun eben auch Anderen zugaenglich machen. Im Prinzip habe ich nichts
dagegegen, sie als freies Gedankengut anzusehen. Da ich jedoch einige Zeit
in das Zeichnen des Schaltplans und das Schreiben dieser Anleitung investiert
habe (Ich benoetige fuer mich persoenlich beides nicht!), wuerde ich mich
schon freuen, zumindest ein paar Kommentare zu erhalten, wenn jemand das
Geraet baut und einsetzt. Natuerlich bin ich fuer Fragen und Anregungen jeder-
zeit offen, lehne aber auch Sach- oder Geldspenden nicht ab...

Sollte jedoch jemand die Schaltung (gleichbleibend oder geaendert) unter
seinem oder drittem Namen veroeffentlichen oder gar kommerziell verwerten, so
stelle ich natuerlich als Bedingung, dass er sich zuvor bei mir eine Erlaubnis
dafuer einholt.

Sollte ein gehaeuftes Interesse entweder an geaetzten Platinen oder gar an
Fertiggeraeten bestehen, so waere ich gerne bereit, diese Dinge anzubieten.
Dazu bitte eine e-mail oder einen Brief an mich senden!




Nun noch meine Adresse:


Hans-Joachim Schatz

Taunusstrasse 56
D-72458 Albstadt


FIDO 2:246/2008.1

Tel.: 0171-7232766
