Sleep Control Process
A typical sleep control process (for example, users use the Bluetooth LE Subsystem and peripherals at the same time) is described below:
- The system enters the cold boot process after it is powered on.
- Once entering Active Mode, the system runs at full speed with high power consumption. In this mode, GR551x SoCs are able to execute any task, such as processing Bluetooth tasks or reading data from peripherals.
- If there is no task to be processed, the system goes into the process to check Bluetooth LE Sleep state. At this time, the system will go into Idle Mode or Sleep Mode based on internal logical judgment of Bluetooth LE Core.
- If the system is in Bluetooth LE Idle state (the Bluetooth LE module may be ready for automatic transmitting/receiving, and other peripherals are in Idle state), no processing by software is required; the Bluetooth Subsystem remains in power-on state to ensure the Bluetooth LE functionality, and the system goes into Idle Mode from Bluetooth LE Idle state. Interrupt events and debug operations can wake the system up quickly from Idle Mode to Active Mode.
- If the system is in Bluetooth LE Sleep state, the Bluetooth Subsystem is powered off to further reduce power consumption. At this moment, if the remaining sleep time (the interval between the sleep decision time and the wakeup time of a timer; the timer can be Bluetooth LE Timer, Sleep Timer, or RTC) is found to be shorter than the warm boot time, the system goes into Idle Mode. If longer, the system goes into Sleep Mode. When the system wakes up from Sleep Mode by a wakeup source, it enters the warm boot process.
Boot time and high boot current are required for the system to enter the warm boot process from Sleep Mode. Therefore, if the sleep time is short (less than 2 ms), the power consumption reduction is unobvious. In consideration of overall system performance, if the sleep time is long, the system requires low average power consumption in Sleep Mode.