Forum: Mikrocontroller und Digitale Elektronik ATmega8A Start-up Time


von Pascal W. (xizeru)


Lesenswert?

Guten Morgen,

ich habe eine Frage bezüglich den Start up times des Atmega 8A.

Ich arbeite gerade dass AVR Tutorial durch.

Ich habe einen Atmega8A und einen 4MHz Quarz.

Ich habe beim AVR Fuse Calculator aktuell folgendes gewählt:

Ext. Crystal/Resonator Med Freq. 16K CK + 64ms
Boden
Boden lvl 4.0

jetzt im Datenblatt bei den start up times aber auch noch was von 16K CK 
BOD enabled

was bedeutet das und wann nimmt man diese einstellung? ich würde jetzt 
generell denken, sobald man Boden angeschaltet hat.

MfG Xizeru

von Jim M. (turboj)


Lesenswert?

P. W. schrieb:
> Ext. Crystal/Resonator Med Freq. 16K CK + 64ms

Das heisst er wartet 16k Zyklen zusätzlich 64ms um den Quarz stabil 
einschwingen zu lassen. Wegen hohem Güteparameter braucht das seine 
Zeit. Ob "Med Frequency" für 4MHz noch passt musst Du selber im DB 
nachlesen.

BOD = Brown out detetct. Dies erzwingt einen Reset wenn die 
Betriebsspannung unter das eingestellte Level fällt. Das will man weil 
der Prozessor oder die Schaltung sonst Mist bauen könnte. Es gab hier in 
der Vergangenheit Beispiele wo plötzlich der Flash gelöscht war.

von Pascal W. (xizeru)


Lesenswert?

Was das bedeutet weiss ich :D was ich meinte:

im Datenblatt stehen 3 zeiten zur Wahhl:

16K CK //  -    // Crystal Oscillator, BOD enabled
16K CK // 4.1ms // Crystal Oscillator, fast rising power
16K CK //  65ms // Crystal Oscillator, slowly rising power

Bei der ersten Zeit startet er nach 16K Zyklen ohne zusätzliche 
Verzögerung? Das würde normalerweise ja aufjedenfall zu Fehlern führen. 
Aus dem Grund muss bei dieser gewählten Zeit aufjedenfall BOD an sein 
oder? also steht das BOD da nur als Hinweis, da man es bei der Zeit 
aufjedenfall braucht oder?

2. Frage:

Wenn ich BOD eingeschaltet habe kann ich doch in jedemfall die Kürzeste 
Zeit nehmen, denn wenn der Quarz noch nicht eingeschwungen ist gibts ja 
keinen Fehler, da BOD ja nen Reset auslöst. Ist das richtig?

von Stefan F. (Gast)


Lesenswert?

> Bei der ersten Zeit startet er nach 16K Zyklen ohne zusätzliche
> Verzögerung? Das würde normalerweise ja aufjedenfall zu Fehlern führen.

Eben, deswegen soll man diese Option nur in Kombination mit dem 
Brown-Out-Detektor verwenden. Der stellt sicher, dass der µC erst 
startet, wenn die Spannungsversorgung "voll" da ist.

von Stefan F. (Gast)


Lesenswert?

> Wenn ich BOD eingeschaltet habe kann ich doch in jedemfall die Kürzeste
> Zeit nehmen, denn wenn der Quarz noch nicht eingeschwungen ist gibts ja
> keinen Fehler

Doch, es kann zu Fehlern kommen. Das Taktsignal muss ein paar 
Anforderungen bezüglich Tastverhältnis und Flankensteilheit erfüllen. Es 
dauert bei Quarz-Oszillatoren eine gewisse Zeit, bis das der Fall ist.

von Theor (Gast)


Lesenswert?

P. W. schrieb:
> Was das bedeutet weiss ich :D was ich meinte:
>
> im Datenblatt stehen 3 zeiten zur Wahhl:
>
> 16K CK //  -    // Crystal Oscillator, BOD enabled
> 16K CK // 4.1ms // Crystal Oscillator, fast rising power
> 16K CK //  65ms // Crystal Oscillator, slowly rising power
>
> Bei der ersten Zeit startet er nach 16K Zyklen ohne zusätzliche
> Verzögerung?
Ja.

> Das würde normalerweise ja aufjedenfall zu Fehlern führen.
Nein.

> Aus dem Grund muss bei dieser gewählten Zeit aufjedenfall BOD an sein
> oder?
Nein.

> also steht das BOD da nur als Hinweis, da man es bei der Zeit
> aufjedenfall braucht oder?

Nein.

