Hi, ich bin heute Dinge gefragt worden, auf die ich keine Antwort weiß - vielleicht kann einer von euch weiterhelfen. 1. Wie "sicher" ist der interne Watchdog? Meines Erachtens sollte da nichts passieren, so lange der Takt läuft und der Watchdog eingeschaltet ist. Gibt es irgendeine Indikation, daß ein zusätzlicher externer Watchdog vorgesehen werden sollte? 2. Was genau machen die Port-Pins während des Einschaltens? Die Port-Pins sind vom Einschalten weg als Eingang geschaltet, bis man das Datenrichtungsregister programmiert. Ist es möglich, daß während des Einschaltens kurzzeitig ein Portpin Spikes aussenden können, d.h. für den Bruchteil einer Sekunde als Ausgang geschaltet sind? Gruß thkais
>1. Wie "sicher" ist der interne Watchdog? >Meines Erachtens sollte da nichts passieren, so lange der Takt läuft >und der Watchdog eingeschaltet ist. Gibt es irgendeine Indikation, daß >ein zusätzlicher externer Watchdog vorgesehen werden sollte? Der Watchdog läuft mit einem separat erzeugten Takt. Selbst wenn der Haupttakt steht, läuft die Watchdog weiter. Meiner Meinung nach ist der interne WDOG ein vollwertiger Ersatz für einen externen Chip. Übrigens kann man den Watchdog auch benutzen, um den Controller aus dem PWDN aufzuwecken. Das ist zwar nur über einen Reset möglich, aber es gibt ein Flag, an dem erkannt werden kann, dass der Reset vom WDOG kommt. Interessant für Systeme, die wenig Strom verbrauchen sollen, aber trotzdem regelmässig was tun müssen. Stefan
Hallo thkais, "schöne" Fragen. zu 2: was bei unterschiedlichen Spannungen passiert, wird dir wohl kaum jemand sagen können. Bei 1 bis 2 Volt kann nach meinem dafürhalten alles mögliche passieren. Du kannst aber versuchen, dies mit pullups oder pulldowns zu minimieren. Dann noch die nachfolgende Elektronik so auslegen, das da nichts schief geht. Alternativ bleibt noch ein Resetbaustein, der garantiert bei 1 bis 2 Volt arbeitet und deine Ausgangstreiber disabled. Bei und in der Firma hat immer derjenige verloren, bei dem beim Einschalten/Ausschalten irgendwelche LEDs oder gar Relais usw. schalten. Mindestens ein Bier für alle. Bin mal auf weitere Antworten gespannt. Oryx
Danke zunächst mal. Die Sache mit den einschaltenden Relais kann einen manchmal zur Verzweiflung bringen... Bei einem Bus-Expander hatte ich mehrere 74xx574 im Einsatz, die direkt nach dem Einschalten zufällige Ausgangszustände hatten. Der Controller brauchte ca. 1/10 Sekunde, bis alles initialisiert war - zu lange. Zum Schluß habe ich völlig entnervt einfach die Versorgungsspannung der Relais verzögert zugeschaltet. Etwas unorthodox, aber es funktioniert. Bei den PortPins gehts mir darum, ob sie während des Einschaltvorgangs durch irgendeinen Umstand als "Output" (über das Datenrichtungsregister) geschaltet sein könnten. Aus den Datenblättern kann man zwar entnehmen, daß die Datenrichtungsregister bei Controllerstart auf "0" = Eingang gesetzt sind, aber was passiert wirklich direkt nach dem Einschalten des Controllers? Kann man wirklich garantieren, daß die PortPins nicht kurzzeitig als Ausgang geschaltet werden? Hat irgendjemand Erfahrungen damit?
An deinem RelaistreiberEINgang entweder einen Pull-up oder Pull-down hängen (soll heissen auf einen definierten Pegel ziehen, damit herumfloatende Eingänge nicht das Relais kurz anziehen lassen können), der für den Einschaltmoment (bis die Software gestartet ist) die richtigen Pegel an den Treiber anlegt. Danach kann dieser dann vom µC "überschrieben" werden. ----, (QuadDash).
Hi wenn der interne BOD aktiviert ist sollte eigentlich nichts passieren da der Chip ja bis zum erreichen eines bestimmten Spannungslevels im Reset ist. Ist der aber nicht aktiviert kann dir wohl keiner so genau sagen was der Chip unterhalb von 2,5V Betriebsspannung macht. Deine nachfolgende Schaltung sollte halt nicht empfindlich auf irgendwelche Spikes reagieren. Denn die kannst du dir in industrieller Umgebung auch noch anderst einfangen als durch einen Controller der nicht sauber hochkommt. Matthias
Ich verstehe nicht, wieso es 1/10 Sekunde dauern sollte bis alles initialisiert wird. Eigentlich geht´s bei mir viel schneller. Aber ich mach es am meistens mit Assembler. Aber mit C sollte es auch nicht so schlimm sein vermute ich. Es kann natürlich sein, dass der Compiler zu viele Aktivitäten am Start unternehmen will, aber das kann man doch einstellen, mindestens bei CodeVision.
Sorry, aber das hat rein gar nichts mit Compilern und Assemblern zu tun! Eher mit Gatterlaufzeiten, Flankensteilheiten etc. pp... Gruß, Patrick...
Hi 100ms ist je nach Fusebits-Stellung durchaus realistisch bis der erste Maschinenbefehl ausgeführt wird. Defaulteinstellung für die SUT sind schonmal 65ms. Hinzu kommt dann noch die Zeit bis an Vcc ausreichend Spannung erreicht (Laden evtl. Primärelkos usw.) Wird dann Reset noch extern beschaltet (was ich(tm) in industrieller Umgebung tun würde) kommt die Zeit auch noch dazu bis RESET inaktiv wird. Man kann das zwar optimieren, ab Werk liegt man aber da bei duetlich jenseits von 50ms. Matthias
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.