Method and system for waking up a host, electronic device and computer readable storage medium
Patent Information
- Application Number
- CN202611053912.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-15
- Publication Date
- 2026-10-27
AI Technical Summary
本发明通过引入独立于存储接口总线的带外唤醒信号,使原本不支持设备唤醒主机功能的存储接口总线具备唤醒主机的能力,从而使主机与基于存储接口总线通信连接的第一设备均可在业务空闲时能够进入低功耗状态,降低系统整体功耗。
Smart Images

Figure CN122985254A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of communication technology, and in particular to a method and system for waking up a host, an electronic device, and a computer-readable storage medium. Background Technology
[0002] The Embedded Multi Media Card (eMMC) bus is an interface standard specifically designed for storage applications and is widely used in various embedded systems. In recent years, as the application scope of embedded multimedia card interfaces has continued to expand, more and more non-storage devices have adopted the embedded multimedia card bus to communicate with the host.
[0003] However, because the embedded multimedia card bus protocol is designed specifically for storage scenarios, it has functional limitations when carrying non-storage-related services. Specifically, the embedded multimedia card bus lacks the ability to wake up the host from the device. To avoid losing data or events from the embedded multimedia card device, even in a data idle state, neither the host's Central Processing Unit (CPU) nor the embedded multimedia card device itself can enter a low-power state, resulting in high overall system power consumption and making it difficult to meet the requirements of low-power applications. Summary of the Invention
[0004] To address the above technical problems, the present invention provides a method for waking up a host; another aspect is a system for waking up a host; yet another aspect is an electronic device; and still another aspect is a computer-readable storage medium.
[0005] The technical problem solved by this invention can be achieved by the following technical solutions: A method for waking up a host, applied to a first device, comprising: A start signal is generated when a preset wake-up event is detected; In response to the start signal, an out-of-band wake-up signal independent of the storage interface bus is generated; The out-of-band wake-up signal is output to the host via a dedicated signal line independent of the storage interface bus to wake up the host.
[0006] The method for waking up a host according to the present invention, wherein generating an out-of-band wake-up signal independent of the storage interface bus includes: Read pre-configured waveform parameters; Based on the read waveform parameters, an out-of-band wake-up signal with a specified initial level, level transition period, and number of level transitions is generated.
[0007] The method for waking up a host according to the present invention further includes: When entering an idle state, the first device is controlled to enter a low-power mode.
[0008] The method for waking up a host according to the present invention is wherein the first device is a non-storage device that communicates with the host based on an embedded multimedia card bus, and the storage interface bus is an embedded multimedia card bus.
[0009] On the other hand, a system for waking up a host is provided, applied to a first device, including: The wake-up event detection module is used to generate a start signal when a preset wake-up event is detected; A wake-up signal generation module, connected to the wake-up event detection module, is used to generate an out-of-band wake-up signal independent of the storage interface bus in response to the start signal; A wake-up signal output module, connected to the wake-up signal generation module, is used to output the out-of-band wake-up signal to the host via a dedicated signal line independent of the storage interface bus, so as to wake up the host.
[0010] The wake-up signal generation module of the system for waking up the host according to the present invention includes: The parameter reading unit is used to read pre-configured waveform parameters; The signal generation unit, connected to the parameter reading unit, is used to generate an out-of-band wake-up signal with a specified initial level, level transition period, and number of level transitions based on the read waveform parameters.
[0011] The system for waking up the host according to the present invention further includes: A low-power control module is used to control the first device to enter a low-power mode when it enters an idle state.
[0012] The system for waking up the host according to the present invention, wherein the first device is a non-storage device that communicates with the host based on an embedded multimedia card bus, and the storage interface bus is an embedded multimedia card bus.
[0013] In another aspect, an electronic device is also provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of the above-described method for waking up a host.
[0014] In another aspect, a computer-readable storage medium is also provided, on which a computer program is stored, which, when executed by a processor, implements the steps of the above-described method for waking up a host.
[0015] The advantages or beneficial effects of the technical solution of this invention are as follows: This invention introduces an out-of-band wake-up signal independent of the storage interface bus, enabling the storage interface bus, which originally did not support the function of waking up the host, to have the ability to wake up the host. This allows both the host and the first device connected to the storage interface bus to enter a low-power state when the service is idle, thereby reducing the overall power consumption of the system. Attached Figure Description
[0016] Figure 1 This is a flowchart illustrating a method for waking up a host in a preferred embodiment of the present invention. Figure 2 In a preferred embodiment of the present invention, a pin diagram showing the communication connection between the host and the first device based on an embedded multimedia card bus is provided. Figure 3 This is a schematic diagram of the out-of-band wake-up signal generation process in a preferred embodiment of the present invention; Figure 4 In a preferred embodiment of the present invention, a waveform diagram of the wake-up event detection initiating the generation of a programmable out-of-band wake-up signal is shown. Figure 5 This is a schematic diagram of the eMMC interface device waking up the host in a preferred embodiment of the present invention. Figure 6 This is a structural block diagram of a system for waking up the host, as shown in a preferred embodiment of the present invention. Figure 7 This is a structural block diagram of the wake-up signal generation module in a preferred embodiment of the present invention; Figure 8 This is a schematic diagram of an eMMC Ethernet card waking up a host in a preferred embodiment of the present invention; Figure 9 This is a schematic diagram of an eMMC interface sensor waking up the host, as shown in a preferred embodiment of the present invention. Detailed Implementation
[0017] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0018] It should be noted that, unless otherwise specified, the embodiments and features described in the present invention can be combined with each other.
[0019] The present invention will be further described below with reference to the accompanying drawings and specific embodiments, but this is not intended to limit the scope of the invention.
[0020] In a preferred embodiment of the present invention, based on the aforementioned problems existing in the prior art, a method for waking up a host is provided, applied to a first device, the first device being communicatively connected to a host via a storage interface bus. For example... Figure 1 As shown, the method for waking up the host includes the following steps: S1, when a preset wake-up event is detected, a start signal is generated; S2, in response to the start signal, generates an out-of-band wake-up signal independent of the storage interface bus; S3 outputs an out-of-band wake-up signal to the host via a dedicated signal line independent of the storage interface bus to wake up the host.
[0021] Specifically, in this embodiment, by introducing an out-of-band wake-up signal independent of the storage interface bus, the storage interface bus, which originally did not support the function of device wake-up host, is equipped with the ability of peripheral device to wake up host. This enables both the host and the first device that is connected to the storage interface bus to enter a low-power state when the service is idle, thereby reducing the overall power consumption of the system.
[0022] In the method for waking up the host of the present invention, the first device 200 is a non-storage device that communicates with the host 100 based on an embedded multimedia card bus, and the storage interface bus is the embedded multimedia card bus. Figure 2 The diagram shows a pinout of the communication connection between the host 100 and the first device 200 based on an embedded multimedia card bus. The pins are grouped by signal function and include: control signals, data bus, power supply, and ground. The control signals include the clock signal CLK, the command signal CMD, and the hardware reset RST_n; the data bus includes 8 bits of bidirectional data, i.e., data bits D0 to D7; the power supply includes the core power supply VCC and the I / O power supply VCCQ; and the ground includes power ground GND and signal ground VSS.
[0023] Because the embedded multimedia card bus was originally designed as an interface standard specifically for storage applications, its protocol does not define a mechanism for devices to wake up the host 100. Therefore, when non-storage peripherals connect to the host 100 using the embedded multimedia card bus, they cannot wake up the host 100 using the bus itself. To address the issue that the embedded multimedia card bus itself lacks the function to wake up the host 100, this embodiment of the invention introduces a dedicated out-of-band wake-up signal. This out-of-band wake-up signal wakes up the host 100, enabling the first device 200 of the embedded multimedia card interface to have the ability to wake up the host 100.
[0024] It should be noted that no additional hardware modifications are required for the central processing unit (CPU) of the host 100. Existing CPUs generally have dedicated wake-up pins that can be directly connected to dedicated signal lines for out-of-band wake-up signals.
[0025] Furthermore, in step S1 above, the wake-up event is detected according to application requirements and is related to the specific type of the first device. Different types of eMMC interface devices have different definitions and detection methods for wake-up events.
[0026] For the specific services carried by the first device, corresponding wake-up event detection logic is implemented. When a wake-up event that meets preset conditions is detected, a start signal is generated and output. For example, when the first device is an Ethernet card device with an eMMC interface, the wake-up event detection module can be designed to detect MagicFrame events, Pattern matching events, and Linkchange events. Specifically, a MagicFrame event refers to receiving a magic packet data frame that conforms to a specific format; a Pattern matching event refers to the content of a received data frame matching a preset characteristic pattern; and a Linkchange event refers to a change in the connection status of the network link. When any of the above events occurs, the wake-up event detection module determines that a wake-up event has been detected and outputs a start signal.
[0027] For example, when the first device is a mouse with an eMMC interface, the wake-up event detection module can be designed to detect mouse movement events and key click events. When mouse movement or key press is detected, a wake-up event is determined to have been detected, and a start signal is output.
[0028] For example, when the first device is a sensor device with an eMMC interface, the wake-up event detection module can be designed to perform threshold detection on the sensor data. When the data collected by the sensor exceeds the preset alarm threshold, it is determined that a wake-up event has been detected and a start signal is output.
[0029] It should be noted that the core of this invention lies in: upon detecting a wake-up event, waking up the host is achieved through an out-of-band wake-up signal independent of the storage interface bus, and a programmable waveform generation mechanism is used to adapt to the needs of different host platforms. The wake-up event detection module only needs to output a start signal to the programmable wake-up signal generator when a wake-up event is detected; the specific event detection method does not affect the implementation of the technical solution of this invention.
[0030] The method for waking up the host according to the present invention, such as Figure 3 As shown, the generation of an out-of-band wake-up signal independent of the storage interface bus in step S2 above includes: S21, Read the pre-configured waveform parameters; S22, based on the read waveform parameters, generates an out-of-band wake-up signal with a specified initial level, level transition period, and number of level transitions.
[0031] Specifically, considering the differences in waveform requirements for wake-up signals across different host 100 platforms—for example, Peripheral Component Interconnect Express (PCIe) devices wake up host 100 using a falling edge trigger, while Universal Serial Bus (USB) devices, such as USB 3.x devices, use a dozen or so low-frequency pulses—the existing technologies supporting device wake-up of host 100 typically have fixed wake-up waveforms, which cannot flexibly adapt to the needs of different platforms. In this embodiment, the out-of-band wake-up signal waveform is programmable, allowing for the generation of various specified signal modes based on configuration, thereby meeting the compatibility requirements of different host 100 platforms.
[0032] like Figure 4 As shown, the programmable out-of-band wake-up signal includes three operating modes: Mode 1, Mode 2, and Mode 3. In Mode 1, the out-of-band wake-up signal is a low-level wake-up signal, whose waveform is characterized by remaining low after being triggered by a falling edge. In Mode 2, the out-of-band wake-up signal is a high-level wake-up signal, whose waveform is characterized by remaining high after being triggered by a rising edge. In Mode 3, the out-of-band wake-up signal is a square wave wake-up signal, whose waveform is characterized by continuous square wave pulses with a specified frequency and a specified number. Through the above programmable wake-up signal waveforms, the differentiated timing requirements of different host 100 platforms for wake-up signals can be flexibly adapted to meet the compatibility needs of different host 100 platforms.
[0033] Furthermore, the first device 200 also includes a programmable wake-up signal generator 20. In response to the start signal, the programmable wake-up signal generator outputs a single edge-triggered signal or a continuous pulse sequence signal according to the waveform parameters predefined in the control register, so as to adapt to the wake-up pin timing requirements of different host 100 platforms.
[0034] Waveform parameters include, but are not limited to, initial level state, level transition period, and number of level transitions; wherein, the initial level state is used to define the starting level of the out-of-band wake-up signal when it is not triggered, the level transition period is used to define the duration of the high and low levels of the out-of-band wake-up signal, and the number of level transitions is used to define the total number of level flips of the out-of-band wake-up signal during the entire wake-up process.
[0035] Furthermore, the programmable wake-up signal generator 20 includes three control registers: a first control register 201, a second control register 202, and a third control register 203. The waveform parameter configuration method includes: configuring the first control register 201 to set the initial level of the out-of-band wake-up signal; configuring the second control register 202 to set the level transition period of the out-of-band wake-up signal, in milliseconds (ms); and configuring the third control register 203 to set the number of level transitions for the out-of-band wake-up signal. The register configuration values for each mode and the corresponding actual output signals are shown in Table 1 below.
[0036] Table 1. Register configuration values and corresponding actual output signals for each mode.
[0037] Specifically, in the first mode, the first control register is configured as 1, indicating an initial high level; the third control register is configured as 1, indicating one level transition, meaning it toggles from high to low and remains low, forming a falling-edge low-level wake-up signal. In the second mode, the first control register is configured as 0, indicating an initial low level; the third control register is configured as 1, indicating one level transition, meaning it toggles from low to high and remains high, forming a rising-edge high-level wake-up signal. In the third mode, the first control register is configured as 0, indicating an initial low level; the second control register is configured as 5, indicating a level transition period of 5 milliseconds, meaning the level toggles once every 5 milliseconds; the third control register is configured as 32, indicating a total of 32 toggles, generating 16 complete square wave cycles with a frequency of 100Hz.
[0038] Furthermore, the out-of-band wake-up signal output by the programmable wake-up signal generator 20 can be any one of a low-level wake-up signal, a high-level wake-up signal, and a square wave wake-up signal, which is specifically configured by the software according to the requirements of the host 100 platform.
[0039] The programmable wake-up signal generator 20 transmits the out-of-band wake-up signal to the host 100 through the general purpose input / output interface (GPIO). The original wake-up module in the host 100 responds to the out-of-band wake-up signal and triggers the host 100 to wake up from the low power state.
[0040] The method for waking up the host according to the present invention further includes: controlling the first device 200 to enter a low-power mode when entering an idle state.
[0041] Specifically, in the low-power control steps, since the storage interface bus devices have a wake-up function, both the host 100 and the first device 200 can enter a low-power mode when the system enters a data idle state. Even the operating system (OS) of the host 100 can enter sleep mode to minimize overall system power consumption. Simultaneously, once an important event or data preset by the host 100 is received, the host 100 can be woken up for processing, avoiding missing important events and achieving both data processing and low system power consumption.
[0042] In a preferred embodiment of the present invention, the first device 200 is an eMMC interface device. For example... Figure 5 The diagram shows the overall layout of the eMMC interface device waking up the host 100. The eMMC interface device communicates with the host 100 via the eMMC bus 41. The eMMC interface device internally includes: an eMMC input / output interface module 42, an eMMC controller 43, a service data transceiver module 44, a wake-up event detection module 1, an AHB bus 45, an AHB to APB conversion module 46, an APB synchronization module 47, an APB decoding module 48, a programmable wake-up signal generator 20, and a GPIO controller 31. Among them, the eMMC input / output interface module 42 is an analog IO interface used to realize physical layer signal interaction of the eMMC bus 41; the eMMC controller 43 is used to process the eMMC standard protocol; the service data transceiver module 44 is used to carry the device's own service data transceiver function; the AHB bus 45 is a 32-bit Advanced High-performance Bus (AHB) used to connect high-speed peripherals; the AHB to APB conversion module 46, the APB synchronization module 47, and the APB decoding module 48 together constitute the Advanced Peripheral Bus (APB) path, used to connect low-speed peripheral registers; the programmable wake-up signal generator 20 receives configuration parameters through the APB bus and outputs an out-of-band wake-up signal to the host 100 through the GPIO controller 31.
[0043] In low-power mode, the first device 200 retains power only for the wake-up event detection function and the programmable wake-up signal generation function; all other functional modules are either powered off or clock-off. Specifically, for example... Figure 5As shown, in low-power mode, the eMMC input / output interface module 42, eMMC controller 43, service data transceiver module 44, AHB to APB conversion module 46, APB synchronization module 47, and APB decoding module 48 are all in a power-off state or clock-off state. Only the wake-up event detection module 1 and programmable wake-up signal generator 20 are kept under minimum power supply, thereby ensuring timely detection of wake-up events while minimizing the static power consumption of the device itself.
[0044] In low-power mode, the eMMC bus 41 interface on the host side also enters a low-power state. The clock signal on the eMMC bus 41 stops, and the data bus is in a high-impedance state, thereby further reducing power consumption at the bus level. The central processing unit (CPU) of the host 100 can enter a deep sleep state, retaining only the detection function of the wake-up pin. When an out-of-band wake-up signal is received from the first device 200, an interrupt is immediately triggered to wake up the CPU and resume system operation.
[0045] Taking the x86 CPU platform as an example, if the device wake-up function is not supported, the operating system and the central processing unit need to be constantly working to poll the device status, and the total power consumption will exceed 15 watts. With the technical solution of this invention, once the device is idle, both the central processing unit and the device can enter a low-power state, and the system power consumption can be as low as about 1 watt. The power consumption reduction effect is significant, achieving both data processing and low system power consumption.
[0046] The wake-up event detection module 1 continuously monitors the device's service data or status changes in low-power mode. When a preset wake-up event is detected, it immediately outputs a start signal to the programmable wake-up signal generator 20. In response to the start signal, the programmable wake-up signal generator 20 generates an out-of-band wake-up signal based on pre-configured waveform parameters and outputs it to the wake-up pin of the host 100 via the GPIO controller 31, triggering the host 100 to wake up from its low-power state. After waking up the host 100, communication with the first device 200 is restored via the eMMC bus 41 to process the corresponding wake-up event.
[0047] This invention provides a system for waking up a host, applied to a first device 200, such as... Figure 6 As shown, it includes: The wake-up event detection module 1 is used to generate a start signal when a preset wake-up event is detected; The wake-up signal generation module 2 is connected to the wake-up event detection module 1 and is used to generate an out-of-band wake-up signal independent of the storage interface bus in response to the start signal. The wake-up signal output module 3 is connected to the wake-up signal generation module 2 and is used to output an out-of-band wake-up signal to the host 100 through a dedicated signal line independent of the storage interface bus to wake up the host 100.
[0048] Specifically, in response to the problem that the storage interface bus itself does not have the function of waking up the host 100, this embodiment of the invention introduces a dedicated out-of-band wake-up signal to wake up the host 100, thereby enabling the first device 200 of the storage interface bus interface to have the ability to wake up the host 100.
[0049] The system for waking up the host according to the present invention, such as Figure 7 As shown, the wake-up signal generation module 2 includes: The parameter reading unit 21 is used to read pre-configured waveform parameters; The signal generation unit 22 is connected to the parameter reading unit 21 and is used to generate an out-of-band wake-up signal with a specified initial level, level transition period and level transition number based on the read waveform parameters.
[0050] Specifically, considering the differences in waveform requirements for wake-up signals across different host 100 platforms—for example, PCIe devices wake up host 100 using a falling edge trigger, while USB 3.x devices wake up host 100 using a dozen or so low-frequency pulses—and the existing bus technology supporting device wake-up of host 100 typically uses a fixed wake-up waveform, which cannot flexibly adapt to the needs of different platforms, the out-of-band wake-up signal waveform in this embodiment is programmable. It can generate multiple specified signal modes according to configuration, thereby meeting the compatibility requirements of different host 100 platforms.
[0051] The programmable out-of-band wake-up signal includes three operating modes: Mode 1, Mode 2, and Mode 3. In Mode 1, the out-of-band wake-up signal is a low-level wake-up signal, characterized by a low level after being triggered by a falling edge. In Mode 2, the out-of-band wake-up signal is a high-level wake-up signal, characterized by a high level after being triggered by a rising edge. In Mode 3, the out-of-band wake-up signal is a square wave wake-up signal, characterized by a continuous square wave pulse with a specified frequency and number. Through these programmable wake-up signal waveforms, the differentiated timing requirements of different host 100 platforms for wake-up signals can be flexibly adapted to meet the compatibility needs of various host 100 platforms.
[0052] Furthermore, the wake-up signal generation module 2 is a programmable wake-up signal generator 20. In response to the start signal, the programmable wake-up signal generator 20 outputs a single edge trigger signal or a continuous pulse sequence signal according to the predefined waveform parameters in the control register, so as to adapt to the wake-up pin timing requirements of different host 100 platforms.
[0053] The programmable wake-up signal generator 20 consists of several control registers, each corresponding to configuration signal waveform parameters. The wake-up signal mode can be determined based on the host 100 model. During the initialization phase, the control registers are configured through the device driver software to select the waveform of the out-of-band wake-up signal.
[0054] Furthermore, the waveform parameters include, but are not limited to, the initial level state, the level transition period, and the number of level transitions. Taking the programmable wake-up signal generator 20 in this embodiment as an example with three control registers, the programmable wake-up signal generator 20 includes: The first control register 201 is used to configure the initial level of the out-of-band wake-up signal; The second control register 202 is used to configure the level transition period of the out-of-band wake-up signal; The third control register 203 is used to configure the number of level transitions for the out-of-band wake-up signal.
[0055] In the first mode, the first control register is configured as 1, indicating an initial high level; the third control register is configured as 1, indicating one level transition, meaning the level changes from high to low and remains low, forming a falling-edge low-level wake-up signal. In the second mode, the first control register is configured as 0, indicating an initial low level; the third control register is configured as 1, indicating one level transition, meaning the level changes from low to high and remains high, forming a rising-edge high-level wake-up signal. In the third mode, the first control register is configured as 0, indicating an initial low level; the second control register is configured as 5, indicating a level transition period of 5 milliseconds, meaning the level changes every 5 milliseconds; the third control register is configured as 32, indicating a total of 32 transitions, generating 16 complete square wave cycles at a frequency of 100Hz.
[0056] The system for waking up the host according to the present invention further includes: The low-power control module is used to control the host 100 and the first device 200 to enter a low-power mode when the system enters an idle state.
[0057] Specifically, in the low-power control steps, when the system enters an idle state, both the control host 100 and the first device 200 can enter a low-power mode, and even the operating system (OS) of the host 100 can enter a sleep mode to minimize the overall power consumption of the system.
[0058] In low-power mode, the first device 200 retains power supply only for the wake-up event detection function and the programmable wake-up signal generation function, while the other functional modules are either powered off or clock off.
[0059] In the system for waking up the host of the present invention, the first device 200 is a non-storage device that communicates with the host 100 based on an embedded multimedia card bus, and the storage interface bus is an embedded multimedia card bus.
[0060] The technical solution of the present invention will be further illustrated below through two specific application examples.
[0061] Example 1: Wake up host 100 using eMMC interface Ethernet card.
[0062] like Figure 8 The diagram shows an eMMC Ethernet card waking up the host. In this embodiment, the first device 200 is an Ethernet card device with an eMMC interface, and the Ethernet card device is connected to the host 100 via the eMMC bus 41.
[0063] The Ethernet card device with eMMC interface includes: eMMC input / output interface module 42, eMMC controller 43, Ethernet data transceiver module 441, Ethernet media control layer 49, Ethernet physical layer 410, wake-up event detection module 1, AHB bus 45, AHB to APB conversion module 46, APB synchronization module 47, APB decoding module 48, programmable wake-up signal generator 20, and GPIO controller 31. The eMMC input / output interface module 42 and the eMMC controller 43 constitute a standard eMMC interface path for eMMC protocol communication with the host 100. The Ethernet physical layer 410, the Ethernet media control layer 49, and the Ethernet network data transceiver module 441 together constitute an Ethernet data path for Ethernet data transmission and reception. The wake-up event detection module 1 specifically includes a Linkchange wake-up event detection unit 11, a Pattern wake-up event detection unit 12, and a Magic wake-up event detection unit 13, which are used to detect different types of network wake-up events. The AHB bus 45 is a 32-bit system bus used to connect high-speed function modules. The AHB to APB conversion module 46, the APB synchronization module 47, and the APB decoding module 48 constitute an APB peripheral bus path for accessing low-speed control registers. The programmable wake-up signal generator 20 receives configuration parameters through the APB bus 45 and outputs out-of-band wake-up signals through the GPIO controller 31.
[0064] Specifically, the Ethernet card detects various wake-up events according to its own service needs, including but not limited to MagicFrame, Pattern matching, and Linkchange wake-up event detection. The Linkchange wake-up event detection unit 11 detects changes in the Ethernet link status, triggering a wake-up event when a network cable is plugged in / out or the link status changes. The Pattern wake-up event detection unit 12 detects network packets conforming to a specific pattern, triggering a wake-up event when a packet matching a preset pattern is received. The Magic wake-up event detection unit 13 detects MagicFrames, triggering a wake-up event when a network packet conforming to the MagicFrame format is received. These three wake-up events can be independently enabled or disabled by the host 100 software to adapt to different application scenarios.
[0065] During system initialization, the host-side device driver software configures the programmable wake-up signal generator 20 via the eMMC bus 41 according to the wake-up signal requirements of the host 100 platform. Specifically, the first control register 201 is configured to specify the initial level of the out-of-band wake-up signal as high or low; the second control register 202 is configured to specify the level transition time interval of the square wave signal; and the third control register 203 is configured to specify the number of level transitions of the square wave signal, which is twice the number of square waves. The configuration parameters are passed step by step through the eMMC controller 43, AHB bus 45, AHB to APB conversion module 46, APB synchronization module 47, and APB decoding module 48, and are finally written into the corresponding control register of the programmable wake-up signal generator 20.
[0066] When the system enters an idle state, both the host 100 and the eMMC interface Ethernet card device can enter a low-power mode. In low-power mode, the eMMC input / output interface module 42, eMMC controller 43, Ethernet data transceiver module 441, Ethernet media control layer 49, Ethernet physical layer 410, AHB to APB conversion module 46, APB synchronization module 47, and APB decoding module 48 are all in a power-off or clock-off state. Only the wake-up event detection module 1 and the programmable wake-up signal generator 20 are kept under minimal power supply to continuously monitor network wake-up events.
[0067] When the network card's wake-up event detection module 1 detects a preset wake-up event, it immediately outputs a start signal to the programmable wake-up signal generator 20. In response to the start signal, the programmable wake-up signal generator 20 outputs the expected wake-up waveform according to the pre-configured control register parameters and transmits the out-of-band wake-up signal to the wake-up pin of the host 100 via the GPIO controller 31, thereby enabling the eMMC interface Ethernet card to wake up the host 100. After waking up the host 100, communication on the eMMC bus 41 is restored, the event information in the network card is read, and corresponding processing is performed.
[0068] Example 2: eMMC interface sensor wakes up host 100 like Figure 9 The diagram shows a sensor waking up the host 100 via an eMMC interface. In this embodiment, the first device 200 is a sensor device with an eMMC interface, and the sensor device is connected to the host 100 via the eMMC bus 41.
[0069] The eMMC interface sensor device internally includes: an eMMC input / output interface module 42, an eMMC controller 43, a sensor data receiving module 442, a sensor configuration module 443, a wake-up data matching and detection module 14, an AHB bus 45, an AHB to APB conversion module 46, an APB synchronization module 47, an APB decoding module 48, a programmable wake-up signal generator 20, and a GPIO controller 31. The eMMC input / output interface module 42 and the eMMC controller 43 constitute a standard eMMC interface path; the sensor data receiving module 442 receives raw data acquired by external sensors; the sensor configuration module 443 configures the sensor's operating parameters; and the wake-up data matching and detection module 14 performs real-time analysis of the sensor data to determine whether preset wake-up conditions are met.
[0070] Specifically, the sensor device is equipped with a wake-up data matching and detection module. After being enabled by the host 100 software, this module detects and analyzes the real-time acquired sensor data. The host 100 software writes wake-up condition configuration parameters into the sensor device via the eMMC bus 41. These wake-up conditions include, but are not limited to, data thresholds, data change rates, and specific data patterns. When the acquired sensor data matches the wake-up conditions configured by the host 100 software, the wake-up data matching and detection module immediately sends a start signal, triggering the programmable wake-up signal generator 20 module to generate a wake-up waveform, which wakes up the host 100 via an out-of-band signal line.
[0071] For example, when the data collected by the sensor exceeds a preset alarm threshold, a wake-up event is triggered, waking the host 100 from a low-power state to process the abnormal data. Similarly, when the rate of change of the sensor data exceeds a preset threshold, a wake-up event can also be triggered, enabling the host 100 to respond promptly to rapidly changing physical quantities. The wake-up conditions can be flexibly configured by the host 100 software according to specific application scenarios, thus adapting to the needs of different types of sensor applications.
[0072] During system initialization, the host-side device driver software configures the waveform of the programmable wake-up signal generator 20 via the eMMC bus 41, and simultaneously configures the wake-up conditions for the wake-up data matching and detection module. When the system enters an idle state, both the host 100 and the sensor devices enter a low-power mode, retaining power only for the wake-up data matching and detection and programmable wake-up signal generation functions. When the sensor data meets the wake-up conditions, the host 100 is immediately woken up via an out-of-band wake-up signal, achieving a balance between timely response to abnormal events and low system power consumption.
[0073] To achieve the above objectives, the present invention also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of the above-described method for waking up a host.
[0074] In this embodiment, the electronic device may be a smartphone, tablet computer, laptop computer, desktop computer, rack server, blade server, tower server, or cabinet server (including independent servers or server clusters composed of multiple servers) that executes a program.
[0075] A memory includes at least one type of computer-readable signal medium or computer-readable storage medium. Computer-readable storage media include, but are not limited to, hard disks, multimedia cards, card-type memories (e.g., SD or DX memories), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), magnetic memory, magnetic disks, optical disks, etc.
[0076] A processor in a computer reads a computer program stored in memory and capable of running on the processor, enabling the processor to perform the functional actions specified in each step or combination of steps in a flowchart; and to generate means for implementing the functional actions specified in each block or combination of blocks in a flowchart.
[0077] It should be understood that a processor in a computer can be understood as one or more application-specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), complex programmable logic devices (CPLDs), field-programmable gate arrays (FPGAs), general-purpose processors, central processing units (CPUs), controllers, microcontrollers (MCUs), microprocessors, or other electronic components implemented to execute the aforementioned computer programs.
[0078] Computer programs can execute entirely on the user's local computer, partially on the user's local computer, as a separate software package, partially on the user's local computer and partially on a remote computer, or entirely on a remote computer or server. It should also be noted that in some alternative implementations, the functions indicated by the steps in the flowchart or the blocks in the block diagram may not occur in the order shown in the diagram. For example, depending on the functions involved, two consecutive steps or blocks may actually be executed approximately simultaneously, or these blocks may sometimes be executed in reverse order.
[0079] To achieve the above objectives, the present invention also provides a computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the steps of the above-described method for waking up a host.
[0080] Computer-readable storage media include various storage media such as flash memory, hard disks, multimedia cards, card-type memories (e.g., SD or DX memory), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), magnetic storage, disks, optical discs, servers, app stores, etc., which store computer programs. When the program is executed by a processor, it performs corresponding functions. In this embodiment, the computer-readable storage medium is used to store a server, and when executed by a processor, it implements the aforementioned method for waking up the host.
[0081] The above are merely preferred embodiments of the present invention and are not intended to limit the implementation methods and protection scope of the present invention. Those skilled in the art should recognize that any equivalent substitutions and obvious changes made using the content of this specification and illustrations should be included within the protection scope of the present invention.
Claims
1. A method for waking up a host, applied to a first device, characterized in that, include: A start signal is generated when a preset wake-up event is detected; In response to the start signal, an out-of-band wake-up signal independent of the storage interface bus is generated; The out-of-band wake-up signal is output to the host via a dedicated signal line independent of the storage interface bus to wake up the host; The first device is a non-storage device that communicates with the host based on an embedded multimedia card bus, and the storage interface bus is an embedded multimedia card bus.
2. The method for waking up a host according to claim 1, characterized in that, The generation of an out-of-band wake-up signal independent of the storage interface bus includes: Read pre-configured waveform parameters; Based on the read waveform parameters, an out-of-band wake-up signal with a specified initial level, level transition period, and number of level transitions is generated.
3. The method for waking up a host according to claim 1, characterized in that, Also includes: When entering an idle state, the first device is controlled to enter a low-power mode.
4. A system for waking up a host, applied to a first device, characterized in that, include: The wake-up event detection module is used to generate a start signal when a preset wake-up event is detected; A wake-up signal generation module, connected to the wake-up event detection module, is used to generate an out-of-band wake-up signal independent of the storage interface bus in response to the start signal; A wake-up signal output module, connected to the wake-up signal generation module, is used to output the out-of-band wake-up signal to the host via a dedicated signal line independent of the storage interface bus, so as to wake up the host; The first device is a non-storage device that communicates with the host based on an embedded multimedia card bus, and the storage interface bus is an embedded multimedia card bus.
5. The system for waking up the host according to claim 4, characterized in that, The wake-up signal generation module includes: The parameter reading unit is used to read pre-configured waveform parameters; The signal generation unit, connected to the parameter reading unit, is used to generate an out-of-band wake-up signal with a specified initial level, level transition period, and number of level transitions based on the read waveform parameters.
6. The system for waking up the host according to claim 4, characterized in that, Also includes: A low-power control module is used to control the first device to enter a low-power mode when it enters an idle state.
7. An electronic device, characterized in that, It includes a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of the method for waking up a host as described in any one of claims 1 to 3.
8. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the steps of the method for waking up the host as described in any one of claims 1 to 3.