CHIP Enable (CHIP_EN)
Overview
Chip Enable (CHIP_EN) is a reset control module specifically designed to manage system-level reset logic, featuring the following characteristics:
Reset Modes:
Supports three modes: Level Reset (default), Interrupt Reset, and Pulse Reset
Input signals can be controlled through external buttons or a master control device
Debounce Functionality:
Configuration range: 0μs ~ 16ms
Default setting: 100μs
Initial Power-up Sequence:
Follow the instructions in the
CHIP_EN Reset Sequencesection of the datasheet
Note
The module’s timing clock has an error of approximately 50%, so you should consider this when setting time thresholds;
All mentioned input signal times are post-debounce times.
Working Modes
Level Reset Mode
When the CHIP_EN input signal is low, the system powers off, it restarts when it transitions to high, suitable for scenarios requiring simple reset functionality.
Interrupt Reset Mode
This mode provides three event response mechanisms:
Short Press Interrupt
Trigger condition: The low-level time (Tlow) exceeds the user-defined short press threshold (Tsp).
Long Press Interrupt
Trigger condition: The low-level time (Tlow) exceeds the sum of the short press threshold (Tsp) and the long press threshold (Tlp).
System Reset
Trigger condition: After a long press interrupt event occurs, if the program fails to clear the long press interrupt status within Tack, a reset operation is triggered, and the SoC restarts when the signal transitions to high.
Attention
After restarting, CHIP_EN will enter the level reset mode by default. To continue operating in interrupt reset mode, the work mode must be reconfigured.
Reset occurs after a long press interrupt due to no response from the program
Suitable for power-saving scenarios requiring low-power modes and wake-up functionality, such as phone power keys:
Short press: Toggle screen off and on
Long press: Prompt user to restart the device
Pulse Reset Mode
In this mode, when a low-level signal is detected on the CHIP_EN input signal, a reset operation is triggered, and the SoC immediately restarts.
After restarting, the function CHIPEN_IsPress() can be polled continuously to detect button status, distinguishing between short and long press operations based on pressing duration.
Suitable for scenarios requiring button reset with different responses based on press duration, such as router factory reset functionality.
Attention
Once the chip is set to pulse reset mode, this configuration is locked. The software cannot modify the work mode anymore, and only a power cycle can restore the chip to the default mode.
Example
The SDK provides functional examples to help developers understand and use the CHIP_EN feature:
Path:
{SDK}\component\example\peripheral\raw\Reset\{demo}Demonstrates how to directly control CHIP_EN without an abstraction layer.
Here is a brief description of the example functions:
-
Demonstrates the use of CHIP_EN interrupt reset mode, including how to configure operating mode, key parameters (such as debounce time and threshold), and system wake-up configuration.
-
Demonstrates the use of CHIP_EN pulse reset mode, including configuration methods and key state detection methods.
Note
For the chips supported by the examples and precautions, please refer to the README.md file in the example path.