5.7.1 Brown-out Detection and Brown-out Reset (BOD/BOR)
The PIC16F, PIC18F, and PIC32CM MCUs provide Brown-out Detection and Brown-out Reset (BOD/BOR) to monitor supply voltages and ensure reliable operation by resetting or interrupting the device if the voltage drops below a programmable threshold. The BOD and BOR features help protect the device from erratic behavior due to insufficient supply voltage. The following table provides a comparison of BOD/BOR features of the PIC16F, PIC18F, and PIC32CM.
| Feature | PIC16F | PIC18F | PIC32CM |
|---|---|---|---|
| Integration | Standalone BOR and LPBOR modules | Integrated into the Reset System and Configuration Words |
Varies per device family: Integrated into either the Supply Controller (SUPC) or the System Controller (SYSCTRL) |
| Supply Domains Monitored |
VDD VBAT |
VDD VDDCORE VBAT | Varies per device family: Main (programmable) Core (internal, non-configurable) I/O, Analog, VREG |
| Early Warning/Interrupt | N/A | Requires separate HLVD | Interrupts on threshold crossing, Wake from sleep |
| Threshold Configuration | Selectable between two fixed levels | Selectable levels through Configuration Words | Programmable (from NVM/User Row/CFG) per domain |
| Operating Modes |
Always On Off in sleep |
Always On Off in Sleep Software Controlled Always Off | Continuous Sampled (low power) |
| Reset Action | Automatically triggers a System Reset | Asserts a hardware device Reset | System reset on BOR event I/O reset on VDDIO drop |
| Hysteresis | Fixed hardware hysteresis |
Fixed hardware hysteresis
| Programmable hysteresis (from calibration) |
| Sleep Mode Operation | BOR can be disabled in Sleep to save power |
Can be disabled to save power LPBOR remains active at lower accuracy | Monitoring in all modes, including Standby/Backup |
| Calibration | Factory-calibrated | Factory-calibrated | Threshold/hysteresis values from Flash calibration |
| Status Monitoring | The Status bits in the PCON and BORCON registers | The BORRDY bit (ready) and the BOR bit (occurred) | Status through SUPC/SYSCTRL registers, INTFLAG, etc. |
| Output Pins | N/A | N/A | SUPC (for supply status indication) |
| Interrupt on BOD/BOR | Supported | Supported | Supported |
| BOD/BOR Enable/Disable |
Fixed through Configuration Bits/Run-time through SFRs | Run-time through SFR | Run-time through SFR |
| BOD Sleep/Wake Functionality | Supported | Supported | Supported |
| BOD Sampling/Filtering | Supported | Supported | Supported |
| BOD/BOR Status Flags | Supported | Supported | Supported |
