Hallo!
Ich hab schon in einigen mC Anwendungen eine Analoge
Sicherheitsschaltung gesehen, die z.B. den Leistungsteil nur
einschaltet, wenn am Eingang eine gepulstes Signal anliegt.
Nur, jetzt wo ich sie brauchen könnte ,finde ich sie weder ,noch weiss
ich wonach ich suchen muss.
Kann mir da jemand weiterhelfen.
gruß,
Bjoern
was soll das bringen?
Ist wohl kaum, um den Microcontroller mit Strom zu versorgen? Denn
solange der Microcontroller nicht läuft, gibt er keinen Takt aus, das
Netzteil liefert keinen Strom und der MC kann gar nicht erst anlaufen.
Wenn du unbedingt eine Sicherheitsschaltung willst, kannst du ja ein
paar Varistoren nehmen und superflinke Sicherungen.
Nein,
die Schaltung soll nichts mit Strom versorgen, es ging meist darum das
an einem Portpin diese Sicherheitsschaltung hing, aus dem PortPin wurde
eine gepulstes Signal an die Analoge Sicherheitsschaltung gegeben.
Der PortPin wurde in µC Software getogelt um zu gewaehrleisten das der
Leistungsteil nur dann funktioniert, wenn der µC nicht abgestürzt ist.
Eigentlich müsste man das mit ner Charge Pump machen können.
Muss mal weitersuchen,
Bjoern
Du kannst ja einen Watchdog-IC (z.B. den DS1232) etwas zweckentfremden.
Du kannst z.B. von deinem 8051 das ALE-Signal als Puls-Signal verwenden,
oder was weiss ich - irgend ein Bussteuersignal halt, das mit der
Programmausführung seinen Zustand wechselt (so kannst du ohne
zusätzlichen Programmieraufwand das Funktionieren deines Controllers
überprüfen).
Der Watchdog DS1232 hat nun einen /ST-Eingang (ST = Strobe). Wenn sich
/ST innerhalb einer einstellbaren Zeit von 0.6 - 1.2s (glaube ich) nicht
änert, dann schaltet der DS1232 seinen RESET-Ausgang auf low. Du
könntest ja dieses LOW-Signal dazu verwenden, z.B. irgend ein Relais um-
oder auszuschalten, oder ein Error-Flipflop zu setzen oder sowas in der
Art.
>> Du kannst z.B. von deinem 8051 das ALE-Signal als Puls-Signal verwenden
Das macht keinen Sinn. Aufgabe des Watchdog ist es, zyklisch per Befehl
(Software) zurückgesetzt zu werden.
Ebenso verwendet man heutzutage flash devices bei denen man (ich) ALE,
zwecks reduzierung der EMI, abschaltet.
mmmmhhhhh, wußte nicht das es hierzu eine App Note gibt.
Dennoch ist der Ansatz mit ALE falsch. Verwendet man keinen externen
Speicher so ist ALE Clock/6. Irgendwie immer noch Hardware. Es sagt aber
nichts zum Programmfluß aus, z.B. Laufzeitfehler, hangup, deshalb soll
ja der Watchdog bewußt per Software abgehandelt werden.
Okay Joe, du hast mich überzeugt.
Btw: ich hab noch nie einen Watchdog-Timer verwendet, aber jetzt mal
eine Frage dazu: Wenn der läuft - woher weiss ich im Programmcode, wann
es Zeit ist, ihn zurückzusetzen?
Das ist relativ einfach.
Angenommen du hast dein Programm fertig und willst nun etwas Sicherheit
hineinbringen dann mißt oder rechnest du deine Laufzeiten aus.
Messtechnisch: Deine MAIN schleife toggelt einfach einen Portpin, somit
kannst du mittels Scope die Laufzeit z.B. in mSec. ausmessen. Ebenso
kannst du die Laufzeiten einzelner Routinen messen, am Anfang der
Subroutine PIN=1, am Ende PIN = 0. Wenn du nun alle deine Laufzeiten
kennst dann kannst du z.B. die Aussage treffen das ein entsprechender
PIN (bei normalem Programmablauf) alle 2 mSec. gesetzt wird. So wird nun
auch das retriggerbare Monoflop beschaltet. Lauft dein Programm normal
so wird das Monoflop immer retriggert und kann nicht schalten. Bleibt
der Impuls aus so kann mit dem Monoflop ein RESET ausgelöst werden.
Wenn man etwas mehr Aufwand betreibt so läßt sich schließen ob Software
oder Hardware den Fehler ausgelöst hat.