Method for waking up electronic equipment
By entering sleep in electronic devices such as smart glasses and both the main system and the subsystem enter sleep in a dormant state, and adjusting the clock frequency to manage the wake-up and sleep states, the problem of high power consumption in long-term wear is solved, achieving the effect of low power consumption and timely response.
Patent Information
- Application Number
- CN202510693284.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-27
- Publication Date
- 2025-08-26
AI Technical Summary
Electronic devices such as smart glasses are difficult to sleep when there is no service to improve battery life due to high power consumption during long-term wear, and can respond in a timely manner when the service occurs.
When the electronic device sleeps, the main system and all subsystems enter a sleep state. The subsystem independently receives wake-up events and processes them quickly, and manages wake-up and sleep states by adjusting the clock frequency to save power consumption.
On the premise of ensuring service response performance, power consumption is significantly reduced, unnecessary power consumption is reduced, and the battery life of the equipment is improved.
Smart Images

Figure CN120540728A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to a method for waking up an electronic device, a storage medium, a program product, and the like. Background Art
[0002] With the development of smart glasses, they are increasingly being used in various scenarios in life and work. The lightweight design of smart glasses means that they cannot be equipped with large-capacity batteries, which also places higher requirements on the power consumption of smart glasses. This is especially true for smart glasses, which are worn for a long time. Various services such as incoming calls, notifications, music playback, and configuration are constantly being processed during wear, which poses a great challenge to the glasses. Therefore, when there is no business, smart glasses can enter sleep mode to improve battery life, while ensuring timely response when business is active. This is particularly important for smart glasses. Summary of the Invention
[0003] Embodiments of the present disclosure provide methods for waking up electronic devices, as well as corresponding electronic devices, non-transitory machine-readable storage media, and computer program products for executing these methods.
[0004] According to a first aspect of an embodiment of the present disclosure, a method for waking up an electronic device is provided, wherein the electronic device includes a main processor running a main system and one or more sub-processors running one or more sub-systems, and when the electronic device enters a sleep state, the main system and the one or more sub-systems all enter a sleep state; the method comprising: when the electronic device is in the sleep state, a subsystem receives a first wake-up event; in response to determining that the first wake-up event is a subsystem external wake-up event, the subsystem sets the clock frequency of its first sub-module from a current first frequency value to a second frequency value, wherein the first frequency value is the operating frequency set when the subsystem is in the sleep state, the second frequency value is the maximum operating frequency allowed by the subsystem, and the first sub-module of the subsystem is configured to control the temporary operating frequency of the subsystem; the subsystem parses the first wake-up event and sends a related first message to the main system; in response to the main system returning a reply to the first message, the subsystem sets the clock frequency of the first sub-module to the first frequency value; and in response to determining that all clock frequencies of the first sub-module and other sub-modules of the subsystem are set to the first frequency value, the subsystem enters the sleep state.
[0005] Optionally, the method also includes: when the electronic device is in a sleep state, the subsystem receives a second wake-up event; in response to determining that the second wake-up event is an internal wake-up event of the subsystem, the subsystem parses the second wake-up event and performs corresponding processing; after the processing is completed, in response to determining that all clock frequencies of the first submodule and other submodules of the subsystem are set to the first frequency value, the subsystem enters a sleep state.
[0006] Optionally, the method further includes: in response to receiving a wake-up notification sent by the main system, the subsystem sets the clock frequency of its second sub-module to a third frequency value to maintain an awake state, wherein the third frequency value is higher than the first frequency value and lower than or equal to the second frequency value, and the second sub-module of the subsystem is configured to control the long-term operating frequency of the subsystem.
[0007] Optionally, the method also includes: in response to receiving a sleep notification sent by the main system, the subsystem returns a response to the sleep notification to the main system, sets the clock frequency of the second submodule to the first frequency value, and in response to determining that all clock frequencies of the first, second and other submodules of the subsystem are set to the first frequency value, the subsystem enters a sleep state.
[0008] Optionally, the subsystem is a Bluetooth subsystem, the electronic device further includes a Bluetooth controller, and when the electronic device enters a sleep state, the Bluetooth controller maintains a heartbeat connection with other electronic devices, and the first wake-up event is an event in which the Bluetooth controller receives a Bluetooth message from the other electronic device.
[0009] Optionally, the method also includes: in response to receiving a first message from the subsystem, the main system enters an awake state, changes the clock frequency of its third submodule from the current fourth frequency value to the fifth frequency value, and sets a timer for the third submodule, wherein the fourth frequency value is the operating frequency set when the main system is in a sleep state, the fifth frequency value is the highest operating frequency allowed by the main system, and the third submodule of the main system is configured to control the temporary operating frequency of the main system; the main system returns a response to the first message to the subsystem; in response to determining that the first wake-up event belongs to a background event of the main system, the main system processes the first wake-up event in the background; in response to expiration of the timer, the main system sets the clock frequency of its third submodule to the fourth frequency value; and in response to determining that all clock frequencies of the third submodule and other submodules of the main system are set to the fourth frequency value, the main system enters a sleep state.
[0010] Optionally, the method further includes: in response to receiving the first message from the subsystem, the main system enters the awake state, changes the clock frequency of its third submodule from the current fourth frequency value to the fifth frequency value, and sets a timer for the third submodule, wherein the fourth frequency value is the operating frequency set when the main system is in the dormant state, the fifth frequency value is the highest operating frequency allowed by the main system, the third submodule of the main system is configured to control the temporary operating frequency of the main system, and the timer is configured to enable the main system to set the clock frequency of the third submodule to the fourth frequency value after reaching a predetermined time; the main system returns a response to the first message to the subsystem. In response to determining that the first wake-up event belongs to the foreground event of the main system, the main system sets the clock frequency of its fourth sub-module to a sixth frequency value, and sends a wake-up notification to a subsystem associated with the first wake-up event, so that the clock frequency of the second sub-module of the associated subsystem is set to a third frequency value, wherein the sixth frequency value is higher than the fourth frequency value and lower than or equal to the fifth frequency value, and the third frequency value is higher than the first frequency value and lower than or equal to the second frequency value, the fourth sub-module of the main system is configured to control the long-term operating frequency of the main system, and the second sub-module of the associated subsystem is configured to control the long-term operating frequency of the associated subsystem.
[0011] Optionally, the method also includes: when the electronic device is in a sleep state, the main system receives a user-initiated wake-up event, enters a wake-up state, changes the clock frequency of its fourth sub-module from the fourth frequency value to the sixth frequency value, and sends a wake-up notification to a subsystem associated with the first wake-up event, so that the clock frequency of the second sub-module of the associated subsystem is set to a third frequency value, wherein the sixth frequency value is higher than the fourth frequency value and lower than or equal to the fifth frequency value, and the third frequency value is higher than the first frequency value and lower than or equal to the second frequency value, the fourth sub-module of the main system is configured to control the long-term operating frequency of the main system, and the second sub-module of the associated subsystem is configured to control the long-term operating frequency of the associated subsystem.
[0012] Optionally, when the electronic device enters a sleep state, the main system and the one or more first subsystems all enter a sleep state, including: in response to determining that the electronic device meets the conditions for entering a sleep state, the main system sends a sleep notification to the one or more subsystems to make the one or more subsystems enter a sleep state, in response to the one or more subsystems returning a response to the sleep notification, the main system sets the clock frequency of its fourth submodule to a fourth frequency value, the fourth submodule of the main system is configured to control the long-term operating frequency of the main system, and in response to determining that all clock frequencies of the third, fourth and other submodules of the main system are set to the fourth frequency value, the main system enters a sleep state.
[0013] According to a second aspect of an embodiment of the present disclosure, a non-transitory machine-readable storage medium is provided, on which executable code is stored. When the executable code is executed by a processor of an electronic device, the processor executes the method described in any of the solutions in the first aspect above.
[0014] According to a third aspect of an embodiment of the present disclosure, a computer program product is provided, comprising an executable code. When the executable code is executed by a processor of an electronic device, the processor is caused to execute the method as described in any one of the solutions in the first aspect above. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] The above and other objects, features and advantages of the present disclosure will become more apparent through a more detailed description of exemplary embodiments of the present disclosure with reference to the accompanying drawings, wherein like reference numerals generally represent like components in the exemplary embodiments of the present disclosure.
[0016] Figure 1 A schematic structural diagram of smart glasses as an example of an electronic device according to at least one embodiment of the present disclosure is exemplarily shown.
[0017] Figure 2 A schematic flowchart of a method for waking up an electronic device according to at least one embodiment of the present disclosure is exemplarily shown.
[0018] Figure 3 A structural diagram of an example of an electronic device and its connection with other electronic devices according to at least one embodiment of the present disclosure is exemplarily shown.
[0019] Figure 4 A schematic flowchart of an example method for waking up an electronic device according to at least one embodiment of the present disclosure is exemplarily shown.
[0020] Figure 5 A schematic flowchart of an example method for waking up an electronic device according to at least one embodiment of the present disclosure is exemplarily shown.
[0021] Figure 6 A schematic flowchart of an example method for waking up an electronic device according to at least one embodiment of the present disclosure is exemplarily shown.
[0022] Figure 7 A schematic flowchart of an example method for waking up an electronic device according to at least one embodiment of the present disclosure is exemplarily shown.
[0023] Figure 8 A structural diagram of an electronic device according to at least one embodiment of the present disclosure is exemplarily shown. DETAILED DESCRIPTION
[0024] Exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although exemplary embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be limited by the embodiments described herein. Rather, these embodiments are provided to make the present disclosure more thorough and complete, and to fully convey the scope of the present disclosure to those skilled in the art.
[0025] Smart glasses are a type of wearable smart product, which can include XR (Extended Reality) glasses, etc. XR glasses can also include AR (Augmented Reality) glasses, VR (Virtual Reality) glasses, MR (Mixed Reality) glasses, etc.
[0026] like Figure 1 As shown, in some examples, the smart glasses may embed some hardware modules, including the processing system 110, in their frames (including temples). Figure 1 As shown in the enlarged view of the processing system 110, the processing system 110 may include a main processor 101 and multiple sub-processors, namely sub-processors 102-103. It will be understood by those skilled in the art that Figure 1 The number of sub-processors in is only exemplary, and the embodiments of the present disclosure are applicable to any number of sub-processors. Figure 1 The diagram is merely illustrative and not intended to limit the structure of the smart glasses of the present disclosure. The smart glasses may include more or fewer components than shown in the diagram, or combine certain components, or arrange the components differently. Alternatively, the components in the smart glasses may be deployed in different locations.
[0027] In this disclosure, the so-called "main processor and sub-processors" refer to processors in a master-slave relationship within the processing system of an electronic device. The main processor is responsible for the operation of the entire electronic device and can control all sub-processors. All sub-processors obey the command of the main processor and are responsible for completing specific tasks. Each processor runs an operating system instance. The operating system instance running on the main processor is called the main system, and the operating system instance running on the sub-processors is called a subsystem. The main system and each subsystem can use the same or different operating systems, such as various real-time operating systems (RTOS).
[0028] In some examples, the main processor and each sub-processor can adopt AMP (Asymmetric Multi-processing) mode. Each processor can have its own dedicated memory and can communicate with each other through a shared memory with restricted access.
[0029] Additionally, the main processor and each sub-processor may have the same or different architectures.
[0030] For example, the above-mentioned main processor or each sub-processor may include one or more processing units, such as a central processing unit (CPU), an application processor (AP), a modem processor, a graphics processor (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural network processor (NPU), etc., wherein different processing units may be independent devices or integrated into one or more processors.
[0031] Although Figure 1 Although not shown, the smart glasses may also include a memory integrated with the processing system 110 and / or independently provided. The memory may be used to store computer executable program code, which includes instructions. The memory may include a program storage area and a data storage area. The program storage area may store an operating system, at least one application required for a function, and the like. The data storage area may store data (such as audio data, etc.) generated during the use of the smart glasses.
[0032] Although Figure 1 , the main processor and sub-processor are integrated into a single processing system 110 (i.e., a single chip). However, in other examples, the main processor and sub-processor may be located in separate chips. In one example, the processing system 110 may be attached to the glasses rather than embedded therein, and so on.
[0033] As mentioned above, it is expected that smart glasses can enter sleep mode when there is no business to improve battery life, while ensuring timely response when business occurs.
[0034] To ensure responsiveness and reliability, several implementations have been proposed. These solutions employ an always-on approach, whereby subsystems remain awake at all times to quickly process business. When there is no business, only the main system goes into hibernation. Upon receiving an event, the main system wakes up to process the event, and then goes back into hibernation to reduce power consumption. However, since the subsystems remain awake at all times, significant power consumption is wasted.
[0035] Therefore, the present disclosure proposes a new wake-up scheme, in which the main system and all subsystems enter a sleep state when the electronic device is in sleep mode, thereby reducing the power consumption of the entire device. The subsystems are allowed to independently receive wake-up events and process them quickly, so that they can respond in time when business occurs.
[0036] The method for waking up an electronic device provided by the embodiments of the present disclosure can be applied not only to the aforementioned smart glasses, but also to various other types of handheld devices (such as mobile phones, personal digital assistants (PDAs), etc.), various types of computers (such as tablets, laptops, ultra-mobile personal computers (UMPCs), netbooks, laptops, etc.), wearable devices, vehicle-mounted devices, AR / VR devices and other electronic devices. The embodiments of the present disclosure do not impose any restrictions on the specific types of application devices such as electronic devices, as long as the application device has a main processor and a sub-processor and there is a need to wake up the application device in a timely manner.
[0037] As an example and not a limitation, when the electronic device is a wearable device, the wearable device can also be a general term for wearable devices that are intelligently designed and developed using wearable technology for daily wear, such as gloves, watches, AR head-mounted display devices, VR head-mounted display devices, or MR head-mounted display devices equipped with far-field communication modules and / or near-field communication modules.
[0038] The following will be combined Figures 2 to 7 Some embodiments of the present disclosure are described in detail. In the present disclosure, "a plurality of" or similar expressions refer to two or more.
[0039] Figure 2 A schematic flow chart of a method for waking up an electronic device according to at least one embodiment of the present disclosure is exemplarily shown. The electronic device includes a main processor that runs a main system and one or more sub-processors that run one or more sub-systems, and when the electronic device enters a dormant state, both the main system and the one or more sub-systems enter a dormant state.
[0040] like Figure 2As shown, in step S210, when the electronic device is in a dormant state, a subsystem receives a first wake-up event.
[0041] The subsystem may be any subsystem, or a subsystem responsible for a specific task, such as a Bluetooth subsystem responsible for Bluetooth protocol stack processing.
[0042] Although the embodiments of the present disclosure mainly discuss operations such as waking up or sleeping of one subsystem, it can be understood that when an electronic device includes multiple subsystems, other subsystems can also perform the same or similar operations as the discussed subsystem as needed.
[0043] Furthermore, it should be understood that in this disclosure, the terms "first," "second," and so on are used to distinguish similar objects, rather than to describe a specific order or precedence, and do not have any additional limiting effect. For example, the "first" wake-up event here and the "second" wake-up event described later are used only to distinguish individual wake-up events, rather than to distinguish the type or order of wake-up events.
[0044] A "wake-up event" refers to an event generated inside or outside the system that needs to be processed by the system. The subsystem may receive a first wake-up event from inside or outside.
[0045] Then, in step S220, in response to determining that the first wake-up event is a subsystem external wake-up event, the subsystem sets the clock frequency of its first submodule from the current first frequency value to a second frequency value, wherein the first frequency value is the operating frequency set when the subsystem is in a dormant state, and the second frequency value is the maximum operating frequency allowed by the subsystem. The first submodule of the subsystem is configured to control the temporary operating frequency of the subsystem. The operating frequency set in the dormant state is generally the minimum operating frequency allowed by the subsystem.
[0046] The terms "external" and "internal" in the subsystem external wakeup events and subsystem internal wakeup events described later do not distinguish the source of the wakeup event. Instead, they indicate whether the wakeup event requires processing only within the receiving subsystem or requires processing external to the receiving subsystem. An external subsystem wakeup event requires processing external to the receiving subsystem, while an internal subsystem wakeup event requires processing only within the receiving subsystem.
[0047] In some examples, whether a received wake-up event is a subsystem external wake-up event can be determined using a preset list or rule. For example, for a Bluetooth subsystem, the wake-up event it receives may include an event in which a Bluetooth message is received from another external electronic device. Such events are preset as being classified as subsystem external wake-up events.
[0048] When a subsystem receives an external wakeup event, it needs to relay the event to the main system for processing, which involves inter-core communication. Furthermore, external wakeup events often involve user-interactive services (such as calls and music playback), requiring a quick response to enhance the user experience. Therefore, the subsystem temporarily increases its operating frequency from the lowest frequency during sleep to the highest frequency, thereby improving the subprocessor's performance to quickly process wakeup events, quickly complete inter-core communication, and reduce end-to-end service latency.
[0049] In this disclosure, the submodules of a subsystem, such as the first submodule and the second submodule described later, refer to the submodules in the subsystem configured to control the various operating frequencies of the subsystem. Similarly, the submodules of a main system, such as the third submodule and the fourth submodule described later, refer to the submodules in the main system configured to control the various operating frequencies of the main system.
[0050] Both the main system and the subsystem support operating at multiple different frequency levels. For example, the main system can support four operating frequencies: 32KHz / 24MHz / 96MHz / 192MHz, and the subsystem can support three operating frequencies: 32KHz / 24MHz / 96MHz. In this example, the first frequency value of the subsystem is the lowest frequency value of 32K, the second frequency value is the highest frequency value of 96MHz, and the third frequency value described later can be the middle frequency value of 24MHz. For the main system, the fourth frequency value described later is the lowest frequency value of 32K, the fifth frequency value is the highest frequency value of 192MHz, and the sixth frequency value can be the middle frequency value of 24MHz.
[0051] Since different applications / scenarios in the main system / subsystem may expect different operating frequencies, and the main system / subsystem can only use one frequency for actual operation at each moment, in order to better manage the operating frequency and avoid setting conflicts, the main system / subsystem uses multiple sub-modules to set the operating frequencies for multiple applications / scenarios respectively, and selects the maximum value of the operating frequencies set by all sub-modules as the current actual operating frequency.
[0052] In some examples, the main system / subsystem can use an array to manage the operating frequency of each submodule. Each element in the array represents a submodule, and the value of the element is the operating frequency of the corresponding submodule. For example, the sysfreq array maintained by the RTOS main frequency management module can be used. The value of the corresponding element in the array can be set as the desired operating frequency according to the needs of each application / scenario. The system will use the largest value in the sysfreq array as the actual operating main frequency. If the value of any element in the sysfreq array is not the minimum operating frequency value, the system will not go into sleep mode.
[0053] For example, the main system may include submodules represented by the following array elements:
[0054] sysfreq[user0_wakup], controls the long-term operating frequency of the long wake-up state,
[0055] sysfreq[user0_wakup_temp], controls the temporary operating frequency of the temporary wake-up state,
[0056] sysfreq[user0_screen], controls the operating frequency corresponding to the screen state,
[0057] sysfreq[user0_audio], controls the operating frequency corresponding to the audio service,
[0058] sysfreq[user0_record], controls the operating frequency corresponding to the recording service,
[0059] sysfreq[user0_calling], controls the running frequency of the calling application.
[0060] sysfreq[user0_wearing], controls the operating frequency corresponding to the wearing state,
[0061] sysfreq[user0_battery], controls the operating frequency corresponding to the charging state, etc.
[0062] The third submodule described later may be sysfreq[user0_wakup_temp], and the fourth submodule may be sysfreq[user0_wakup].
[0063] For example, the Bluetooth subsystem may include submodules represented by the following array elements:
[0064] sysfreq[user1_wakup], controls the long-term running frequency of the long wake-up state,
[0065] sysfreq[user1_wakup_temp], controls the temporary operating frequency of the temporary wake-up state,
[0066] sysfreq[user1_a2dp] controls the operating frequency corresponding to the a2dp service.
[0067] The first submodule may be sysfreq[user1_wakup_temp], and the second submodule described later may be sysfreq[user1_wakup].
[0068] The above-mentioned long wake-up state and temporary wake-up state are both states of waking up from the sleep state or shutdown state to handle events. The difference is that the long wake-up state lasts longer, during which the system is on standby at any time, waiting for new tasks. When there are tasks, they can be scheduled and processed immediately, while the temporary wake-up state only lasts for a short time, and usually enters the sleep state after processing the current event.
[0069] In the long wake-up state, resources such as PLL (Phase-Locked Loop), PMU (Power Management Unit), SRAM, etc. are all in an active state so as to be able to respond to and process new tasks in a timely manner.
[0070] Then, in step S230 , the subsystem parses the first wake-up event and sends a related first message to the main system.
[0071] After reading the first message, the main system returns an acknowledgement (hereinafter referred to as ack) to the subsystem.
[0072] In some examples, the subsystem and the main system can use shared memory to communicate between cores. For example, after parsing the first wake-up event and obtaining its specific content, the subsystem can assemble and write the content into the shared memory of the SRAM, and assemble the relevant inter-core message as the first message to be sent to the main system, where the inter-core message can include a message number, a pointer address of the message content (i.e., the address in the shared memory of the SRAM), etc.
[0073] Then, in step S240 , in response to the main system returning a response to the first message, the subsystem sets the clock frequency of the first submodule to the first frequency value.
[0074] This allows the subsystem to remain awake during inter-core communication, and only enter sleep mode after the main system has finished reading the message content. For example, when using shared memory for inter-core communication, since the inter-core message content is stored in the subsystem's SRAM, it is necessary to ensure that the SRAM is active (not dormant) while the main system is reading the SRAM, otherwise the reading will be abnormal.
[0075] Then, in step S250 , in response to determining that all clock frequencies of the first submodule and other submodules of the subsystem are set to the first frequency value, the subsystem enters a dormant state.
[0076] For example, when no other service threads are running, the lowest-priority idle thread is scheduled and checked for sleep conditions. The sleep conditions include at least that all elements in the subsystem's sysfreq array have the lowest frequency value of 32K. In addition, sleep conditions can also include that resources such as DMA (Direct Memory Access) and bus resources are released and there are no pending interrupt requests (IRQs).
[0077] If the subsystem's idle thread checks that it meets the sleep conditions, it controls the subsystem to enter the sleep state and switches the subsystem's current actual operating frequency to 32 kHz. For example, the idle thread can set the subsystem's corresponding PMU to low power consumption, which changes the subsystem's actual operating frequency to 32 kHz.
[0078] After being awakened by an external event, the above subsystem sets the temporary operating frequency to the highest operating frequency, and resets it to the lowest operating frequency after the main system returns ack, and quickly returns to the sleep state. Therefore, the subsystem maintains a high main frequency for a very short time, and the impact on power consumption can be ignored.
[0079] Therefore, compared with the existing solution of shutting down the subsystem to sleep, the sleep and wake-up method of the above-mentioned subsystem can maintain the function of the subsystem. After waking up, the subsystem will instantly increase the main frequency to ensure business performance. Compared with the existing solution of always on subsystem, it not only saves more power consumption, but also has minimal impact on performance.
[0080] In addition, in some embodiments, after receiving the first message from the subsystem in the above step S230, the main system can enter a temporary wake-up state, return a response to the first message to the subsystem after the message content is read, and determine whether the first wake-up event belongs to the main system foreground event or the main system background event based on the message content, and process it accordingly according to its nature. The main system foreground / background events can be distinguished according to whether interaction with the user is required. If interaction is required, it is a foreground event, and if no interaction is required, it is a background event. For background events, the main system can enter the dormant state again after processing is completed. For foreground events, since it is necessary to wait for user interaction at any time, the main system must maintain a long wake-up state, and wake up related subsystems as needed to enter a long wake-up state, thereby improving the response speed to the user. Until the processing related to the foreground event is completely completed and each system is idle, it will enter the dormant state again, and the entire device will enter dormancy.
[0081] For example, in response to receiving a first message from the subsystem, the main system enters an awake state, changes the clock frequency of its third submodule from the current fourth frequency value to the fifth frequency value, and sets a timer for the third submodule, wherein the fourth frequency value is the operating frequency set when the main system is in a dormant state, and the fifth frequency value is the maximum operating frequency allowed by the main system. The third submodule of the main system is configured to control the temporary operating frequency of the main system. The setting of this timer can control the duration of the temporary awakening. The timer is configured to cause the main system to set the clock frequency of the third submodule to the fourth frequency value after reaching a predetermined time.
[0082] After being awakened by the first message, the main system temporarily increases its operating frequency to its maximum operating frequency. This improves processor performance to quickly handle the instantaneous awakening service and prevents dormancy from interrupting service before upper-layer applications decide whether to permanently awaken the main system. Furthermore, as mentioned above, the main system also sets a timer to reset the maximum operating frequency back to the minimum operating frequency after a predetermined period of time (e.g., 200ms). Therefore, the main system maintains a high operating frequency for a very short time, with a negligible impact on power consumption.
[0083] Then, the main system may return a response to the first message to the subsystem after completing reading the content of the first message, and determine whether it is a main system background event based on the message content.
[0084] In response to determining that the first wake-up event is a main system background event, the main system processes the first wake-up event in the background. In response to the expiration of a timer, the main system sets the clock frequency of its third submodule to a fourth frequency value. In response to determining that all clock frequencies of the third submodule and other submodules of the main system are set to the fourth frequency value, the main system enters a sleep state. The main system can enter a sleep state in a manner similar to the aforementioned subsystems. For example, when no other service threads are running, the lowest-priority idle thread is scheduled and checked to see if it meets sleep conditions. The sleep conditions include at least that all elements in the main system's sysfreq array have the value of the minimum frequency value of 32 kHz. In addition, the sleep conditions may also include that resources such as DMA and bus are released and there are no pending interrupt requests. If the main system's idle thread determines that the sleep conditions are met, it controls the main system to enter a sleep state and switches the main system's current actual operating frequency to 32 kHz. For example, the idle thread may set the main system's corresponding PMU to low power consumption, which changes the main system's actual operating frequency to 32 kHz.
[0085] On the other hand, in other cases, in response to determining that the first wake-up event belongs to the foreground event of the main system, the main system sets the clock frequency of its fourth sub-module to a sixth frequency value, and sends a wake-up notification to a subsystem associated with the first wake-up event, so that the clock frequency of the second sub-module of the associated subsystem is set to a third frequency value, wherein the sixth frequency value is higher than the fourth frequency value and lower than or equal to the fifth frequency value, and the third frequency value is higher than the first frequency value and lower than or equal to the second frequency value, the fourth sub-module of the main system is configured to control the long-term operating frequency of the main system, and the second sub-module of the associated subsystem is configured to control the long-term operating frequency of the associated subsystem.
[0086] In addition, for the subsystem, in response to receiving the wake-up notification sent by the main system, the subsystem sets the clock frequency of its second submodule to a third frequency value to maintain the wake-up state, wherein the second submodule of the subsystem is configured to control the long-term operating frequency of the subsystem.
[0087] In addition, the main system may also distribute the first message to the application for processing the first wake-up event, and set the clock frequency of the submodule corresponding to the application (also referred to as the fifth submodule) to a desired frequency value. The fifth submodule is configured to control the operating frequency corresponding to the application, for example, the aforementioned sysfreq[user0_audio], sysfreq[user0_record], etc.
[0088] It is understandable that when the first wake-up event is a foreground event of the main system, since a timer is also set for the third submodule, the main system will also set the clock frequency of the third submodule to the fourth frequency value (i.e., the lowest frequency value) after the timer expires. However, at this time, the clock frequencies of the fourth and fifth submodules are not the fourth frequency value, but a higher value. Therefore, the main system will not enter the dormant state, but will select the highest frequency value as the actual operating frequency and enter the long wake-up state.
[0089] As described above, in the case of needing to wait for user interaction at any time, the main system maintains a long awake state, and the awakened related subsystems also maintain a long awake state, thereby improving the response speed to the user.
[0090] The following combination Figure 3 and Figure 4 An example of the above-mentioned disclosed solution is described in more detail.
[0091] Figure 3 A structural diagram of an example of an electronic device and its connection with other electronic devices according to at least one embodiment of the present disclosure is exemplarily shown.
[0092] like Figure 3 As shown, electronic device 310 includes a main processor 301 and two sub-processors: a Bluetooth sub-processor 302 and a sensor sub-processor 303. Sensor sub-processor 303 is generally responsible for sensor management and data processing algorithm integration. It should be understood that the Bluetooth sub-processor and sensor sub-processor are merely exemplary, and the present disclosure is not limited to including only two sub-processors.
[0093] The electronic device 310 further includes a Bluetooth controller 304, which can establish a Bluetooth connection with another electronic device (e.g., a mobile phone) 320. Even when the electronic device 310 enters a dormant state (where the Bluetooth subsystem is also dormant), the Bluetooth controller 304 still maintains a heartbeat connection with the other electronic device 320, so as to promptly receive messages from the other electronic device 320. The power consumed by maintaining the heartbeat connection can be controlled to be very low.
[0094] Thus, while the electronic device 310 is dormant, the Bluetooth controller 304 can receive Bluetooth messages from the other electronic device 320. For example, if the electronic device 310 is a pair of smart glasses and the other electronic device 320 is a mobile phone, the Bluetooth controller 304 can receive various Bluetooth messages from the mobile phone, such as battery synchronization messages, incoming call messages, etc. After receiving the Bluetooth message, the Bluetooth controller 304 can trigger an interrupt to wake up the Bluetooth subsystem running on the Bluetooth subprocessor 302. That is, the first wake-up event mentioned above can be the event that the Bluetooth controller 304 receives a Bluetooth message from the other electronic device 320.
[0095] Figure 4 Given as Figure 2 The schematic flowchart of a method example is shown in FIG. , wherein the left dashed box represents operations performed by the subsystem, and the right dashed box represents operations performed by the main system.
[0096] For example, Figure 4 The subsystem in can be the Bluetooth subsystem running on the above-mentioned Bluetooth sub-processor 302, and the wake-up event is the event that the Bluetooth controller 304 in the smart glasses receives a Bluetooth message from a mobile phone as the other electronic device 320.
[0097] Taking the receipt of a battery synchronization message as an example, since the main system needs to update the mobile phone battery value, the corresponding wake-up event belongs to the subsystem external wake-up event. In addition, since no interaction with the user is required, the corresponding wake-up event belongs to the main system background event.
[0098] When the smart glasses are in sleep mode, after the subsystem receives a wake-up event corresponding to a power synchronization message, in step S401, the subsystem determines whether the wake-up event is an external wake-up event for the subsystem. If so, the process proceeds to step S402 and sets the first submodule sysfreq[user1_wakeup_temp] to the maximum frequency value of 96M. Then, in step S403, the subsystem parses the wake-up event as a BLE (Bluetooth Low Energy) message, assembles the content of the message into the shared memory of SRAM, and assembles an inter-core message to send to the main system. The inter-core message contains the message number, the pointer address of the message content, etc.
[0099] Then, in step S404, the main system receives the inter-core message from the subsystem. Then, in step S405, the main system sets the third submodule, sysfreq[user0_wakeup_temp], to the maximum frequency of 192 MHz, resets the timer to the minimum frequency of 32 kHz after 200 ms, and simultaneously reads and parses the message content from SRAM.
[0100] After the message content is read, the main system returns an ACK to the subsystem in step S406. The subsystem receives the ACK in step S407 and then sets the first submodule sysfreq[user1_wakeup_temp] to the minimum frequency of 32K in step S408. The subsystem then re-enters the sleep state in step S409.
[0101] After the main system parses the message, it determines in step S411 whether the wake-up event is a foreground event. If it is a background event, the system determines no, and then proceeds to step S412. The main system dispatches the message to the corresponding application, which processes the event in the background, updating the phone's battery level.
[0102] After the timer expires after 200ms, in step S410, the main system resets the third submodule sysfreq[user0_wakeup_temp] to the minimum frequency value of 32K. Then in step S413, the main system re-enters the sleep state, and the smart glasses as a whole re-enter the sleep state.
[0103] In addition, in other cases, taking the receipt of a mobile phone call message as an example, since the main system needs to process it, the corresponding wake-up event belongs to the subsystem external wake-up event. In addition, since it needs to interact with the user, the corresponding wake-up event belongs to the main system foreground event.
[0104] Therefore, when the smart glasses are in a dormant state, after the subsystem receives a wake-up event corresponding to an incoming call message from a mobile phone, it performs the same steps S401-S411 as the previous power synchronization message. In the judgment of step S411, since the wake-up event at this time belongs to the foreground event of the main system, the judgment result is yes, and the process proceeds to step S414. The main system sets the fourth submodule sysfreq[user0_wakeup] to the long-term operating frequency value 24M, and then in step S415, the main system maintains a long wake-up state and sends a wake-up notification to the Bluetooth subsystem. In step S416, the subsystem receives the wake-up notification, and then in step S417, the second submodule sysfreq[user1_wakeup] is set to the long-term operating frequency value 24M, and then in step S418, the subsystem maintains a long wake-up state.
[0105] At the same time as step S414, the main system distributes the message to the corresponding call application, which processes the message and sets its corresponding submodule sysfreq[user0_calling] to the corresponding frequency. During this call service, both the main system and the subsystem remain awake.
[0106] In addition, in some embodiments, when the electronic device is in a dormant state, if the wake-up event received by the subsystem is not an external wake-up event of the subsystem but an internal wake-up event of the subsystem, since the event does not need to be sent to the main system for processing and it does not involve user interaction and requires a quick response, the subsystem can maintain its operating frequency after being awakened and can simply use the lowest operating frequency to continue into a dormant state after completing the internal processing of the subsystem. This can minimize power consumption.
[0107] For example, the method of an embodiment of the present disclosure may also include: when the electronic device is in a sleep state, the subsystem receives a second wake-up event; in response to determining that the second wake-up event is an internal wake-up event of the subsystem, the subsystem parses the second wake-up event and performs corresponding processing; after the processing is completed, in response to determining that all clock frequencies of the first submodule and other submodules of the subsystem are set to the first frequency value, the subsystem enters a sleep state.
[0108] The following combination Figure 5 Describe a specific example of this wake-up situation.
[0109] like Figure 5 As shown, when the electronic device is in a dormant state, the subsystem receives a wake-up event. The wake-up event is an internal event of the subsystem, such as a timer interrupt within the subsystem (for example, a timer interrupt set to periodically maintain the subsystem). Therefore, in step S501, it is determined that the wake-up event is not an external wake-up event of the subsystem, and then the process proceeds to step S502. After waking up, the subsystem does not need to increase the operating frequency, but can maintain the current lowest frequency. It does not need to send it to the main system, but can parse the event and perform corresponding processing internally. Then, in step S503, the subsystem re-enters the dormant state after completing the internal processing.
[0110] Furthermore, in some embodiments, when the electronic device is in sleep mode, the main system can be actively awakened by the user. In this case, the main system must remain awake for a long time to respond to user operations at any time. Furthermore, the main system can also selectively awaken some subsystems based on service needs and keep them awake for a long time, while keeping the remaining subsystems in sleep mode. This ensures service response speed while minimizing power consumption.
[0111] For example, the method of an embodiment of the present disclosure may also include: when the electronic device is in a sleep state, the main system receives a user-initiated wake-up event, enters a wake-up state, changes the clock frequency of its fourth sub-module from the fourth frequency value to the sixth frequency value, and sends a wake-up notification to a subsystem associated with the first wake-up event, so that the clock frequency of the second sub-module of the associated subsystem is set to the third frequency value, wherein the sixth frequency value is higher than the fourth frequency value and lower than or equal to the fifth frequency value, and the third frequency value is higher than the first frequency value and lower than or equal to the second frequency value, the fourth sub-module of the main system is configured to control the long-term operating frequency of the main system, and the second sub-module of the associated subsystem is configured to control the long-term operating frequency of the associated subsystem.
[0112] The following combination Figure 6 Describe a specific example of a user-initiated wake-up situation.
[0113] like Figure 6 As shown, when the electronic device is in sleep mode, the main system receives a user-initiated wake-up event, such as a user pressing the power button. In step S601, the main system sets the fourth submodule, sysfreq[user0_wakeup], to a long-term operating frequency of 24 MHz and simultaneously sends an inter-core message to notify a subsystem to wake up. Then, in step S602, the main system remains awake for a long time. Simultaneously, in step S603, the subsystem receives a wake-up notification message. Then, in step S604, the second submodule, sysfreq[user1_wakeup], is also set to a long-term operating frequency of 24 MHz. In step S605, the subsystem also remains awake for a long time.
[0114] After the user actively wakes up the main system, they can choose to wake up only one of the subsystems mentioned above based on business needs, or in other cases, they can wake up more subsystems, while the remaining subsystems remain dormant. For example, after the main system wakes up, the Bluetooth subsystem usually has high-frequency business, so to ensure business performance, the Bluetooth subsystem can be awakened for a long time. The sensor subsystem usually only runs business in specific scenarios, so the main system does not need to wake it up at this time. Instead, it wakes it up after starting a specific business.
[0115] In addition, in some embodiments, when it is determined that the electronic device is to enter the sleep state, the main system controls all subsystems to enter the sleep state, and then enters the sleep state itself.
[0116] For example, the following operations can be performed to ensure that the main system and the aforementioned one or more first subsystems (i.e., all subsystems) enter the sleep state when the electronic device enters the sleep state: in response to determining that the electronic device meets the conditions for entering the sleep state, the main system sends a sleep notification to the one or more subsystems, so that the one or more subsystems all enter the sleep state; in response to the one or more subsystems returning a response to the sleep notification, the main system sets the clock frequency of its fourth submodule to a fourth frequency value, and the fourth submodule of the main system is configured to control the long-term operating frequency of the main system; and in response to determining that all clock frequencies of the third, fourth and other submodules of the main system are set to the fourth frequency value, the main system enters the sleep state.
[0117] In addition, for each subsystem, in response to receiving a sleep notification sent by the main system, the subsystem returns a response to the sleep notification to the main system, sets the clock frequency of the second submodule to the first frequency value, and in response to determining that all clock frequencies of the first, second submodules and other submodules of the subsystem are set to the first frequency value, the subsystem enters a sleep state.
[0118] The following combination Figure 7 A specific example of this dormancy is described in Figure 7 In the figure, the left dotted box represents the operations performed by the main system, and the right dotted boxes represent the operations performed by each subsystem. The electronic device includes N subsystems (N>1). Since the operations of each subsystem are similar, for the sake of clarity, Figure 7 Only the first and last subsystems are shown as examples, and the operations of other subsystems are omitted.
[0119] like Figure 7 As shown, first in step S701, the main system determines that the electronic device needs to sleep, for example, if there is no user interaction with the current device and no other business to be processed, and therefore initiates the sleep process. In step S702, the main system uses inter-core communication to send a sleep notification to all subsystems. Then, in steps S703 and S707, each subsystem receives the sleep notification, and then returns an ack to the main system in steps S704 and S710 respectively. At the same time, in steps S705 and S708, the subsystems that control the long-term operating frequency, such as sysfreq[user1_wakeup] and sysfreq[usern_wakeup], are set to the minimum frequency value of 32K. Then, if the idle thread of each subsystem checks that it meets the sleep conditions, it controls the corresponding subsystem to sleep, and the actual operating clock frequency is switched to 32KHz. In steps S706 and S709, each subsystem enters the sleep state.
[0120] In step S711, the main system receives ACKs from all subsystems. Then, in step S712, the main system sets its fourth submodule, sysfreq[user0_wakeup], to the lowest frequency of 32 kHz. If the main system's idle thread meets the sleep conditions, it controls the main system to sleep, switching the actual operating clock frequency to 32 kHz. In step S713, the main system enters sleep mode.
[0121] After the main system and all subsystems enter the sleep state, the electronic device as a whole enters the sleep state.
[0122] The above sleep mode ensures that the main system and all subsystems are in low-power mode when there is no business. Compared with the solution of always-on subsystems, its power consumption is lower.
[0123] Therefore, according to the method of some embodiments of the present disclosure, when the entire electronic device is determined to be in sleep mode without user interaction, the main system controls all subsystems to enter sleep mode and then enters sleep mode itself. That is, when the electronic device is in sleep mode, the main system and all subsystems enter a low-power sleep state, while maintaining some functions of the system, such as Bluetooth connection. In the sleep state, the subsystem is interrupted and awakened to process an event. If it is an internal event, the subsystem will go back to sleep after the internal processing is completed; if it is an external event, the main system will be awakened to process the event. The main system will choose between fast sleep and continuous wake-up based on whether it is a user interaction event. If it is a background event without user interaction, the main system will go back to sleep after processing. If it is a foreground event with user interaction, the main system will remain awake to run the business and control some subsystems to remain awake to run the business as needed.
[0124] Therefore, the solution of the embodiment of the present disclosure can reduce the power consumption of the entire machine during sleep, while maintaining some system functions and ensuring business response speed.
[0125] Figure 8 A schematic structural diagram of an electronic device that can be used to implement the above-mentioned method for waking up an electronic device according to at least one embodiment of the present disclosure is shown.
[0126] See also Figure 8 , the electronic device 800 includes a main processor 811, a sub-processor 812 and a memory 820. In other examples, the electronic device 800 may further include more sub-processors. These main processors and sub-processors may have the same or different structures.
[0127] The main processor 811 or the sub-processor 812 may be a multi-core processor or may include multiple processors. In some embodiments, the main processor 811 or the sub-processor 812 may include a general-purpose main processor and one or more special co-processors, such as a graphics processing unit (GPU), a digital signal processor (DSP), etc. In some embodiments, the main processor 811 or the sub-processor 812 may be implemented using customized circuits, such as application-specific integrated circuits (ASICs) or field-programmable gate arrays (FPGAs).
[0128] The memory 820 may include various types of storage units, such as system memory, read-only memory (ROM), and permanent storage devices. ROM may store static data or instructions required by the main processor 811 or sub-processor 812 or other modules of the computer. The permanent storage device may be a readable and writable storage device. The permanent storage device may be a non-volatile storage device that retains stored instructions and data even when the computer is powered off. In some embodiments, the permanent storage device uses a large-capacity storage device (such as a magnetic or optical disk, flash memory) as the permanent storage device. In other embodiments, the permanent storage device may be a removable storage device (such as a floppy disk, optical drive). The system memory may be a readable and writable storage device or a volatile readable and writable storage device, such as dynamic random access memory. The system memory may store instructions and data required by some or all processors during operation. In addition, the memory 820 may include any combination of computer-readable storage media, including various types of semiconductor memory chips (DRAM, SRAM, SDRAM, flash memory, programmable read-only memory), and magnetic disks and / or optical disks may also be used. In some embodiments, the memory 820 may include a readable and / or writable removable storage device, such as a compact disc (CD), a read-only digital versatile disc (e.g., DVD-ROM, dual-layer DVD-ROM), a read-only Blu-ray disc, an ultra-density optical disc, a flash memory card (e.g., SD card, mini SD card, Micro-SD card, etc.), a magnetic floppy disk, etc. Computer-readable storage media do not include carrier waves and transient electronic signals transmitted wirelessly or wired.
[0129] The memory 820 stores executable codes. When the executable codes are processed by the processor 820 , the main processor 811 and the sub-processor 812 can execute the above-mentioned method for waking up the electronic device.
[0130] In addition, the method according to the present disclosure may also be implemented as a computer program or a computer program product, which includes computer program code instructions for executing the above steps defined in the above method of the present disclosure.
[0131] Alternatively, the present disclosure may also be implemented as a non-transitory machine-readable storage medium (or computer-readable storage medium, or machine-readable storage medium) on which executable code (or computer program, or computer instruction code) is stored. When the executable code (or computer program, or computer instruction code) is executed by a processor of an electronic device (or computing device, server, etc.), the processor is caused to perform the various steps of the above-mentioned method according to the present disclosure.
[0132] Those skilled in the art will further appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the disclosure herein may be implemented as electronic hardware, computer software, or combinations of both.
[0133] The flowcharts and block diagrams in the accompanying drawings show the possible architecture, functions and operations of the systems and methods according to multiple embodiments of the present disclosure. In this regard, each box in the flowchart or block diagram can represent a module, program segment or part of code, and the part of the module, program segment or code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in an order different from that marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flowchart, and the combination of the boxes in the block diagram and / or flowchart, can be implemented with a dedicated hardware-based system that performs the specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0134] While various embodiments of the present disclosure have been described above, the above descriptions are illustrative, non-exhaustive, and not intended to be limiting of the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is selected to best explain the principles of the embodiments, their practical applications, or improvements to existing technologies, or to enable others skilled in the art to understand the embodiments disclosed herein.
Claims
1. A method for waking up an electronic device, wherein the electronic device includes a main processor running a main system and one or more sub-processors running one or more sub-systems, and when the electronic device enters a sleep state, the main system and the one or more sub-systems both enter a sleep state; The method comprises: When the electronic device is in a dormant state, a subsystem receives a first wake-up event; In response to determining that the first wake-up event is an external wake-up event of the subsystem, the subsystem sets the clock frequency of its first submodule from a current first frequency value to a second frequency value, wherein the first frequency value is an operating frequency set when the subsystem is in a dormant state, the second frequency value is a maximum operating frequency allowed by the subsystem, and the first submodule of the subsystem is configured to control the temporary operating frequency of the subsystem; The subsystem analyzes the first wake-up event and sends a related first message to the main system; In response to the main system returning a response to the first message, the subsystem sets the clock frequency of the first submodule to the first frequency value; and In response to determining that all clock frequencies of the first submodule and other submodules of the subsystem are set to the first frequency value, the subsystem enters a sleep state.
2. The method according to claim 1, further comprising: When the electronic device is in a dormant state, the subsystem receives a second wake-up event; In response to determining that the second wake-up event is a subsystem internal wake-up event, The subsystem analyzes the second wake-up event and performs corresponding processing; After the processing is completed, in response to determining that all clock frequencies of the first submodule and other submodules of the subsystem are set to the first frequency value, the subsystem enters a dormant state.
3. The method according to claim 1, further comprising: In response to receiving a wake-up notification sent by the main system, the subsystem sets the clock frequency of its second submodule to a third frequency value to maintain an awake state, wherein the third frequency value is higher than the first frequency value and lower than or equal to the second frequency value, and the second submodule of the subsystem is configured to control the long-term operating frequency of the subsystem; or In response to receiving a sleep notification sent by the main system, the subsystem returns a response to the sleep notification to the main system, sets the clock frequency of the second submodule to the first frequency value, and in response to determining that all clock frequencies of the first, second and other submodules of the subsystem are set to the first frequency value, the subsystem enters a sleep state.
4. The method according to claim 1, wherein The subsystem is a Bluetooth subsystem, and the electronic device also includes a Bluetooth controller. When the electronic device enters a sleep state, the Bluetooth controller maintains a heartbeat connection with other electronic devices, and the first wake-up event is an event in which the Bluetooth controller receives a Bluetooth message from the other electronic device.
5. The method according to claim 1, further comprising: In response to receiving the first message from the subsystem, the main system enters an awake state, changes the clock frequency of its third submodule from a current fourth frequency value to a fifth frequency value, and sets a timer for the third submodule, wherein the fourth frequency value is an operating frequency set when the main system is in a dormant state, the fifth frequency value is a maximum operating frequency allowed by the main system, and the third submodule of the main system is configured to control a temporary operating frequency of the main system; The main system returns a response to the first message to the subsystem; In response to determining that the first wake-up event is a main system background event, the main system processes the first wake-up event in the background; In response to expiration of the timer, the main system sets the clock frequency of its third submodule to a fourth frequency value; and In response to determining that all clock frequencies of the third submodule and other submodules of the main system are set to the fourth frequency value, the main system enters the sleep state.
6. The method according to claim 1, further comprising: In response to receiving the first message from the subsystem, the main system enters an awake state, changes the clock frequency of its third submodule from a current fourth frequency value to a fifth frequency value, and sets a timer for the third submodule, wherein the fourth frequency value is an operating frequency set when the main system is in a dormant state, the fifth frequency value is a maximum operating frequency allowed by the main system, the third submodule of the main system is configured to control a temporary operating frequency of the main system, and the timer is configured to cause the main system to set the clock frequency of the third submodule to the fourth frequency value after a predetermined time has elapsed; The main system returns a response to the first message to the subsystem; In response to determining that the first wake-up event belongs to the foreground event of the main system, the main system sets the clock frequency of its fourth sub-module to a sixth frequency value, and sends a wake-up notification to a subsystem associated with the first wake-up event, so that the clock frequency of the second sub-module of the associated subsystem is set to a third frequency value, wherein the sixth frequency value is higher than the fourth frequency value and lower than or equal to the fifth frequency value, and the third frequency value is higher than the first frequency value and lower than or equal to the second frequency value, the fourth sub-module of the main system is configured to control the long-term operating frequency of the main system, and the second sub-module of the associated subsystem is configured to control the long-term operating frequency of the associated subsystem.
7. The method according to claim 5, further comprising: When the electronic device is in a dormant state, the main system receives a user-initiated wake-up event, enters a wake-up state, changes the clock frequency of its fourth sub-module from the fourth frequency value to the sixth frequency value, and sends a wake-up notification to a subsystem associated with the first wake-up event, so that the clock frequency of the second sub-module of the associated subsystem is set to the third frequency value, wherein the sixth frequency value is higher than the fourth frequency value and lower than or equal to the fifth frequency value, and the third frequency value is higher than the first frequency value and lower than or equal to the second frequency value, the fourth sub-module of the main system is configured to control the long-term operating frequency of the main system, and the second sub-module of the associated subsystem is configured to control the long-term operating frequency of the associated subsystem.
8. The method according to claim 5, wherein When the electronic device enters a dormant state, the main system and the one or more first subsystems all enter a dormant state, including: In response to determining that the electronic device meets the conditions for entering the sleep state, the main system sends a sleep notification to the one or more subsystems to cause the one or more subsystems to enter the sleep state. In response to the one or more subsystems returning a response to the sleep notification, the main system sets the clock frequency of its fourth submodule to a fourth frequency value, the fourth submodule of the main system being configured to control the long-term operating frequency of the main system; and In response to determining that all clock frequencies of the third and fourth submodules and other submodules of the main system are set to the fourth frequency value, the main system enters the sleep state.
9. A non-transitory machine-readable storage medium having executable code stored thereon, which, when executed by a processor of an electronic device, causes the processor to execute the method according to any one of claims 1 to 8.
10. A computer program product comprising executable codes, which, when executed by a processor of an electronic device, causes the processor to perform the method according to any one of claims 1 to 8.
Citation Information
Patent Citations
Multistage low power consumption management unit of heterogeneous multi-core chip, and method thereof
CN106774808A
System dormancy method and device and system awakening method and device
CN117008980A
Electronic device and method for interrupt processing with low power consumption
US20250044858A1
Cited By
Real-time system wake-up delay compensation method and system based on neural network model, electronic equipment and computer readable storage medium
CN121029258A
A neural network model-based real-time system wake-up latency compensation method, system, electronic device, and computer-readable storage medium
CN121029258B
