Brown-out Reset (BOR): Umgang mit Spannungsschwankungen

Ein Brown-out Reset (BOR) ist eine der wichtigsten Schutzfunktionen, wenn Sie in Embedded-Systemen sicher mit Spannungsschwankungen umgehen wollen. Gerade bei PIC-Mikrocontrollern treten Brown-out-Situationen in der Praxis häufig auf: lange Versorgungsleitungen, Einschaltströme von Funkmodulen, Relais- oder Motoransteuerung, Lastsprünge an DC/DC-Wandlern, alternde Netzteile oder eine Batterie, die unter Temperatur und Pulsbelastung kurz „einbricht“. Das Problem ist nicht nur der vollständige Spannungsverlust. Kritisch sind auch kurze Dips und Ripple, bei denen die Versorgung zwar nicht komplett weg ist, aber für einen Moment unter die sichere Mindestspannung fällt. In dieser Zone kann ein Mikrocontroller weiterlaufen, aber mit unzuverlässigem Verhalten: RAM-Inhalte können inkonsistent werden, Flash-Operationen können scheitern, Peripherie-Register geraten in undefinierte Zustände, und Kommunikationsschnittstellen hängen. Genau hier greift BOR: Der Mikrocontroller überwacht VDD gegen eine Schwellspannung und hält das System im Reset bzw. löst einen Reset aus, sobald VDD zu niedrig ist. Erst wenn die Spannung wieder stabil über dem definierten Niveau liegt, startet der PIC kontrolliert neu. Damit wird aus „undefiniertem Weiterlaufen“ ein definierter Neustart mit klaren Zuständen. Entscheidend ist jedoch, wie Sie BOR auswählen, konfigurieren und mit Hardware- sowie Firmwaremaßnahmen kombinieren. Denn ein zu aggressiver BOR kann unnötige Resets verursachen, ein zu lax eingestellter BOR lässt instabile Zustände zu, und ohne saubere Ausgangs- und Startlogik kann auch ein Reset selbst zum Risiko werden.

Was ist ein Brown-out – und warum ist er so gefährlich?

Ein Brown-out ist ein temporärer Unterspannungszustand der Versorgung. Anders als beim echten Power-Off ist die Spannung nicht zwingend „null“, sondern fällt kurzzeitig unter den Bereich, in dem der Mikrocontroller garantiert korrekt arbeitet. Microchip beschreibt das Grundprinzip des BOR so, dass VDD mit einer festen oder auswählbaren Schwelle verglichen wird; fällt VDD darunter, wird der Reset aktiviert, und nach Rückkehr über die Schwelle startet der Controller nach einer Verzögerung neu. Eine anschauliche, herstellerseitige Einführung liefert die Technical Brief TB3068: TB3068: Comparing PIC Microcontrollers BOR Options (Microchip, PDF).

  • Sporadische Resets: Das System startet scheinbar „zufällig“ neu, wenn Lasten schalten oder Funk sendet.
  • Undefinierte Zustände ohne Reset: Noch kritischer: Das System läuft weiter, aber mit falschen Variablen, hängender Peripherie oder gestörter Kommunikation.
  • Speicher-/Schreibfehler: Flash- oder EEPROM-Schreibvorgänge während Unterspannung können Daten beschädigen, wenn keine Schutzlogik greift.

Ein sauber konfigurierter BOR reduziert genau dieses Risiko, indem er den Betrieb unterhalb der sicheren Spannung aktiv verhindert.

BOR vs. POR: Warum beide zusammen wichtig sind

Viele Entwickler verlassen sich auf den Power-on Reset (POR). POR ist jedoch primär für den Einschaltvorgang gedacht. Brown-out-Ereignisse passieren häufig im laufenden Betrieb, wenn die Versorgung kurz einbricht oder stark rauscht. Daher ist es sinnvoll, POR und BOR als „Spannungs-Schutzkette“ zu betrachten: POR sorgt für einen definierten Start beim Einschalten, BOR schützt während des Betriebs vor Unterspannung. Microchip betont in den BOR-Kapiteln der Online-Dokumentation, dass sich zwischen POR und BOR eine vollständige Spannungsbereichs-Abdeckung für Ausführungsschutz implementieren lässt. Beispiele finden Sie in den BOR-Modulbeschreibungen: Microchip Online Docs: Brown-out Reset (BOR) – Übersicht.

