mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATmega48: Brown-out und SUT_CKSEL falsch gesetzt


Autor: Andreas H. (heilinger)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

was passiert, wenn man die Brown-out detection auf VCC=4,3V einstellt 
und die Fuses SUT_CKSEL auf einen Wert mit "Additional Delay from Reset" 
(4,1ms oder 65ms) setzt?

Resettet sich der uC dann durchgehend von selbst?

Im Datenblatt steht ja , dass man bei BOD enabled kein "Additional Delay 
from Reset" einstellen soll.

Auf ein paar uC habe ich momentan keinen Zugriff, und ich denke, dass 
dies mein Problem ist. Bin mir aber nicht sicher, und bevor ich den 
nächsten uC ins Nix schicke, frage ich lieber mal.

Wenn dem so ist, kann man den uC trotzdem noch irgendwie retten?

Danke!

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Im Datenblatt steht ja , dass man bei BOD enabled kein "Additional Delay
>from Reset" einstellen soll.

Wo steht das? Wenn kein "Additional Delay" gewählt ist muss BOD 
enabled sein. Zusätzliche Delays schaden nicht.

MfG Spess

Autor: Andreas H. (heilinger)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
spess53 schrieb:
> Zusätzliche Delays schaden nicht.

Das dachte ich mir auch, deswegen hatte ich es ja eingestellt.

spess53 schrieb:
> Wo steht das? Wenn kein "Additional Delay" gewählt ist muss BOD
> enabled sein.

Hab ja nie gesagt, dass es ein Muss ist. Aber Table 8-6, Seite 31:

Oscillator Source /Power Conditions
Crystal Oscillator, BODenabled
--------------------------------------
Start-up Time from Power-down and Power-save
16K  CK
--------------------------------------
Additional Delay from Reset (VCC = 5.0V)
14CK
-------------------------------------
CKSEL0
1
-------------------------------------
SUT1..0
01

Dann habe ich es wohl doch geschafft, den uC zu plätten.
War ja nur eine Idee, weil ich zufällig über die Tabelle gestoßen bin.

Autor: Volker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm, also ich habe mit einem ATmega48 (und auch einem ATmega168) das 
Problem, dass er überhaupt nicht läuft, wenn ich ein Brown Out Detect 
von 4,3 Volt einstelle (BODLEVEL=100).

Die Versorgungsspannung ist absolut sauber (mit Oszilloskop 
nachgemessen) bei 5,1 Volt. Stelle ich hingegen ein BOD von 2,7 Volt 
(BODLEVEL=101) ein, läuft alles problemlos. Ein ATtiny85 läuft mit BOD 
4,3 Volt in der selben Schaltung auch einwandfrei. Nur die ATmega48 und 
168 wollen nicht. Das sieht mir fast nach einem Serienfehler aus. Als ob 
da die interne Spannungsreferenz nicht stimmt.

Es ist übrigens auch egal ob ich ein Additional Delay von 4,1 oder 65 ms 
einstelle, oder auch gar kein Delay. Es funktioniert in keinem Fall.

Hat noch jemand 'ne Idee? ;-)

Tschö, Volker

Autor: Volker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Au weia, wie peinlich :), Ich gebe mir meine Antwort mal selbst, weil es 
vielleicht den einen oder anderen gibt, der genauso doof ist, wie ich:

Man sollte natürlich den AVcc Pin (20) auf Versorgungsspannung (Vcc) 
legen. Dann funktioniert es auch mit dem Nachbarn :).

Zuerst dachte ich mir "Wozu Versogungsspannung an den A/D Converter, 
wenn der gar nicht benutzt wird?". Offenbar wird aber für die Brown Out 
Detection ein interner A/D Converter genutzt, der über den AVcc Pin 
versorgt wird. Trotzdem ist es nicht so ganz zu erklären, warum es dann 
nur bei BODLEVEL 4,3 Volt Probleme gibt und bei 2,7 Volt nicht. Na, wie 
auch immer, das Problem ist gelöst. Im Handbuch steht ja auch "AVcc 
should be externally connected to Vcc, even if the ADC is not used".

Tschö, Volker

Autor: Rüdiger Britzen (ruedigerbritzen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Volker schrieb:

> Au weia, wie peinlich :), Ich gebe mir meine Antwort mal selbst, weil es
> vielleicht den einen oder anderen gibt, der genauso doof ist, wie ich:
>
> Man sollte natürlich den AVcc Pin (20) auf Versorgungsspannung (Vcc)
> legen. Dann funktioniert es auch mit dem Nachbarn :).
>
> Zuerst dachte ich mir "Wozu Versogungsspannung an den A/D Converter,
> wenn der gar nicht benutzt wird?". Offenbar wird aber für die Brown Out
> Detection ein interner A/D Converter genutzt, der über den AVcc Pin
> versorgt wird. Trotzdem ist es nicht so ganz zu erklären, warum es dann
> nur bei BODLEVEL 4,3 Volt Probleme gibt und bei 2,7 Volt nicht. Na, wie
> auch immer, das Problem ist gelöst. Im Handbuch steht ja auch "AVcc
> should be externally connected to Vcc, even if the ADC is not used".

Ich habe heute den ganzen Tag mit einer Fehlersuche verbracht, heute 
Abend habe ich dann auch über BOD-Level = 2,7V die Schaltung an's Laufen 
gebracht. Bei mir sollte AVCC mit VCC verbunden (zumindest ist das 
Soll-Layout so), aber es könnte ein Fertigungsfehler seitens meines 
Bestückers vorliegen (ich verwende in meiner Schaltung einen ATmega 
324PA im QFN-Gehäuse).

Deine Problemlösung hilft mir in meinem Fall sehr weiter, lässt sie doch 
ggf. auf eine fehlerhafte Verbindung schließen. Besten Dank!

Gruß, Rüdiger

Autor: Joachim K. (minifloat)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Volker schrieb:
> Zuerst dachte ich mir "Wozu Versogungsspannung an den A/D Converter,
> wenn der gar nicht benutzt wird?". Offenbar wird aber für die Brown Out
> Detection ein interner A/D Converter genutzt, der über den AVcc Pin
> versorgt wird.

Der misst die Versorgung am AVCC Pin, gleichzeitig wird über den AVCC 
auch die interne "Bandgap-Referenz" versorgt. Es ist nicht der 
AD-Wandler(sofern man bei der BOD von einem AD sprechen kann, 1Bit-AD :D 
).

Lässt du nun AVCC unbeschaltet, wird AVCC durch interne Schutzdioden auf 
4,xxV angehoben(steht ja im Datenblatt was von maximaler Differenz zw. 
VCC und AVCC von 0,3V wenn ich mich hier zahlenmäßig nicht irre). Wenn 
diese gewisse Differenz überschritten wird, spinnt nicht nur der 
Analogteil; der ganze µC wird außerhalb der Spezifikation betrieben.

mfg mf

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.