Forum: Mikrocontroller und Digitale Elektronik MSP430 power up timer (warte bis die Schaltung bereit ist)


von Marvin (Gast)


Lesenswert?

Hallo,
ich nutze einen MSP430 und wuerde gerne wissen wie ich es anstellen kann 
das der MSP nach dem Einschalten der Spannung wartet bis die Schaltung 
die um ihn gebaut ist bereit ist und dann erst anfaengt das Programm 
abzuarbeiten (benoetige ca 500ms - 1s)?
Vielen Dank im Vorraus!!!

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Du könntest das Programm die angegebene Zeit warten lassen, bevor es 
anfängt, mit der Schaltung drumherum zu interagieren.

Du könntest Deine Schaltung so designen, daß sie ein Signal zur 
Verfügung stellt, mit dem der µC feststellen kann, daß sie "bereit" ist.

Was macht die, daß sie so ewig lange dafür braucht?

von Marvin (Gast)


Lesenswert?

Hi Rufus,
erstmal vielen Dank fuer die schnelle Antwort!!!
Hab gehoert das es bei z.B. PIC Microcontrollern eine fertige Funktion 
(den power up timer) gibt, der den MSP warten lasst bis die Schaltung 
fertig ist.

Die Schaltung benoetigt einige Zeit, da ich einen Haufen Sensoren 
verwende und sich einige Signale erst "einpendeln" muessen.

Ich werde deinen ersten Vorschlag realisieren und den MSP erst einmal 
fuer ~1s schlafen legen.

von Peter D. (peda)


Lesenswert?

Marvin schrieb:
> Die Schaltung benoetigt einige Zeit, da ich einen Haufen Sensoren
> verwende und sich einige Signale erst "einpendeln" muessen.
>
> Ich werde deinen ersten Vorschlag realisieren und den MSP erst einmal
> fuer ~1s schlafen legen.

Man sollte nicht pauschal mit dem Holzhammer auf alles eindreschen.

Du solltest schon wissen, welche Schaltungsteile lange benötigen und 
welche nicht. Und dann die Initialisierung darauf abstimmen.

Z.B. ist es oft sinnvoll, alle Portpins sofort zu initialisieren und 
nicht lange in der Gegend rumfloaten zu lassen.
Wenn ein LCD angeschlossen ist, kannst Du es auch sofort initialisiern 
und ne Startmeldung anzeigen.
Und Tasten kann man auch sofort benutzen und Eingaben bearbeiten.


Peter

von Marvin (Gast)


Lesenswert?

Peter Dannegger schrieb:
> Du solltest schon wissen, welche Schaltungsteile lange benötigen und
> welche nicht. Und dann die Initialisierung darauf abstimmen.

Ich weisz natuerlich welche Sensoren besonders lang Zeit zur 
Initialisierung benoetigen, aber ich habe keinen Vorteil dadurch das ich 
einige Teile der Schaltung vorher einschalte.

Obwohl: Das LCD eine Startmeldung anzeigen zu lassen is eine sehr 
schoene Idee!
Danke!

von Phil (Gast)


Lesenswert?

Du könntest auch einen Supply-Voltage-Supvervisor IC nehmen, wie den 
TL7705 von Texas Instruments, der kann mit einem Kondensator auf eine 
Verzögerungszeit beim Einschalten eingestellt werden. Nach ablauf dieser 
Zeit gibt er dann ein Signal aus, das könntest du auf den Reset von 
deinem uC legen. Außerdem überwacht er auch während des Betriebs die 
Spannung und wenn diese unter einen gewissen Wert fällt führt er einen 
Reset aus und wartet wieder die eingestellte Zeit bis er aktiv wird.
Also natürlich nur falls du vor hast noch einen IC zu verwenden. Hat 
halt den Vorteil, dass wirklich erst alles läuft wenn die 
Betriebsspannung sauber anliegt.
Gruß Phil

von Phil (Gast)


Lesenswert?

Ach hier noch das Datenblatt falls es dich interessiert, da kannst dann 
mal selbst die Beschreibung nachlesen ;-)

http://focus.ti.com/lit/ds/symlink/tl7705a.pdf

von Marvin (Gast)


Lesenswert?

Phil schrieb:
> Du könntest auch einen Supply-Voltage-Supvervisor IC nehmen, wie den
> TL7705 von Texas Instruments, der kann mit einem Kondensator auf eine
> Verzögerungszeit beim Einschalten eingestellt werden.

Schoenens IC!:-)
Ich glaube ich brauchte aber bei ~1s Verzoegerungszeit einen recht 
dicken Kondensator, oder hab ich das Datenblatt falsch verstanden!?!

Trotzdem vielen Dank!!!

von Phil (Gast)


Lesenswert?

Hm, das is natürlich richtig. Nach der Formel im Datenblatt müsstest du 
77uF anschließen, da könntest du nen 100uF Elko nehmen. Also solange die 
Sekunde nicht genau sein muss ;-). Wenn nicht, kannst den IC ja mal im 
Hinterkopf behalten für ein anderes Projekt ;-).
Gruß Phil

von Jörg S. (joerg-s)


Lesenswert?

Wieso macht ihr das alles so kompliziert, die Lösung lautet doch einfach 
nur:
1
delay_ms(500);

von Peter D. (peda)


Lesenswert?

Jörg S. schrieb:
> Wieso macht ihr das alles so kompliziert, die Lösung lautet doch einfach
> nur:
>
1
delay_ms(500);

Nicht genutzten Flash kann man ja zurückgeben.

Extra ICs und Kondis kriegt man aber umsonst, brauchen keinen Platz und 
löten sich auch von selber ein.


Peter

von Marvin (Gast)


Lesenswert?

Phil schrieb:
> Hinterkopf behalten für ein anderes Projekt ;-)

Das sehe ich genauso --> Vielen Dank!

Jörg S. schrieb:
> Wieso macht ihr das alles so kompliziert, die Lösung lautet doch einfach
> nur:delay_ms(500);

Hab ich auch erst dran gedacht, aber mich dann fuer eine meiner Meinug 
nach schoenere Loesung entschieden. Ich lasse eine Startmeldung anzeigen 
und schicke den MSP dann eine kurze zeit schlafen. Dann gehts los :-)



Vielen Dank nochmal an alle fuer eure Hilfe!!!

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
Noch kein Account? Hier anmelden.