1.7.1 An Unexpected Reset May Occur if the BOR Module is Disabled and Then Re-Enabled When the HLVD Module is Not Enabled
An unexpected Reset may occur if the Brown-out Reset (BOR) module is disabled, and then
re-enabled, when the High/Low-Voltage Detection (HLVD) module is not enabled (HLVDCON[4]
=
0). This issue affects BOR modes:- BOREN[1:0] =
'b10 - BOREN[1:0] =
'b01
Work around
If BOR is required and power consumption is not an issue, set BOREN[1:0] =
'b11. For the BOREN[1:0] = 'b10 mode, either
switch to the BOREN[1:0] = 'b11 mode or enable the HLVD module
prior to entering Sleep mode.
If power consumption is an issue and low power is desired, do not use the BOREN[1:0]
=
'b10 mode. Instead, use the BOREN[1:0] = 'b01
mode and follow the steps below when entering and exiting Sleep mode:- Disable the BOR by clearing
SBOREN.
WDTCONbits.SBOREN = 0; - Enter Sleep mode (if
desired).
SLEEP();
- After exiting Sleep mode (if entered), enable the HLVD
module.
HLVDCONbits.HLVDEN = 1; - Wait for the internal reference voltage (TIRVST) to stabilize
(typically 25
μs).
while(!HLVDCONbits.IRVST);
- Re-enable the BOR by setting
SBOREN.
WDTCONbits.SBOREN = 1; - Disable the HLVD module by clearing
HLVDEN.
HLVDCONbits.HLVDEN = 0;
Affected Silicon Revisions
| A2 | A3 | A4 | A6 | A7 | |||
| X | X | X | X | X |
