Hallo,
ich nutze einen AT90CAN32 mit einem Quarz von 16MHz. Im Datenblatt ist
zu lesen das der Controller somit von 4,5V bis 5,5V in seinen Grenzen
arbeitet. Da ich kleine einbrüche in der Versorungsspannung habe, runter
bis 2V für 300mikrosec., will ich nun die brown out detection
aktivieren. Laut Datenblat ist das höchste 4,1V.
Frage 1: Der Betrieb des Controllers ist bis 4,5V gewähleistet, die
brown out detection greift erst bei 4,1V. Ist es gewähleistet das die
brown out detection funktioniert?
Frage 2: Kann ich messtechnisch nachweisen das die brown out detection
funktioniert? In Figure 7-5 (Seite 55) ist zu sehen das es nur eine
Flanke am "INTERNAL RESTET" gibt, nicht aber am Reset Pin.
Ich würde mich auch zufrieden geben wenn ich etwas mit dem Register
MCUSR anfangen könnte. Da gibt es das Bit BORF, welches gesetzt wird
wenn ein BOD reset auftritt und wieder zurückgesetz wird wenn ein power
on reset stattfindet. Habe ich die Möglichkeit dieses Bit abzufragen?
Immerhin bin ich in einem Spannungsbereich in dem der Controller nicht
mehr richtig arbeitet. Und ich nehme an das Rücksetzen des Bits geht
sehr schnell nach dem power on?
mfg,
Carsten
Warum unternimmst Du nicht was gegen die Spannungseinbrüche? Ein
Kondensator sollte doch schon helfen. Ansonsten kannst Du ja auch eine
externe BOD aufbauen. Dann kannst Du die Resetleitung selber steuern und
ggf. auch die Pegel definieren.
Hallo nochmal,
ich habe leider keinen Einfluß auf die Spannungseinbrüche.
Ein Kondensator oder eine externe BOD bedeuten eine Hardwareänderung die
aus Kostengründen nicht in Frage kommt (bzw. als allerletzte!!!
Möglichkeit).
Ich dachte mir eventuell einen 8MHz Quarz mit gleichem footprint
einzusetzen.
Aber kann jemand bitte noch auf Frage 1 und Frage 2 eingehen.
gruß,
Carsten
zu 1.: Lt. Datenblatt ist der Bereich 4.1 .. 4.5 ein unsicherer Bereich,
in dem weder die Funktion des uCs (bei 16MHz) gewährleistet, noch eine
sichere Erkennung dieses Zustands möglich ist.
zu 2.: Wenn der Brown Out Reset zugeschlagen hat, zeigt das Flag "BORF"
das an und kann (möglichst umgehend nach dem Reset) ausgelesen werden.
Messtechnisch kann man den internen Reset lt. Datenblatt nicht
nachweisen. Aber vielleicht kennt noch jemand einen Kniff? Das kenne ich
z. B. vom Freescale S12 anders, dort kann man interne und externe Resets
auch von außen unterscheiden, das hilft nur hier jetzt leider nicht
weiter...
Gruß
Martin
Hallo,
das würde ja bedeuten das man die brownout detection gar nicht benutzen
kann wenn man den AT90CAN32 mit 16Mhz betreibt (Figure 27-2).
Und wieso sieht man im "Table 7-2" zwei Kombinationen für die
Bodlevelbits für 2,6V und 2,5V? Nach "Figure 27-2" ist 2,7V die minimale
Betriebsspannung bei minimaler Frequenz von 8MHz.
Demnach dürfte man die Schwelle für die BOD beim AT90CAN32 gar nicht auf
2,5V oder 2,6V setzen.
Wieso stehen diese Grenzen aber im Datenblatt?
Hat jemand dafür eine Erklärung?
gruß,
Carsten
Hallo,
in der Zwischenzeit habe ich die Frage bei http://support.atmel.no
gepostet und habe immer noch keine befriedigende Antwort erhalten.
Hier die Reaktion von Atmel (zweideutig in meinen Augen):"
Dear customer,
VBOT may be below nominal minimum operating voltage for some devices.
For devices where this is the case, the device is tested down to VCC =
VBOT during the production test. This guarantees that a Brown-Out Reset
will occur before VCC drops to a voltage where correct operation of the
microcontroller is no longer guaranteed.
The AT90CAN32 is tested down t 4.1 V, so we guarantee that with BOD set
(with fuse bits) at this 4.1 V limit, the operations of the
microcontroller are guaranteed and that below this limit a Reset will
occur."
Es fängt schon mit dem "may be" an. Entweder die haben solche controller
oder nicht! Und dann schreibt er das in diesen Fällen getestet wurde bis
VCC = VBOT und das der Controller bis dahin einwandfrei funktioniert.
Das würde aber bedeuten, dass das Bild 27-2 falsch ist.
(Diese Aussage erinnert mich etwas an meine Chinesischen Schnittstellen)
Ich will an dieser Stelle nochmal meine Frage formulieren:
Bei 16MHz hat der AT90CAN32 einen Betriebsspannungsbereich von 4,5V bis
5,5V. Die max. BOD-Spannung beträgt 4,1V. Ist die BOD Funktion
gewähleistet?
Wenn nicht, warum kann man die BOD Spannung laut table 7-2 auf 2,6V und
2,5V einstellen, da die niedrigste Betriebsspannung 2,7V @ 8MHz beträgt?
gruß,
Carsten
Bei manchen µC hat man die Auswahl von 2 BrownOut-Limits. Das erste gibt
einem die Möglichkeit Daten zu retten. Das zweite für dann einen Reset
aus.
Ich denke für die BrownOut-Detection sind deine 16MHz nicht von
bedeutung, da 4.1V bzw. 2.x Volt nicht deine normale Betriebsspannung
ist.
Mach doch einfach mal folgenden Test :
Pin Toggeln lassen und ohne BrownOut die Spannung herunterdrehen, dann
wirst Du sehen, dass der µC bis ca. 1.5V noch irgendwelche Pulse
herausgibt. Danach das ganze mit BrownOut, hier wird er dann gezielt
abschalten.
Die BrownOut Detection soll eigendlich auch nur geziehlt den µC stoppen,
damit er nicht die Möglichkeit hat wild im Programm herumzuspringen und
u.U. Schaden anzurichten bzw. hängen zu bleiben. Daher sind
meineserachtens deine Sorgen erstmal unbegründet. Ich würd das Limit auf
4.1V legen sie wird dann auch funktionieren, dafür ist sie ja auch
schließlich da.
Carsten, das mit dem "may" ist eine Redewendung. Eher in der Art "Es mag
schon vorkommen, das bei einigen Devices VBOT kleiner ist, aber dies
gilt nicht für alle"
Jedoch is das irrelevant, da Atmel garantiert dass die BOD noch
funktioniert.
BOD ist eine Funktion, die hat mit dem "Safe Operating" nichts zu tun.
Anders ausgedrückt: BOD funktioniert bis 4.1 (== spezifiziert), jedoch
solltest Du nicht grundsätzlich Deinen Controllerschaltung nicht
grundsätzlich so designen, dass der Controller immer unter 4.5 läuft.
Das wäre ausserhalb der Spezifikation.
Die Mail von Atmel ist doch klar. Es gibt Controller, bei denen die
Brown Out Schwelle unterhalb der nominellen Mindestspannung ist. In
diesen Fällen werden die Bausteine bis runter zur Brown Out Spannung
getestet.
dann hat er sogar noch explizit geschrieben:
"The AT90CAN32 is tested down t 4.1 V, so we guarantee that with BOD set
(with fuse bits) at this 4.1 V limit, the operations of the
microcontroller are guaranteed and that below this limit a Reset will
occur."
Der Baustein läuft also bis 4,1V, darunter gibt es ein Reset.
Was willst Du denn noch ?
Gruss
Axel
Ich fasse mal zusammen:
- Ein miserables Design, dass nicht geändert werden kann aus
Kostengründen- Geiz ist geil?
(Zitat: "Da ich kleine einbrüche in der Versorungsspannung habe, runter
bis 2V für 300mikrosec." - das dürfte doch wohl kein Aufwand sein)
- Klarstellung von Atmel, an der rumgemäkelt wird.
Was wir brauchen, ist der Name der Klitsche, die so einen Schrott
produziert- nicht dass noch jemand versehentlich sowas kauft.....
Herr Bensch:
Abgesehen davon, dass ich den Tonfall nicht gerade passend finde, ein
weiterer Kommentar: Vermutlich duerften Sie hiermit nie wieder ein
modernes Auto kaufen...
Strubi wrote:
> Herr Bensch:> Abgesehen davon, dass ich den Tonfall nicht gerade passend finde, ein
Dem schließe ich mich an. Schon dreist, was sich einige Leute immer
wieder rausnehmen.