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 Sequence section 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.

../../_images/chipen_tsp_tlp_noack_reset.svg

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:

  • raw_reset_chipen_intr

    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.

  • raw_reset_chipen_pulse

    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.