BOR will hold a PIC® MCU in reset when the Vdd drops below a brown out threshold voltage. Not all devices have BOR, but most do, and some have multiple voltage thresholds to select from. Between a BOR and Power On Reset the whole range of startup voltages can be covered to protect for proper operation after a power drop at the Vdd line. It is also recommended that the Power-Up Timer (PWRT) be enabled to increase the delay in returning from a BOR event.
The BOR can be set to always on or always off through BOREN bit settings in a configuration register. This is covered in detail further below. The BOR can also be enabled or disabled from software. This is also covered in a section below.
Brown Out Reset Options
On enhanced 8-bit devices (part numbers PIC1xF1xxx) the BOR has four operating modes (older devices don't offer all these options). The BOR can be enabled or disabled at programing time through the setting or clearing of the BOREN bits. Once these are set they cannot be changed unless the device is reprogrammed.
- BOR always on
- BOR is off when in Sleep mode
- BOR is controlled by software
- BOR is always off
The BOR can be enabled with a software over-ride. This allows the software designer to turn the BOR on or off during running of the application.
For low power applications, the BOR can also be set to automatically disable when the device is put into low power sleep mode.
The BOREN bits options are shown below:
Brown Out Reset Threshold
Brown Out Reset Threshold is the voltage level at which the reset begins. Some devices have multiple BOR thresholds while others have only one. The BOR threshold(s) are defined in the Electrical Characteristics of the device data sheet, listed as the Vbor level.
On released devices, the BOR may have more than one threshold to select from. The BORV bit is used to select the threshold level. The BORV bit is located in a configuration register. An example taken from the PIC16F1713/6 data sheet is shown below:
Brown-Out Reset Control Register (BORCON)
The operation of the BOR can be controlled through the BORCON register for enhanced devices (PIC1xF1xxx).
Bits within the BORCON include:
- SBOREN bit - Enable or Disable the BOR through software
- BORFS bit - BOR Fast Start Enable or Disable
- BORRDY bit - Status bit that indicates if BOR is Active or Inactive.
The SBOREN bit allows the software to disable the BOR at any point in time as long as the "BOR is controlled by software" was selected in BOREN bits of the configuration register. This allows the software designer to prevent BOR resets during an operation but still have the option to run the BOR at a later point in the application.
The BORFS bit maintains an internal voltage reference that is used by the BOR. Setting the BORFS will keep this voltage reference running even if the BOR is disabled in Sleep mode. This allows a faster BOR capability after powering back up from low power sleep mode. If the BORFS is not set, then the voltage reference is not maintained and the BOR will have to wait for the reference to become stable again before BOR's can engage.
This is an indicator flag that the software designer can use to monitor if the BOR has been disabled by software.