Die Brown-Out-Detection hat zunächst nichts mit der Startup-Zeit zu tun.
Die Komentare in der letzten Spalte sind "Empfehlungen" (engl. 
Recommendations"), aber keine zwingenden Anweisungen.
Es gibt allerdings gewisse funktionale Zusammenhänge, welche die 
Empfehlungen pöausibel machen.

Wird etwa die 16k Zyklen Wartezeit ohne zusätzliche Verzögerung gewählt, 
so kann es, 1. wegen der kürzeren Zeit und 2. falls die 
Stromversorgung erst nach einer Zeit in der Grössenordnung dieser 16k 
Zyklen auf den Sollwert kommt, zu Fehlfunktionen kommen. Auch wird sich 
das Verhalten der Stromversorgung auf das Anlaufen des Oszillators 
auswirken - oder auch nicht. (Gibt ja mehrere Oszillatorschaltungen RC, 
Quarz oder Oszillator). Andererseits kann die Stromversorgung auch 
schnell genug sein, dann ist kein BOD nötig.
Man muss also in jedem Einzelfall abwägen (und evtl. messen) was nun 
eigentlich an Verhalten vorliegt und nach den Ergebnissen die Fuses 
wählen.

> 2. Frage:
>
> Wenn ich BOD eingeschaltet habe kann ich doch in jedemfall die Kürzeste
> Zeit nehmen, denn wenn der Quarz noch nicht eingeschwungen ist gibts ja
> keinen Fehler, da BOD ja nen Reset auslöst. Ist das richtig?

Auch das kann man pauschal nicht sagen, denke ich. Hier nochmal der 
Knackpunkt: BOD und Oszillator haben nichts miteinander zu tun. 
Insbesondere wird der BOD nicht auslösen weil der Oszillator noch 
nicht richtig schwingt. Das ergibt sich allenfalls mittelbar, falls 
der Oszillator wegen der langen Startzeit der Stromversorgung nicht 
schwingt.

Der Punkt ist, dass die Startup-Zeit des Oszillators und die Spannung, 
ab der die Transistoren (FFs, Rechenwerk etc.) zuverlässig laufen nur 
teilweise und abhängig von der konkreten Schaltung bestimmte 
Zusammenhänge gemeinsam haben - aber in anderen Punkten voneinander 
unabhängig sind.

Deswegen kann man die Startup-Zeit und die BOD Fuse ja auch unabhängig 
voneinander einstellen.

Das ist keine abschliessende umfassende Antwort, sollte aber die 
Richtung einigermaßen geben, in der man darüber nachdenken kann.

von Pascal W. (xizeru)


Lesenswert?

Stefan U. schrieb:
>> Wenn ich BOD eingeschaltet habe kann ich doch in jedemfall die Kürzeste
>> Zeit nehmen, denn wenn der Quarz noch nicht eingeschwungen ist gibts ja
>> keinen Fehler
>
> Doch, es kann zu Fehlern kommen. Das Taktsignal muss ein paar
> Anforderungen bezüglich Tastverhältnis und Flankensteilheit erfüllen. Es
> dauert bei Quarz-Oszillatoren eine gewisse Zeit, bis das der Fall ist.

Aber wenn es doch zu Fehlern kommen kann, obwohl ich die BOD anhabe, 
dann würde man doch nicht die erste Zeit nehmen, sondern vllt eher 4ms 
wenn die quarz schnell genug anschwingt und es dort nicht zu Fehlern 
kommt.

von Stefan F. (Gast)


Lesenswert?

Im Zweifelsfall würde ich sogar immer die höchste startup-time wählen. 
Ich weiß aus Erfahrung, dass selbst diese bei manchen Stecker-Netzteilen 
nicht ausreichen (dann muss eine externe Beschaltung an den Reset Pin).

Weniger als die höchst mögliche startup-time würde ich nur wählen, wenn 
ich einen wichtigen Grund dafür habe. hast du einen?

von Pascal W. (xizeru)


Lesenswert?

Stefan U. schrieb:
> Im Zweifelsfall würde ich sogar immer die höchste startup-time wählen.
> Ich weiß aus Erfahrung, dass selbst diese bei manchen Stecker-Netzteilen
> nicht ausreichen (dann muss eine externe Beschaltung an den Reset Pin).
>
> Weniger als die höchst mögliche startup-time würde ich nur wählen, wenn
> ich einen wichtigen Grund dafür habe. hast du einen?

Das habe ich ja auch alles so eingestellt, nur mache ich halt nicht 
einfach alles nach nem Tutorial sondern hinterfrage auch manche sachen, 
weil halt auch später nicht alles wie im Tutorial ist.

Mich hatte es nur verwirrt das BOD als Hinweis nur bei der ersten Zeit 
steht.

Aber da hab ich wirklich etwas durcheinander geworfen...

bedeutet bei der ersten Zeit:

Hier ist die Gefahr sehr groß, dass VCC eben doch nicht sofort in voller 
Höhe zur Verfügung steht und sich somit das anschwingen des Quarz um 
einen Hauch verzögern kann, was dann ja zu Fehlern führt...ausdem grund 
steht da BOD als Hinweis....jetzt hab ich es oder??? :D

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

> jetzt hab ich es oder???

Kann man so gelten lassen

von M. K. (sylaina)


Lesenswert?

Stefan U. schrieb:
> Weniger als die höchst mögliche startup-time würde ich nur wählen, wenn
> ich einen wichtigen Grund dafür habe. hast du einen?

Mach ich auch immer so, schnellere Startup-Time benutze ich auch immer 
nur dann, wenn ich dafür einen externen Trigger hab. Bisher hat mir 
daher auch immer die langsamste Startup-Time genügt.

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.