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