mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Mega-8 in Industrieumgebung


Autor: thkais (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Stefan Kleinwort (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>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

Autor: Oryx (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: thkais (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: ---- (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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).

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Aleksej (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, aber das hat rein gar nichts mit Compilern und Assemblern zu
tun!
Eher mit Gatterlaufzeiten, Flankensteilheiten etc. pp...

Gruß,
Patrick...

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.