So arbeitet BOR bei PICs: Schwelle, Filter und Reset-Flags

Bei vielen PIC-Familien ist die BOR-Schwellspannung auswählbar, häufig über BORV-Bits (z. B. BORV oder BORV[1:0]) in den Konfigurationsbits. Microchips Developer-Help erklärt dieses Prinzip und weist darauf hin, dass die konkreten Vbor-Werte in den Electrical Characteristics des jeweiligen Datenblatts stehen. Als Einstieg ist diese Seite sehr hilfreich: Microchip Developer Help: 8-bit PIC Brown-Out Reset.

Noise-Rejection-Filter: Warum BOR nicht bei jedem Ripple auslösen soll

In der Praxis ist VDD nicht perfekt glatt. Viele PICs besitzen deshalb einen Störfilter, der verhindert, dass BOR bei sehr kurzen, kleinen Einbrüchen sofort triggert. In der Microchip Online-Dokumentation wird dieses Verhalten als „VDD noise rejection filter“ beschrieben; erst wenn VDD länger als eine definierte Dauer unter Vbor liegt, erfolgt der Reset. Beispielhaft ist das in den BOR-Kapiteln dokumentiert: Microchip Online Docs: BOR mit Noise-Rejection-Filter.

Reset-Ursache erkennen: BOR-Flag auswerten

Ein BOR ist nicht nur eine Schutzfunktion, sondern auch ein Diagnoseinstrument. Viele PICs setzen bzw. löschen Statusbits (z. B. in PCON/PCON0/Reset-Statusregistern), die anzeigen, ob ein Brown-out stattgefunden hat. Das ist extrem hilfreich im Feld: Wenn Sie nach einem Neustart die Reset-Ursache protokollieren, können Sie zwischen WDT-Resets, BOR-Resets und Power-on-Resets unterscheiden und gezielt nachbessern. Die generelle Einordnung der Reset-Optionen (inklusive BOR und Low-Power BOR) fasst Microchip hier zusammen: Microchip Developer Help: Reset Options (8-bit PIC).

BOR-Modi: Immer an, in Sleep aus, softwaregesteuert oder komplett aus

Je nach PIC-Familie gibt es unterschiedliche Betriebsmodi. Häufig werden sie über BOREN-Bits in den Konfigurationsbits gesteuert. In den Microchip Online-Dokumenten wird beispielsweise beschrieben, dass es vier Modi geben kann: BOR immer an, BOR im Sleep aus, BOR softwaregesteuert oder BOR immer aus. Ein Beispiel finden Sie in der BOR-Abschnittsdokumentation: BOR Operating Modes (Microchip Online Docs).

  • BOR immer an: maximaler Schutz, aber ggf. etwas höherer Ruhestrom.
  • BOR im Sleep aus: guter Kompromiss, wenn Low-Power entscheidend ist, aber im aktiven Betrieb Schutz nötig bleibt.
  • BOR softwaregesteuert: gezielte Kontrolle möglich, aber nur sinnvoll, wenn die Systemarchitektur sauber definiert ist.
  • BOR aus: nur in Sonderfällen empfehlenswert, wenn externe Supervisor-ICs den Schutz übernehmen.

Für bestimmte Familien ist dieser Gedanke auch in einem dedizierten BOR-Kapitel beschrieben, inklusive „BOR off in Sleep“-Motivation (Schutz bei aktiver Ausführung, Strom sparen im Sleep): Reset with Programmable Brown-out Reset – Details und Betriebsmodi (Microchip, PDF).

Low-Power BOR (LPBOR): Wenn jedes Mikroampere zählt

