Quote by rh
Hallo,
bei den XMegas kann man den Watchdog via Fuses aktivieren!
Das ist da der sichere Weg. Und die Watchdogs beim XMega haben einen separaten OSC.
rolf
Hallo rolf,
ich muß da Merlin wohl recht geben, (hinterher ist man immer Schlauer ).
Heute war ein erneuter Termin im EMV-Prüflabor (langsam wird es lästig )
Die Burst- und Surge-Tests bis 1kv waren kein Problem mehr nachdem ich den Watchdog direkt als erstes gestartet hatte (Danke für den Hinweis / Tipp an Harald_K), das war wohl das Problem beim ersten Test.
Bei 2kv kam der XMEGA-Prozessor ganz schön aus den Takt, nachdem sich der I2C-PCA ab und an aufgehängt hatte, habe ich in der Loop ab und an eine Abfrage mit TWISTAT auf Funktion geprüft, sobald keine Antwort kam, habe ich dann einen Reset durchgeführt. Damit ist Klasse B der Norm erfüllt. Neustart und Rückkehr zum definierten Zustand.
ABER!! Beim ESD-Test (Luftüberschlag), passiert es bei ca. jeden 10. mal das sich der XMEGA komplett aufhängt. Der Interne-Watchdog führt leider auch dann keinen Reset mehr durch, die Kiste hängt einfach. Der Hardwarereset (Extern) läuft aber.
Wenn ich das richtig verstanden habe, sollte doch der Watchdog unabhängig vom Programm, Task, Process laufen
Jetzt muss ich nacharbeiten (hoffentlich das letzte mal), dazu ergeben sich ein paar Fragen an euch
1. Bei einigen ATMEGAs gab es das Fusebit WDTON (WatchdogTimerOn), beim XMEGA kann ich im Manual nichts finden, gibt es das nicht mehr?
2. Wenn ich einen externen Watchdog-Baustein einsetzen würde (noch keine Erfahrung bis jetzt), wie löst man die Punkte:
- Verhindern eines Neustartes beim Flashen der Firmware über Programmer ISP?
- Verhindern eines Neustartes beim Flashen der Firmware über Bootloader?
Könnt ihr evtl. einen Empfehlen der zuverlässig arbeitet (Störunanfällig ist),günstig und gut lieferbar ist?
Wenn ich mit dem AVRco Task/Prozesssystem arbeite und sich evtl. ein Task/Prozess aufhängt, müsste ich hier wohl vor dem Triggern des externen Watchdogs die anderen Tasks/Prozesse mit Variablen überwachen oder?
Es könnte ja passieren das sich ein Treiber beim arbeiten mit "Procedure Lock (p : process);" aufhängt oder?
Und wie stelle ich sicher das bei Verwendung der AVRco-Treiber trotzdem der Externe Watchdog innerhalb der Triggerzeit angesteuert wird?
Wie lange sperren die AVRco-Treiber max. das System100ms ( ich denke da an FAT16 usw.)
Was ich aber nicht ganz verstehe in der Norm, weil ich meine Steuerung in ein Hutschienengehäuse gepackt habe muss die Steuerung mit dem ESD-Tester komplett abgefahren werden. Hätte ich die Leiterplatte auf einen Hutschienenadapter (offene Leiterplatte) montiert, müsste dies nicht gemacht werden??? Warum?
Auch wenn ich meine Steuerung in einen Hutschienengehäuse montiere, wird diese immer in einen Steuerkasten oder Verteilung eingebaut, ich hänge diese nie so an die Wand? Kann mir das Jemand erklären?`
Gruß
Thorsten