Hallo, mit einem Mega48 kommt es beim schnellen periodischen Umschalten der Referenzspannung AVCC<->1V1(intern Ref) zum Reset. Hat jemand in der Richtung schon eine Beobachtung gemacht oder gar eine Erklärung? Die Umwandlung selber läuft mit Autotrigger und 125kHz, Versorgung 5V. Sowohl AVCC als auch 1V1 dauerhaft allein machen kein Problem. Gruß
Könnte an der Stromversorgung liegen. Fehlt der VCC-Abblockkondensator?
Wie schrieb da jemand diese Woche - "Schematik der Schaltung".
Robert schrieb: > mit einem Mega48 kommt es beim schnellen periodischen Umschalten der > Referenzspannung AVCC<->1V1(intern Ref) zum Reset. Hat jemand in der > Richtung schon eine Beobachtung gemacht oder gar eine Erklärung? Ja, wenn die Sache bei mir nicht bei einem Mega48 aufgetreten ist, sondern bei einem Mega1284P. Dein erster Ansatz sollte sein, direkt nach dem ungewollten Reset die Resetursache auszulesen (MCUSR) und dir ausgeben zu lassen. Wenn darin BORF gesetzt ist, dann ist es dieselbe Sache wie bei mir und ich kann dir dann nicht nur die Erklärung liefern, wie das zustande kommt, sondern auch einen Tip zur Abhilfe geben.
c-hater schrieb: > Dein erster Ansatz sollte sein, direkt nach dem ungewollten Reset die > Resetursache auszulesen (MCUSR) und dir ausgeben zu lassen. Danke für den Tipp bzgl. BORF, dem ich mal nachgehen werde. Daniel T. schrieb: > Könnte an der Stromversorgung liegen. Fehlt der > VCC-Abblockkondensator? Nein. Ansonsten Standardbeschaltung mit dem üblichen Filter an AVCC und Kondensator an AREF.
Robert schrieb: > Nein. Ansonsten Standardbeschaltung mit dem üblichen Filter an AVCC und > Kondensator an AREF. Und damit schaltest Du einen 100nF Kondensator mit 1,1V hart auf VCC (vermutlich AVCC), und wunderst Dich dann dass die Betriebsspannung einbricht und Reset auslöst? Hättest Du mal einen Schaltplan gemalt, da sieht man sowas.
Jim M. schrieb: > Du mal einen Schaltplan gemalt Der Schaltplan hat uns nicht zu interessieren. Robert (Gast) hat sich dazu entschlossen, dass es nicht an der Schaltung liegen kann.
Wichtig wäre, bei welcher Umschaltrichtung der Effekt auftritt. Ich könnte mir vorstellen, wenn der 100nF auf 5V aufgeladen ist und dann an die 1,1V gelegt wird, daß dann die BOR-Schaltschwelle hoch geht, d.h. das BOR auslöst.
Jim M. schrieb: > Und damit schaltest Du einen 100nF Kondensator mit 1,1V hart auf VCC > (vermutlich AVCC), und wunderst Dich dann dass die Betriebsspannung > einbricht und Reset auslöst? Wenn das die gleiche Sache ist, die mir passiert ist, dann ist deine Andeutung des Wirkungsmechanismus nicht korrekt. Vielmehr geschieht der ungewollte Reset beim Umschalten von AVCC auf die interne Referenz und zwar dadurch, dass deren Ausgang kurzzeitig HOCH gezogen wird. Da diese Referenz gleichzeitig die Referenz für den BOD ist, "sieht" dieser nun eine zu geringe Versorgungsspannung (obwohl sie in Wirklichkeit nachweislich nicht einbricht) und löst somit fälschlicherweise den Reset aus. Nun sollte man meinen, dass eine Verkleinerung (oder vollständiges Weglassen) des Kondensators an AREF das Problem lösen würde. Aber möööp: das tut es leider nicht! Die in diesem Kondensator gespeicherte Ladung ist also offensichtlich nicht die Ursache des Problems. Meine Schluss war damals deshalb: Es bleibt als einzig denkbare Ursache ein Fehler im Analog-Multiplexer, der irgendwie lange genug zur Auslösung des BOD für eine Art "Querpfad" zwischen AVCC und der internen Referenz sorgt. Leider läßt sich das nicht durch Messung verifizieren, weil man an das entsprechende Signal von aussen nicht herankommt. Es muss deshalb ein indirekter Beweis genügen (der gleichzeitig die Lösung für das Problem darstellt). Voraussetzung: es läuft aktuell keine AD-Wandlung. Dann ADMUX nicht direkt von AVCC auf interne Referenz umschalten, sondern einen Zwischenschritt bei AREF einlegen. Und schon klappt es, ohne dass der BOD anspringt. Achtung: Die Voraussetzung der nicht laufenden Wandlung ist zwingend, sonst funktioniert der Trick nicht, weil dann nur der zuletzt geschriebene Zustand von ADMUX tatsächlich übernommen wird (beim Ende der laufenden Wandlung), der Zwischenschritt wird dann also nicht wirklich ausgeführt. Das bedeutet gleichzeitig übrigens auch: im FreeRunning-Mode der ADC ist der Workaround leider nicht anwendbar.
c-hater schrieb: > Das bedeutet gleichzeitig übrigens auch: im > FreeRunning-Mode der ADC ist der Workaround leider nicht anwendbar. Korrektur: Anwendbar wäre er schon, aber er kostet dann einen kompletten Wandlungszyklus für den Zwischenschritt, was im Allgemeinen unerwünscht sein dürfte.
Besten Dank @alle für die Rückmeldungen. Egal ob jetzt zutrifft Jim M. schrieb: > Und damit schaltest Du einen 100nF Kondensator mit 1,1V hart auf VCC > (vermutlich AVCC), und wunderst Dich dann dass die Betriebsspannung > einbricht und Reset auslöst? oder c-hater schrieb: > Die in diesem Kondensator gespeicherte Ladung > ist also offensichtlich nicht die Ursache des Problems, Fakt ist, daß tatsächlich BOR auslöst. Und zwar bis hinunter zum kleinsten 1.8V Level. Offensichtlich lassen sich also die beiden ADU-Referenzarten - AVCC with external capacitor at AREF pin und - Internal 1.1V voltage reference with external capacitor at AREF pin nicht ohne weiteres schnell abwechselnd nutzen- jedenfalls nicht zusammen mit BOR bzw. ohne einen hypothetischen Spannungseinbruch (den ich leider nicht überprüfen kann) in Kauf zu nehmen. Den Tipp c-hater schrieb: > Dann ADMUX nicht direkt von AVCC auf interne Referenz > umschalten, sondern einen Zwischenschritt bei AREF einlegen. Und schon > klappt es, ohne dass der BOD anspringt. werde ich bei Gelegenheit mal testen- für meine aktuelle App inkl. BOR langt mir nun vorerst eine einzige Referenz, zumal ich auf den ADU FreeRunning Mode nicht verzichten möchte.
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.