In batterie- oder energy-harvesting-basierten Geräten kann der Ruhestrom entscheidend sein. Manche PICs bieten neben dem klassischen BOR einen Low Power Brown-Out Reset (LPBOR), der weniger Strom verbraucht, aber typischerweise weniger flexibel oder anders spezifiziert ist. Microchip weist darauf hin, dass LPBOR-Schwellwerte ebenfalls im Datenblatt (Electrical Characteristics) angegeben sind und dass man die Strom-/Schutz-Abwägung bewusst treffen muss: Microchip Developer Help: Low Power Brown-Out Reset (LPBOR).

  • Wann LPBOR sinnvoll ist: lange Sleep-Phasen, Batteriebetrieb, sehr geringe mittlere Ströme.
  • Wann BOR besser ist: harte Industrieumgebung, starke Lastsprünge, höhere Anforderungen an definierte Reset-Schwellen und Robustheit.

BOR-Schwellspannung richtig wählen: Datenblattwerte sind Pflicht

Die Schwellspannung ist der zentrale Parameter. Viele PICs erlauben mehrere BOR-Trip-Points, z. B. über BORV-Bits. Microchip zeigt dieses Prinzip in Datenblättern und Developer-Help-Beispielen; in einem Datenblatt wird etwa beschrieben, dass BOREN-Bits BOR aktivieren und BORV die Trip-Points auswählt: PIC16(L)F707 Data Sheet: BOR über BOREN/BORV konfigurierbar (Microchip, PDF).

Für die Praxis bedeutet das:

  • VDD-Minimum der CPU beachten: Unterhalb der garantierten Betriebsspannung ist korrektes Verhalten nicht zugesichert.
  • Peripherieanforderungen berücksichtigen: ADC-Genauigkeit, Flash-Schreiben, Kommunikation können höhere Mindestspannungen haben als „CPU läuft noch“.
  • Regler- und Batteriecharakteristik: Ein LDO mit hoher Dropout-Spannung kann bei Batteriefall schneller in den kritischen Bereich geraten.

Eine belastbare Strategie ist: BOR so einstellen, dass Sie vor der Zone resetten, in der kritische Funktionen (Flash/EEPROM-Schreiben, Sensorreferenzen, Kommunikationspegel) unzuverlässig werden. Die genauen Werte entnehmen Sie immer dem konkreten Datenblatt (Vbor, Hysterese, Filterzeiten).

Konfigurationsbits richtig setzen: BOR in MPLAB X sicher aktivieren

BOR wird bei den meisten PICs über Konfigurationsbits („Fuses“) aktiviert, nicht über normalen Code. Damit ist BOR Teil der Hardwarekonfiguration, die beim Reset eingelesen wird. Microchip beschreibt in der MPLAB-X-Hilfe, wie Konfigurationsbits angezeigt und gesetzt werden, und nennt Brown-out Detection als typisches Beispiel: MPLAB X: Configuration Bits ansehen und setzen (Microchip Developer Help).

  • BOREN wählen: je nach Projekt „Always On“ oder „Off in Sleep“ als typischer Industriestandard.
  • BORV auswählen: passende Schwelle(n) gemäß Datenblatt.
  • Dokumentieren: Konfigurationsbits gehören in die technische Dokumentation (insbesondere in Industrie/Medtech).

Wenn BOR ständig auslöst: Ursachen systematisch finden

Ein aktivierter BOR ist oft der Moment, in dem Spannungsprobleme sichtbar werden, die vorher „unsichtbar“ als sporadische Bugs auftraten. Wenn BOR-Resets gehäuft auftreten, ist das kein Grund, BOR abzuschalten – sondern ein Hinweis, dass Versorgung und Lastprofile nicht robust genug sind.

Typische Ursachen für BOR-Resets

  • Unterdimensionierte Bulk-Kapazität: Lastsprung führt zu kurzer VDD-Delle.
  • Schlechter Regler: langsame Regelung, zu hohe Dropout-Spannung, zu kleiner Peak-Strom.
  • Funkmodule/Relais: hohe Einschaltströme, insbesondere bei Sendeimpulsen oder Spulenabschaltung.
  • Leitungs- und Steckverbinderverluste: dünne Kabel, lange Wege, hohe Übergangswiderstände.
  • Ground Bounce: schlechte Masseführung verursacht lokale Einbrüche am PIC-VDD.

Messstrategie: Oszilloskop statt Vermutung

Für eine belastbare Diagnose brauchen Sie Messungen direkt am Mikrocontroller:

  • VDD am PIC messen: nicht nur am Reglerausgang; ideal mit kurzer Massefeder am Tastkopf.
  • Reset-Flags auslesen und loggen: BOR-Flag nach Boot erfassen, bevor es überschrieben wird.
  • Lastzustände provozieren: Relais schalten, Funk senden, Motor anfahren, worst-case Temperatur.

Ein praxisnaher Hinweis: BOR-Noise-Filter können sehr kurze Dips maskieren. Das ist sinnvoll, bedeutet aber auch, dass „kleine“ Störungen trotzdem Symptome verursachen können, ohne BOR auszulösen. Deshalb sind saubere Versorgung und Entkopplung weiterhin essenziell.

Hold-up-Kapazität berechnen: Wie viel Puffer brauchen Sie bei Lastsprüngen?

Ein häufiger Hebel gegen Brown-outs ist zusätzliche Pufferkapazität. Eine einfache Näherung für die minimale Kapazität C, um bei einem Laststrom I eine Zeit t zu überbrücken, während die Spannung um ΔV absinken darf, lautet:

C = I×t ΔV

Damit können Sie schnell abschätzen, ob ein einzelner 10-µF-Keramikkondensator realistisch ist oder ob Sie eine Kombination aus Keramik (für schnelle Impulse) und Elektrolyt/Polymer (für Energieinhalt) benötigen. Beachten Sie in der Praxis:

  • Der effektive C-Wert sinkt: Keramikkondensatoren verlieren Kapazität bei DC-Bias.
  • ESR/ESL zählen: Für schnelle Dips brauchen Sie niedrige Induktivität und kurze Wege.
  • Platzierung ist entscheidend: Puffer wirkt nur, wenn er nah am Verbraucher sitzt (Rückstrompfad kurz).

BOR und Firmware: Reset ist nur sicher, wenn Start und Ausgänge definiert sind

BOR schützt vor instabilem Betrieb, aber nach dem Reset muss das System sicher starten. Gerade in industriellen Steuerungen kann ein Reset gefährlich sein, wenn Ausgänge während Boot kurz schalten oder in undefinierte Zustände gehen.

  • Definierte Pin-Defaults: Pull-ups/Pull-downs für kritische Signale (Enable-Leitungen, Treiber, Relais).
  • „SAFE“-Freigabe: Leistungstreiber erst aktivieren, wenn Initialisierung und Selbsttests abgeschlossen sind.
  • Reset-Ursache protokollieren: BOR-Reset führt zu Diagnoseeintrag (Counter, Timestamp, Betriebsmodus).
  • Recovery-Strategie: Nach häufigen BOR-Resets ggf. in einen sicheren Modus wechseln (z. B. Kommunikation nur, keine Aktorik).

Besonders wichtig: Wenn Ihre Firmware Parameter in EEPROM/Flash schreibt, müssen Sie Schreibvorgänge gegen Unterspannung absichern. Das kann über BOR-Schwellenwahl, Write-Guards (z. B. nur bei stabiler Spannung), CRC und „Double-Buffering“ erfolgen.

BOR und WDT gemeinsam nutzen: Zwei Schutznetze, unterschiedliche Aufgaben

BOR und Watchdog (WDT) werden oft in einem Atemzug genannt, lösen aber unterschiedliche Probleme:

  • BOR: schützt vor Unterspannung und verhindert unzuverlässige Ausführung bei zu niedriger VDD.
  • WDT: schützt vor Softwarehängern und logischen Deadlocks unabhängig von der Versorgung.

Zusammen ergeben sie in rauen Umgebungen eine robuste Basis: BOR fängt Versorgungseinbrüche ab, WDT fängt seltene Hänger (z. B. nach EMV-Glitches) ab. Microchips Reset-Übersicht führt beide Mechanismen als zentrale Reset-Optionen: Reset Options (inkl. BOR und WDT) – Microchip Developer Help.

Externe Supervisor-ICs: Wann BOR allein nicht reicht

In besonders anspruchsvollen Designs (Medizintechnik, Automotive-nahe Industrie, sicherheitskritische Aktorik) wird zusätzlich oder statt internem BOR häufig ein externer Supervisor eingesetzt. Gründe:

  • Präzisere Schwellen: exakte Unterspannungsdetektion mit definierter Hysterese.
  • Mehrkanalüberwachung: mehrere Rails (z. B. 3,3 V und 1,8 V) gleichzeitig.
  • Reset-Timeouts und Sequencing: definierte Resetdauer und Power-Sequenzen.
  • Unabhängigkeit vom MCU-Zustand: Supervisor funktioniert auch, wenn der PIC bereits instabil ist.

Für viele Anwendungen reicht der interne BOR jedoch völlig aus, sofern Versorgung und Layout solide sind und die Schwellwerte passend gewählt werden.

Praxis-Checkliste: Brown-out Reset sauber implementieren

  • Schwellwerte aus Datenblatt ableiten: Vbor, Hysterese, Filterzeiten und Mindestspannungen für kritische Funktionen prüfen.
  • BOREN/BORV bewusst konfigurieren: „Always On“ oder „Off in Sleep“ je nach Energieprofil; Schwelle passend setzen.
  • Konfigurationsbits in MPLAB X dokumentiert setzen: und im Build-Prozess versionieren. MPLAB X: Configuration Bits
  • VDD am PIC messen: Lastsprünge, worst-case Szenarien, echte Kabellängen.
  • Entkopplung und Bulk verbessern: nah am PIC, nahe an Lasten, Rückstrompfade kurz halten.
  • Reset-Flags loggen: BOR-Resets zählen und analysieren.
  • Fail-Safe-Ausgänge sicherstellen: keine gefährlichen Zustände während Reset/Boot.
  • Flash/EEPROM-Schreiben absichern: nur bei stabiler Spannung, CRC/Double-Buffering, Write-Guards.

Weiterführende Quellen für BOR, LPBOR und Konfigurationsbits

IoT-PCB-Design, Mikrocontroller-Programmierung & Firmware-Entwicklung

PCB Design • Arduino • Embedded Systems • Firmware

Ich biete professionelle Entwicklung von IoT-Hardware, einschließlich PCB-Design, Arduino- und Mikrocontroller-Programmierung sowie Firmware-Entwicklung. Die Lösungen werden zuverlässig, effizient und anwendungsorientiert umgesetzt – von der Konzeptphase bis zum funktionsfähigen Prototyp.

Diese Dienstleistung richtet sich an Unternehmen, Start-ups, Entwickler und Produktteams, die maßgeschneiderte Embedded- und IoT-Lösungen benötigen. Finden Sie mich auf Fiverr.

Leistungsumfang:

  • IoT-PCB-Design & Schaltplanerstellung

  • Leiterplattenlayout (mehrlagig, produktionstauglich)

  • Arduino- & Mikrocontroller-Programmierung (z. B. ESP32, STM32, ATmega)

  • Firmware-Entwicklung für Embedded Systems

  • Sensor- & Aktor-Integration

  • Kommunikation: Wi-Fi, Bluetooth, MQTT, I²C, SPI, UART

  • Optimierung für Leistung, Stabilität & Energieeffizienz

Lieferumfang:

  • Schaltpläne & PCB-Layouts

  • Gerber- & Produktionsdaten

  • Quellcode & Firmware

  • Dokumentation & Support zur Integration

Arbeitsweise:Strukturiert • Zuverlässig • Hardware-nah • Produktorientiert

CTA:
Planen Sie ein IoT- oder Embedded-System-Projekt?
Kontaktieren Sie mich gerne für eine technische Abstimmung oder ein unverbindliches Angebot. Finden Sie mich auf Fiverr.

 

Related Articles