WO2017199257A1 - Activating a processor based on sensor monitoring - Google Patents
Activating a processor based on sensor monitoring Download PDFInfo
- Publication number
- WO2017199257A1 WO2017199257A1 PCT/IL2017/050557 IL2017050557W WO2017199257A1 WO 2017199257 A1 WO2017199257 A1 WO 2017199257A1 IL 2017050557 W IL2017050557 W IL 2017050557W WO 2017199257 A1 WO2017199257 A1 WO 2017199257A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- sensor
- main processor
- mcu
- signals
- pattern
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/02—Power saving arrangements
- H04W52/0209—Power saving arrangements in terminal devices
- H04W52/0261—Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level
- H04W52/0274—Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level by switching on or off the equipment or parts thereof
- H04W52/028—Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level by switching on or off the equipment or parts thereof switching on or off only a part of the equipment circuit blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3243—Power saving in microcontroller unit
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/02—Power saving arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/02—Power saving arrangements
- H04W52/0209—Power saving arrangements in terminal devices
- H04W52/0225—Power saving arrangements in terminal devices using monitoring of external events, e.g. the presence of a signal
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Definitions
- the present invention in some embodiments thereof, relates to sensor monitoring in an electronic device and, more particularly, but not exclusively, to monitoring a sensor and activating a main processor by a micro controller unit (MCU).
- MCU micro controller unit
- sensors e.g. gyroscope, accelerometer, magnetometer, audio sensor, imaging sensor, etc.
- receivers of outside signals e.g. Bluetooth, Wireless LAN (WLAN), cellular, Radio frequency (RF), Near Field Communication (NFC), etc.
- These sensors and receivers are typically controlled by a main processor, for example, a Central Processing Unit (CPU) of the electronic device which performs most or all of the calculations needed for the operation of the device, including executing specific software applications.
- CPU Central Processing Unit
- the processor further activates or stops the sensors and/or receivers and reads signals from them.
- the CPU is switched to a power down mode when unused by any application.
- the CPU may be switched to an operational mode based on one or more trigger.
- the triggers may include, for instance, time based triggers (predefined time), hardware events (such as ON button or charger connection) and/or based on reception of an outside signal by one or more of the sensors and/or receivers (for example, receiving a Bluetooth connection request, detecting an incoming phone call, receiving a push notification from a remote server and/or the like).
- a system of monitoring at least one sensor and activating a main processor in an electronic device comprising one or more sensors and one or more Micro Controller Units (MCU) electronically connected to the one or more sensors, the one or more MCUs are adapted to:
- the at least one sensor generates the signals in response to an external stimulus.
- the main processor may typically be maintained in a power saving mode.
- the MCU(s) are typically very low power devices and may therefore consume very little power even when fully operational. Only when the predefine outputs and/or patterns are identified, the main processor may be triggered to switch from the power saving mode to operational mode. This may significantly reduce power consumption of the system while maintaining low latency and fast response for processing the sensor(s)' signals.
- a method of monitoring at least one sensor and activating a main processor in an electronic device comprising:
- the at least one sensor Processing signals received from at least one sensor, the at least one sensor generates the signals in response to an external stimulus.
- the one or more outputs or patterns are predefined by the main processor. This may allow the main processor to select the desired output(s) and/or pattern(s) as required by the application(s) executed by the main processor.
- the one or more MCUs are configured to identify the one or more outputs and/or patterns by the main processor. This may allow the main processor to configure the MCU in the field with no special tools.
- the main processor dynamically configures the at least one MCU to identify one or more updated outputs and/or patterns. This may allow the main processor to adjust the predefined output(s) and/or pattern(s) on the fly according to changing requirements of the applications executed by the main processor.
- the one or more MCUs are low power devices. Selecting low power MCU(s) may significantly reduce the power consumption of the system.
- the one or more MCUs pre-process at least some of the received signals. This may relieve the main processor from at least some processing tasks and may therefore reduce required processing resources from the main processor which may further reduce, power consumption, execution time and/or cost of the main processor.
- the one or more sensors are members of a group consisting of: a motion sensor, a sound sensor, an imaging sensor, a tactile sensor and/or an environmental condition sensor. This allows a wide variety of sensor types to be connected in the system where each of the sensor types may be adapted according to the need of one or more applications executed by the main processor.
- FIG. 1A and FIG. IB are schematic illustrations of exemplary embodiments of an electronic device main processor peripherals connectivity as known in the art
- FIG. 2 is a flowchart of an exemplary process of monitoring one or more sensors and activating a main processor in an electronic device, according to some embodiments of the present invention.
- FIG. 3 is a schematic illustration of an exemplary system for monitoring one or more sensors and activating a main processor in an electronic device, according to some embodiments of the present invention
- FIG. 4 is a schematic illustration of an exemplary embodiment of a system for monitoring one or more sensors and activating a main processor in an electronic device, according to some embodiments of the present invention
- FIG. 5 is a schematic illustration of an exemplary sequence for monitoring one or more sensors and activating a main processor in an electronic device, according to some embodiments of the present invention.
- the present invention in some embodiments thereof, relates to sensor monitoring in an electronic device and, more particularly, but not exclusively, to monitoring a sensor and activating a main processor by an MCU.
- a system for monitoring one or more sensors by one or more peripheral processors for example, an MCU electronically connected to the sensor and activating a main processor, for example, a CPU of an electronic device.
- the sensor(s) may include, for example, motion sensor(s) (e.g. a gyroscope, an accelerometer, a magnetometer, etc.), sound sensor(s) (e.g. microphone, etc.), imaging sensor(s) (e.g. camera, infrared sensor, etc.), tactile sensor(s) (e.g. switch, button, touchpad, etc.), environmental condition sensor(s) (e.g. light sensor, humidity sensor, temperature sensor, etc.) and/or the like.
- the sensors may generate signals depicting the received stimulus.
- the MCU(s), typically a low power device(s) may be continuously and/or periodically operational.
- the MCU(s) may receive signals from the sensor(s) and analyze the received signals to identify one or more predefined outputs or patterns.
- the MCU may forward a wakeup trigger message to the main processor to invoke the main processor to switch from a power saving mode, for example, power down, sleep, hibernate, nap, doze and/or the like to an operational mode.
- the main processor may then perform one or more tasks related to the identified output(s) or pattern(s).
- main processor configures and/or sets up the MCU to predefine the signal output(s) or pattern(s), for example, using an application and/or an operating system (OS) executed by the main processor.
- OS operating system
- the existing methods may typically use the main processor to monitor periodically and/or continuously the sensors.
- the main processor may therefore be configured to constantly operate in an operational mode in which the main processor may consume considerable power.
- Such implementations may present a major drawback especially for mobile device having limited power resources, i.e. battery(s).
- Some of the existing methods may configure the main processor to operate in the power saving mode and periodically invoke the main processor to switch to the operational mode in order to monitor the sensors. This may present a latency problem as some signals received from the sensors may require a fast and/or deterministic response of the main processor.
- Some of the existing methods may apply sensor(s) capable of interrupting the main processor to switch to from the power saving mode to the operational mode. However, the main processor may be interrupt for any signal received from the sensors in response to the outside stimulus.
- the main processor may typically be configured to remain in the power saving mode while not used by any application thus significantly reducing power consumption.
- the MCU which is a low power device may remain constantly operational (set to operational mode) allowing fast response to the signals received from the sensor(s).
- the MCU may then invoke the main processor only when the predefined signal output(s) and/or pattern(s) are detected. While significantly reducing the power consumption by maintaining the main processor in the power saving mode, the latency of the response of the main processor to the outside stimulus may be significantly reduced.
- the MCU invokes the main processor only at detection of the predefined signal output(s) and/or pattern(s)
- redundant invocation in which the outside stimulus does not comply with the predefined signal output(s) and/or pattern(s) may be avoided.
- the present invention may be a system, a method, and/or a computer program product.
- the computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.
- the computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device.
- the computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing.
- a non- exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing.
- RAM random access memory
- ROM read-only memory
- EPROM or Flash memory erasable programmable read-only memory
- SRAM static random access memory
- CD-ROM compact disc read-only memory
- DVD digital versatile disk
- memory stick a floppy disk
- mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon
- a computer readable storage medium is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
- Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network.
- the network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers.
- a network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
- Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and conventional procedural programming languages, such as the "C" programming language or similar programming languages.
- the computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server.
- the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
- electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.
- These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
- These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
- the computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
- each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s).
- the functions noted in the block may occur out of the order noted in the figures.
- two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.
- an exemplary electronic device 100 may include a main processor 102, for example, a CPU connected to a plurality of peripheral devices, components and interfaces including sensors monitoring outside stimulus and receivers receiving outside signals.
- the electronic device 100 is a mobile device, for example, a smartphone, a tablet, a smartwatch, a wearable device, an Internet of Things (IoT) device, an electronic appliances and/or any device having a processor and one or more sensors.
- Modern mobile devices such as the electronic device 100 may typically be highly integrated comprising a plurality of sensors and other units electronically connected to a main processor 102.
- an exemplary electronic device 100A such as the electronic device 100 may include the main processor 102 and one or more motion sensors, for example, a gyroscope 106A, a magnetometer 106B and/or an accelerometer 106C.
- the gyroscope 106A, the magnetometer 106B and/or the accelerometer 106C may be directly connected to the main processor 102 such that the main processor 102 may need to be constantly maintained in an operational mode in order to monitor the signals received from the gyroscope 106A, the magnetometer 106B and/or the accelerometer 106C.
- the main processor may be configured to be in a power saving mode, for example, power down, sleep, hibernate, nap, doze and/or the like and be periodically invoked to switch to an operational mode to collect the output signals of the sensors and process them.
- a power saving mode for example, power down, sleep, hibernate, nap, doze and/or the like
- the main processor 102 may resume the power saving mode.
- Periodically switching the main processor 102 to the operational mode may be done using one or more timing mechanisms typically available by an OS and/or an application(s) executed by the main processor 102.
- FIG 2 is flowchart of an exemplary process of monitoring one or more sensors and activating a main processor in an electronic device, according to some embodiments of the present invention.
- An exemplary process 200 may be executed by one or more MCUs of an electronic device such as the electronic device 100 to activate a main processor based on output signals received from one or more sensors.
- FIG 3 is a schematic illustration of an exemplary system for monitoring one or more sensors and activating a main processor in an electronic device, according to some embodiments of the present invention.
- An exemplary electronic device 300 such as the electronic device 100 includes a main processor such as the main processor 102, one or more MCUs 302, for example, an MCU 302_1, an MCU 302_2 through an MCU 302_N and one or more sensor 106, for example, a sensor 106_1, a sensor 106_2, a sensor 106_3 through a sensor 106_M.
- the MCU(s) 302 may be connected to the main processor 102 through one or more interconnections, for example, a bus, a link, a wire and/or the like through which the MCU(s) 302 and the main processor 102 may exchange control data, data and/or interrupt events.
- the interconnection(s) may be shared by one or more of the MCU(s) 302 as shown for the MCU 302_2 and the MCU 302_N or the interconnection(s) may be dedicated for a single MCU 302 as shown for the MCU 302_1.
- each of the MCUs 302 has a dedicated interrupt line as shown for the MCU 302_2 and the MCU 302_N.
- the sensor(s) 106 may include, for example, for example, motion sensor(s) (e.g. a gyroscope, an accelerometer, a magnetometer, etc.), sound sensor(s) (e.g. microphone, etc.), imaging sensor(s) (e.g. camera, infrared sensor, etc.), tactile sensor(s) (e.g. switch, button, touchpad, etc.), environmental condition sensor(s) (e.g. light sensor, humidity sensor, temperature sensor, etc.) and/or any other sensing element having electronic output.
- motion sensor(s) e.g. a gyroscope, an accelerometer, a magnetometer, etc.
- sound sensor(s) e.g. microphone, etc.
- imaging sensor(s) e.g. camera, infrared sensor, etc.
- tactile sensor(s) e.g. switch, button, touchpad, etc.
- environmental condition sensor(s) e.g. light sensor, humidity sensor, temperature sensor, etc.
- the sensors may generate signals depicting the received stimulus.
- the sensors may generate signals depicting external stimulus.
- the gyroscope may be configured to detect movement of the electronic device 300 and generate output signals accordingly.
- the sound sensor may be configured to detect sounds and generate output signals accordingly.
- the light sensor may be configured to detect a light level and generate output signals accordingly.
- the MCU(s) 302 receives the output signals from the sensor(s) 106.
- the MCU(s) 302 typically incorporates a simple internal architecture such dedicated for a limited number of operations, in particular receiving and analyzing the output signals received from the sensor(s) 106.
- the MCU(s) 302 is characterized by low power consumption, and specifically, extremely low power consumption.
- the MCUs 302 may therefore constantly maintain the operational mode to continuously monitor the output signals received from the sensor(s) 106.
- the main processor 102 may execute one or more software modules, for example, applications, services, utilities, tools, agents, scripts and./or the like.
- a software module comprises a plurality of program instructions stored in a non- transitory medium and executed by the main processor 102.
- the main processor 102 may be by configured to enter the power saving mode, for example, power down, sleep, hibernate, nap, doze and/or the like in order to reduce power consumption.
- the MCU(s) 302 analyzes the output signals received from the senor(s) 106 to identify one or more predefined outputs and/or patterns.
- the predefined output and/or pattern may be associated with specific outside stimulus that the MCU(s) 302 is configured to identify when analyzing the output signal(s) received from the sensor(s) 106.
- the MCU(s) 302 may identify a predefined 8-shaped movement pattern of the electronic device 300.
- the MCU(s) 302 may identify a predefined tune pattern picked up by the sound sensor.
- the MCU(s) 302 may identify the external illumination level exceeds a certain predefined threshold and/or the external illumination level is within a predefined range. In another example, analyzing the output signals of the temperature sensor, the MCU(s) 302 may identify the external temperature level exceeds a certain predefined threshold and/or the external temperature level is within a predefined range. In another example, analyzing the output signals of the tactile sensor, for instance an array of push buttons, the MCU(s) 302 may identify a predefined sequence of strokes on the push buttons. In another example, analyzing the output signals of the magnetometer, the MCU(s) 302 may identify a level and/or a pattern of a magnetic field the electronic device 300 is subject to.
- the main processor 102 defines the predefined outputs and/or patterns for the MCU(s) 302 by configuring the MCU(s) 302 accordingly using, for example, a configuration tool, an application, an OS service and/or system call, a device driver and/or the like.
- the main processor 102 dynamically updates the predefined output signal(s) and/or patterns on the fly by dynamically configuring the MCU 302 accordingly.
- the MCU(s) 302 may forward a wakeup trigger message to invoke the main processor 102 to switch from the power saving mode to the operational mode.
- the wakeup trigger message may be utilized by, for example, sending a wakeup message to the main processor 102, asserting an interrupt line to the main processor 102, initiating a wakeup event and/or the like.
- the main processor 102 may execute one or more tasks relating to the detected predefined signal output(s) and/or pattern(s).
- an application for locating the electronic device 300 may utilize the process 200.
- the main processor 102 may configure one of the MCU 302 which is connected to the sound sensor to identify a specific sound pattern, for example a whistle. While the electronic device 300 is idle, i.e. no applications are executed by the main processor 102, the main processor 102 may be set to the power saving mode to reduce power consumption.
- the MCU 302 may monitor the output signals received from the sound sensor and analyze the sound data. When a user whistles, the whistle sound may be identified by the MCU 302.
- the MCU 302 may then invoke the main processor 102 by forwarding the wakeup trigger message to the main processor 102.
- the main processor 102 may then, for example, execute an application that generates an indication, for example, a visual indication, a sound indication a vibration indication and/or the like to assist the user in locating the electronic device 300.
- FIG. 4 is a schematic illustration of an exemplary embodiment of a system for monitoring one or more sensors and activating a main processor in an electronic device, according to some embodiments of the present invention.
- An exemplary electronic device 300A such as the electronic device 300 may include a main processor such as the main processor 102, one or more MCUs such as the MCU 302 and one or more motion sensors 106, for example, a gyroscope 106A, a magnetometer 106B and/or an accelerometer 106C.
- Each of the gyroscope 106A, the magnetometer 106B and/or the accelerometer 106C may be controlled by a dedicated MCU such as the MCU 302, for example, an MCU 302A, an MCU 302B and an MCU 302C respectively.
- the MCUs 302A, 302B and/or 302C may be constantly maintained in the operational mode in order to execute a process such as the process 200 to monitor the signals received from the gyroscope 106A, the magnetometer 106B and/or the accelerometer 106C respectively.
- the MCUs 302A, 302B and/or 302C may be each configured with one or more predefined signal outputs and/or patterns for their respective sensor 106A, 106B and/or 106C.
- the MCUs 302A, 302B and/or 302C may analyze the output signals received from their respective sensors 106a, 106B and 106C. Once the MCU 302A, 302B and/or 302C identifies the predefined signal output(s) and/or patterns in the received output signals, the MCU 302A, 302B and/or 302C may invoke the main processor 102 to switch from the power saving mode to the operational mode.
- FIG. 5 is a schematic illustration of an exemplary sequence for monitoring one or more sensors and activating a main processor in an electronic device, according to some embodiments of the present invention.
- An exemplary sequence 500 may be initiated by a main processor such as the main processor 102 of an electronic device such as the electronic device 300 to configure one or more MCUs such as the MCU 302 to execute a process such as the process 200.
- the main processor 102 may first configure the MCU 302 analyzing output signals received from one or more sensors such as the sensor 106 to identify one or more predefined signal outputs and/or patterns.
- the main processor 102 may execute a device programing software tool burn(program), utilizing for instance, a configuration tool, an application, an OS service and/or system call, a device driver and/or the like to upload a software application to a storage of the MCU 302, for example, a Random Access Memory (RAM), a Flash array and/or the like.
- the MCU 302 may execute the loaded software application which may define the predefined signal output(s) and/or pattern(s). While analyzing the output signals received from the sensor 106, the MCU 302 may compare the output signals to the predefined signal output(s) and/or pattern(s) to identify them.
- the main processor 102 dynamically updates the predefined output signal(s) and/or patterns on the fly by dynamically configuring the MCU 302 accordingly.
- the main processor 102 may accomplish, for example, through instructions to the software application executed by the MCU 302 and/or by uploading an updated software application to the MCU 302.
- the dynamic update may be done by the main processor 102, for example, according to the application(s) currently executing on the main processor 102 and/or the like.
- the MCU 302 executing the uploaded software application may communicate with the sensor 106 to receive data.
- the MCU 302 may execute a software routine, for example, getData() to collect data from the sensor 106.
- the software routine getData() may utilize a device driver of the sensor which may be further used to configure the sensor.
- the MCU 302 may execute the software routine getData() continuously, periodically and/or in a combination thereof. Execution timing of the software routine getData() may be set according to one or more operational parameters, for example, a power consumption of the MCU 302, a power consumption of the sensor 106, according to application requirements.
- the application requirements may define, for example, a minimal latency for detecting the predefined signal output(s) and/or pattern(s), an on demand detection and/or the like.
- the MCU 302 process and/or analyzes the output signals received from the sensor 106, for example, using a software routine process(data) to identify the predetermined signal output(s) and/or pattern(s).
- the MCU may turn ON and/or OFF the sensor 106 based on the defined configuration and/or identified predefined signal output(s) and/or pattern(s).
- the main processor 102 may be set to the power saving mode to preserve power of the electronic device 300.
- the MCU 302 In case while processing the output signals from the sensor 106, the MCU 302 identifies one or more of the predetermined signal output(s) and/or pattern(s) the MCU 302 may invoke the main processor 102 to switch to the operational mode.
- the MCU 302 may invoke the main processor 102 using one or more techniques, for example, generating and sending a wakeup trigger message to the main processor 102, asserting an interrupt line to the main processor 102 and/or the like.
- the MCU 302 may use, for example, a software routine createEvent( ) to initiate the wakeup trigger.
- the MCU 302 sends to the main processor 102 additional data, for example, the data received from the sensor 106, additional data collected from the sensor 106, identification of the identified signal output(s) and/or pattern(s) and/or the like.
- the main processor 102 may perform one or more tasks, commands, operations and/or the like according to the trigger received from the MCU 302, for example executing a command and/or starting an application. As evident from the sequence 500, the main processor 102 is not invoked unless the wakeup trigger is forwarded by the MCU 302.
- the MCU 302 pre-processes at least some of the data received from the sensor 106 during the operation of the main processor 102 to reduce processing load from the main processor 102.
- compositions comprising, “comprising”, “includes”, “including”, “having” and their conjugates mean “including but not limited to”. This term encompasses the terms “consisting of” and “consisting essentially of”.
- Consisting essentially of means that the composition or method may include additional ingredients and/or steps, but only if the additional ingredients and/or steps do not materially alter the basic and novel characteristics of the claimed composition or method.
- a compound or “at least one compound” may include a plurality of compounds, including mixtures thereof.
- range format is merely for convenience and brevity and should not be construed as an inflexible limitation on the scope of the invention. Accordingly, the description of a range should be considered to have specifically disclosed all the possible subranges as well as individual numerical values within that range. For example, description of a range such as from 1 to 6 should be considered to have specifically disclosed subranges such as from 1 to 3, from 1 to 4, from 1 to 5, from 2 to 4, from 2 to 6, from 3 to 6 etc., as well as individual numbers within that range, for example, 1, 2, 3, 4, 5, and 6. This applies regardless of the breadth of the range.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
Abstract
A system of monitoring at least one sensor and activating a main processor in an electronic device, comprising one or more sensors and one or more Micro Controller Units (MCU) electronically connected to the one or more sensors. The one or more MCUs are adapted to process signals received from the sensor (s) which generate the signals in response to an external stimulus, identify one or more predefined outputs and/or patterns of the signals and forward a wakeup trigger message to invoke a main processor to transition from a power saving mode to an operational mode.
Description
ACTIVATING A PROCESSOR BASED ON SENSOR MONITORING
BACKGROUND
The present invention, in some embodiments thereof, relates to sensor monitoring in an electronic device and, more particularly, but not exclusively, to monitoring a sensor and activating a main processor by a micro controller unit (MCU).
Today's electronic devices, and specifically smart devices such as smartphones, include sensors (e.g. gyroscope, accelerometer, magnetometer, audio sensor, imaging sensor, etc.) and receivers of outside signals (e.g. Bluetooth, Wireless LAN (WLAN), cellular, Radio frequency (RF), Near Field Communication (NFC), etc.). These sensors and receivers are typically controlled by a main processor, for example, a Central Processing Unit (CPU) of the electronic device which performs most or all of the calculations needed for the operation of the device, including executing specific software applications. The processor further activates or stops the sensors and/or receivers and reads signals from them.
In order to reduce power consumption, the CPU is switched to a power down mode when unused by any application. The CPU may be switched to an operational mode based on one or more trigger. The triggers may include, for instance, time based triggers (predefined time), hardware events (such as ON button or charger connection) and/or based on reception of an outside signal by one or more of the sensors and/or receivers (for example, receiving a Bluetooth connection request, detecting an incoming phone call, receiving a push notification from a remote server and/or the like).
SUMMARY
According to a first aspect of the present invention there is provided a system of monitoring at least one sensor and activating a main processor in an electronic device, comprising one or more sensors and one or more Micro Controller Units (MCU) electronically connected to the one or more sensors, the one or more MCUs are adapted to:
- Process signals received from the at least one sensor, the at least one sensor generates the signals in response to an external stimulus.
Identify at least one predefined output and/or pattern of the signals.
Forward a wakeup trigger message to invoke a main processor to transition from a power saving mode to an operational mode.
Assigning the MCU(s) to collect the sensor(s)' output signals and analyze them to identify the predefine outputs and/or patterns, the main processor may typically be maintained in a power saving mode. The MCU(s) are typically very low power devices and may therefore consume very little power even when fully operational. Only when the predefine outputs and/or patterns are identified, the main processor may be triggered to switch from the power saving mode to operational mode. This may significantly reduce power consumption of the system while maintaining low latency and fast response for processing the sensor(s)' signals.
According to a second aspect of the present invention there is provided a method of monitoring at least one sensor and activating a main processor in an electronic device, comprising:
Processing signals received from at least one sensor, the at least one sensor generates the signals in response to an external stimulus.
Identifying at least one predefined output and/or pattern of the signals.
Forwarding a wakeup trigger message to invoke a main processor to transition from a power saving mode to an operational mode.
In a further implementation form of the first and/or second aspects, the one or more outputs or patterns are predefined by the main processor. This may allow the main processor to select the desired output(s) and/or pattern(s) as required by the application(s) executed by the main processor.
In a further implementation form of the first and/or second aspects, the one or more MCUs are configured to identify the one or more outputs and/or patterns by the main processor. This may allow the main processor to configure the MCU in the field with no special tools.
In a further implementation form of the first and/or second aspects, the main processor dynamically configures the at least one MCU to identify one or more updated outputs and/or patterns. This may allow the main processor to adjust the predefined output(s) and/or pattern(s) on the fly according to changing requirements of the applications executed by the main processor.
In a further implementation form of the first and/or second aspects, the one or more MCUs are low power devices. Selecting low power MCU(s) may significantly reduce the power consumption of the system.
In a further implementation form of the first and/or second aspects, the one or more MCUs pre-process at least some of the received signals. This may relieve the main processor from at least some processing tasks and may therefore reduce required processing resources from the main processor which may further reduce, power consumption, execution time and/or cost of the main processor.
In a further implementation form of the first and/or second aspects, the one or more sensors are members of a group consisting of: a motion sensor, a sound sensor, an imaging sensor, a tactile sensor and/or an environmental condition sensor. This allows a wide variety of sensor types to be connected in the system where each of the sensor types may be adapted according to the need of one or more applications executed by the main processor.
Unless otherwise defined, all technical and/or scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the invention pertains. Although methods and materials similar or equivalent to those described herein can be used in the practice or testing of embodiments of the invention, exemplary methods and/or materials are described below. In case of conflict, the patent specification, including definitions, will control. In addition, the materials, methods, and examples are illustrative only and are not intended to be necessarily limiting.
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
Some embodiments of the invention are herein described, by way of example only, with reference to the accompanying drawings. With specific reference now to the drawings in detail, it is stressed that the particulars shown are by way of example and for purposes of illustrative discussion of embodiments of the invention. In this regard, the description taken with the drawings makes apparent to those skilled in the art how embodiments of the invention may be practiced.
In the drawings:
FIG. 1A and FIG. IB are schematic illustrations of exemplary embodiments of an electronic device main processor peripherals connectivity as known in the art;
FIG. 2 is a flowchart of an exemplary process of monitoring one or more sensors and activating a main processor in an electronic device, according to some embodiments of the present invention; and
FIG. 3 is a schematic illustration of an exemplary system for monitoring one or more sensors and activating a main processor in an electronic device, according to some embodiments of the present invention;
FIG. 4 is a schematic illustration of an exemplary embodiment of a system for monitoring one or more sensors and activating a main processor in an electronic device, according to some embodiments of the present invention;
FIG. 5 is a schematic illustration of an exemplary sequence for monitoring one or more sensors and activating a main processor in an electronic device, according to some embodiments of the present invention.
DETAILED DESCRIPTION
The present invention, in some embodiments thereof, relates to sensor monitoring in an electronic device and, more particularly, but not exclusively, to monitoring a sensor and activating a main processor by an MCU.
According to some embodiments of the present invention, there is provided a system for monitoring one or more sensors by one or more peripheral processors, for example, an MCU electronically connected to the sensor and activating a main processor, for example, a CPU of an electronic device. The sensor(s) may include, for example, motion sensor(s) (e.g. a gyroscope, an accelerometer, a magnetometer, etc.), sound sensor(s) (e.g. microphone, etc.), imaging sensor(s) (e.g. camera, infrared sensor, etc.), tactile sensor(s) (e.g. switch, button, touchpad, etc.), environmental condition sensor(s) (e.g. light sensor, humidity sensor, temperature sensor, etc.) and/or the like. In response to outside stimulus, for example, movement, sound, light, temperature, sound, touch and/or the like the sensors may generate signals depicting the received stimulus.
The MCU(s), typically a low power device(s) may be continuously and/or periodically operational. The MCU(s) may receive signals from the sensor(s) and analyze the received signals to identify one or more predefined outputs or patterns. Upon detection of one or more of the predefined outputs or pattern, the MCU may forward a wakeup trigger message to the main processor to invoke the main processor
to switch from a power saving mode, for example, power down, sleep, hibernate, nap, doze and/or the like to an operational mode. The main processor may then perform one or more tasks related to the identified output(s) or pattern(s).
Optionally, main processor configures and/or sets up the MCU to predefine the signal output(s) or pattern(s), for example, using an application and/or an operating system (OS) executed by the main processor.
Using the MCU to analyze the signals received from the sensor(s) may present significant advantages compared to currently existing methods. The existing methods may typically use the main processor to monitor periodically and/or continuously the sensors. The main processor may therefore be configured to constantly operate in an operational mode in which the main processor may consume considerable power. Such implementations may present a major drawback especially for mobile device having limited power resources, i.e. battery(s). Some of the existing methods may configure the main processor to operate in the power saving mode and periodically invoke the main processor to switch to the operational mode in order to monitor the sensors. This may present a latency problem as some signals received from the sensors may require a fast and/or deterministic response of the main processor. Some of the existing methods may apply sensor(s) capable of interrupting the main processor to switch to from the power saving mode to the operational mode. However, the main processor may be interrupt for any signal received from the sensors in response to the outside stimulus.
Using the MCU to analyze the signals received from the sensor(s) on the other hand may overcome the drawbacks of the currently existing methods while preserving system power. The main processor may typically be configured to remain in the power saving mode while not used by any application thus significantly reducing power consumption. The MCU which is a low power device may remain constantly operational (set to operational mode) allowing fast response to the signals received from the sensor(s). The MCU may then invoke the main processor only when the predefined signal output(s) and/or pattern(s) are detected. While significantly reducing the power consumption by maintaining the main processor in the power saving mode, the latency of the response of the main processor to the outside stimulus may be significantly reduced. Moreover, as the MCU invokes the main processor only at detection of the predefined signal output(s) and/or pattern(s), redundant invocation in which the outside
stimulus does not comply with the predefined signal output(s) and/or pattern(s) may be avoided.
Before explaining at least one embodiment of the invention in detail, it is to be understood that the invention is not necessarily limited in its application to the details of construction and the arrangement of the components and/or methods set forth in the following description and/or illustrated in the drawings and/or the Examples. The invention is capable of other embodiments or of being practiced or carried out in various ways.
The present invention may be a system, a method, and/or a computer program product. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.
The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non- exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the
Internet, a local area network, a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.
Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of
blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer readable program instructions.
These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the
block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.
Referring now to the drawings, FIG. 1A and FIG. IB, which are schematic illustrations of exemplary embodiments of an electronic device main processor peripherals connectivity as known in the art. As shown at FIG. 1A, an exemplary electronic device 100 may include a main processor 102, for example, a CPU connected to a plurality of peripheral devices, components and interfaces including sensors monitoring outside stimulus and receivers receiving outside signals. In particular, the electronic device 100 is a mobile device, for example, a smartphone, a tablet, a smartwatch, a wearable device, an Internet of Things (IoT) device, an electronic appliances and/or any device having a processor and one or more sensors. Modern mobile devices such as the electronic device 100 may typically be highly integrated comprising a plurality of sensors and other units electronically connected to a main processor 102.
As shown at FIG. IB, an exemplary electronic device 100A such as the electronic device 100 may include the main processor 102 and one or more motion sensors, for example, a gyroscope 106A, a magnetometer 106B and/or an accelerometer 106C. The gyroscope 106A, the magnetometer 106B and/or the accelerometer 106C may be directly connected to the main processor 102 such that the main processor 102 may need to be constantly maintained in an operational mode in order to monitor the signals received from the gyroscope 106A, the magnetometer 106B and/or the accelerometer 106C. Optionally, the main processor may be configured to be in a power saving mode, for example, power down, sleep, hibernate, nap, doze and/or the like and be periodically invoked to switch to an operational mode to collect the output signals of the sensors and process them. After processing the signals of the sensors 106A, 106B and/or 106C, the main processor 102 may resume the power saving mode. Periodically switching the main processor 102 to the operational mode may be done using one or more timing mechanisms typically available by an OS and/or an application(s) executed by the main processor 102.
Reference is now made to FIG 2, which is flowchart of an exemplary process of monitoring one or more sensors and activating a main processor in an electronic device,
according to some embodiments of the present invention. An exemplary process 200 may be executed by one or more MCUs of an electronic device such as the electronic device 100 to activate a main processor based on output signals received from one or more sensors.
Reference is also made to FIG 3, which is a schematic illustration of an exemplary system for monitoring one or more sensors and activating a main processor in an electronic device, according to some embodiments of the present invention. An exemplary electronic device 300 such as the electronic device 100 includes a main processor such as the main processor 102, one or more MCUs 302, for example, an MCU 302_1, an MCU 302_2 through an MCU 302_N and one or more sensor 106, for example, a sensor 106_1, a sensor 106_2, a sensor 106_3 through a sensor 106_M. the MCU(s) 302 may be connected to the main processor 102 through one or more interconnections, for example, a bus, a link, a wire and/or the like through which the MCU(s) 302 and the main processor 102 may exchange control data, data and/or interrupt events. The interconnection(s) may be shared by one or more of the MCU(s) 302 as shown for the MCU 302_2 and the MCU 302_N or the interconnection(s) may be dedicated for a single MCU 302 as shown for the MCU 302_1. Optionally, each of the MCUs 302 has a dedicated interrupt line as shown for the MCU 302_2 and the MCU 302_N.
Each of the MCUs 302 may be connected to one or more of the sensors 106. The sensor(s) 106 may include, for example, for example, motion sensor(s) (e.g. a gyroscope, an accelerometer, a magnetometer, etc.), sound sensor(s) (e.g. microphone, etc.), imaging sensor(s) (e.g. camera, infrared sensor, etc.), tactile sensor(s) (e.g. switch, button, touchpad, etc.), environmental condition sensor(s) (e.g. light sensor, humidity sensor, temperature sensor, etc.) and/or any other sensing element having electronic output. In response to outside stimulus, for example, movement, sound, image, light, temperature, sound, touch and/or the like the sensors may generate signals depicting the received stimulus. In response to outside stimulus, for example, movement, sound, light, temperature, sound, touch and/or the like the sensors may generate signals depicting external stimulus. For example, the gyroscope may be configured to detect movement of the electronic device 300 and generate output signals accordingly. In another example, the sound sensor may be configured to detect sounds and generate output
signals accordingly. In another example, the light sensor may be configured to detect a light level and generate output signals accordingly.
As shown at 202, the MCU(s) 302 receives the output signals from the sensor(s) 106. The MCU(s) 302 typically incorporates a simple internal architecture such dedicated for a limited number of operations, in particular receiving and analyzing the output signals received from the sensor(s) 106. As such, the MCU(s) 302 is characterized by low power consumption, and specifically, extremely low power consumption. The MCUs 302 may therefore constantly maintain the operational mode to continuously monitor the output signals received from the sensor(s) 106.
The main processor 102 may execute one or more software modules, for example, applications, services, utilities, tools, agents, scripts and./or the like. Wherein a software module comprises a plurality of program instructions stored in a non- transitory medium and executed by the main processor 102. However in case no software modules are currently executed by the main processor 102, the main processor 102 may be by configured to enter the power saving mode, for example, power down, sleep, hibernate, nap, doze and/or the like in order to reduce power consumption.
As shown at 204, the MCU(s) 302 analyzes the output signals received from the senor(s) 106 to identify one or more predefined outputs and/or patterns. The predefined output and/or pattern may be associated with specific outside stimulus that the MCU(s) 302 is configured to identify when analyzing the output signal(s) received from the sensor(s) 106. For example, analyzing the output signals of the accelerometer, the MCU(s) 302 may identify a predefined 8-shaped movement pattern of the electronic device 300. In another example, analyzing the output signals of the sound sensor, the MCU(s) 302 may identify a predefined tune pattern picked up by the sound sensor. In another example, analyzing the output signals of the light sensor, the MCU(s) 302 may identify the external illumination level exceeds a certain predefined threshold and/or the external illumination level is within a predefined range. In another example, analyzing the output signals of the temperature sensor, the MCU(s) 302 may identify the external temperature level exceeds a certain predefined threshold and/or the external temperature level is within a predefined range. In another example, analyzing the output signals of the tactile sensor, for instance an array of push buttons, the MCU(s) 302 may identify a predefined sequence of strokes on the push buttons. In another example, analyzing the
output signals of the magnetometer, the MCU(s) 302 may identify a level and/or a pattern of a magnetic field the electronic device 300 is subject to.
Optionally, the main processor 102 defines the predefined outputs and/or patterns for the MCU(s) 302 by configuring the MCU(s) 302 accordingly using, for example, a configuration tool, an application, an OS service and/or system call, a device driver and/or the like.
Optionally, the main processor 102 dynamically updates the predefined output signal(s) and/or patterns on the fly by dynamically configuring the MCU 302 accordingly.
As shown at 206, once detecting one or more of the predefined signal outputs and/or patterns, the MCU(s) 302 may forward a wakeup trigger message to invoke the main processor 102 to switch from the power saving mode to the operational mode. The wakeup trigger message may be utilized by, for example, sending a wakeup message to the main processor 102, asserting an interrupt line to the main processor 102, initiating a wakeup event and/or the like. After switching to the operational mode, the main processor 102 may execute one or more tasks relating to the detected predefined signal output(s) and/or pattern(s).
In an exemplary scenario, an application for locating the electronic device 300 may utilize the process 200. The main processor 102 may configure one of the MCU 302 which is connected to the sound sensor to identify a specific sound pattern, for example a whistle. While the electronic device 300 is idle, i.e. no applications are executed by the main processor 102, the main processor 102 may be set to the power saving mode to reduce power consumption. The MCU 302 may monitor the output signals received from the sound sensor and analyze the sound data. When a user whistles, the whistle sound may be identified by the MCU 302. The MCU 302 may then invoke the main processor 102 by forwarding the wakeup trigger message to the main processor 102. The main processor 102 may then, for example, execute an application that generates an indication, for example, a visual indication, a sound indication a vibration indication and/or the like to assist the user in locating the electronic device 300.
Reference is now made to FIG. 4, which is a schematic illustration of an exemplary embodiment of a system for monitoring one or more sensors and activating a
main processor in an electronic device, according to some embodiments of the present invention. An exemplary electronic device 300A such as the electronic device 300 may include a main processor such as the main processor 102, one or more MCUs such as the MCU 302 and one or more motion sensors 106, for example, a gyroscope 106A, a magnetometer 106B and/or an accelerometer 106C. Each of the gyroscope 106A, the magnetometer 106B and/or the accelerometer 106C may be controlled by a dedicated MCU such as the MCU 302, for example, an MCU 302A, an MCU 302B and an MCU 302C respectively. The MCUs 302A, 302B and/or 302C may be constantly maintained in the operational mode in order to execute a process such as the process 200 to monitor the signals received from the gyroscope 106A, the magnetometer 106B and/or the accelerometer 106C respectively. The MCUs 302A, 302B and/or 302C may be each configured with one or more predefined signal outputs and/or patterns for their respective sensor 106A, 106B and/or 106C. The MCUs 302A, 302B and/or 302C may analyze the output signals received from their respective sensors 106a, 106B and 106C. Once the MCU 302A, 302B and/or 302C identifies the predefined signal output(s) and/or patterns in the received output signals, the MCU 302A, 302B and/or 302C may invoke the main processor 102 to switch from the power saving mode to the operational mode.
Reference is now made to FIG. 5, which is a schematic illustration of an exemplary sequence for monitoring one or more sensors and activating a main processor in an electronic device, according to some embodiments of the present invention. An exemplary sequence 500 may be initiated by a main processor such as the main processor 102 of an electronic device such as the electronic device 300 to configure one or more MCUs such as the MCU 302 to execute a process such as the process 200.
The main processor 102 may first configure the MCU 302 analyzing output signals received from one or more sensors such as the sensor 106 to identify one or more predefined signal outputs and/or patterns. For example, the main processor 102 may execute a device programing software tool burn(program), utilizing for instance, a configuration tool, an application, an OS service and/or system call, a device driver and/or the like to upload a software application to a storage of the MCU 302, for example, a Random Access Memory (RAM), a Flash array and/or the like. The MCU
302 may execute the loaded software application which may define the predefined signal output(s) and/or pattern(s). While analyzing the output signals received from the sensor 106, the MCU 302 may compare the output signals to the predefined signal output(s) and/or pattern(s) to identify them.
Optionally, the main processor 102 dynamically updates the predefined output signal(s) and/or patterns on the fly by dynamically configuring the MCU 302 accordingly. The main processor 102 may accomplish, for example, through instructions to the software application executed by the MCU 302 and/or by uploading an updated software application to the MCU 302. The dynamic update may be done by the main processor 102, for example, according to the application(s) currently executing on the main processor 102 and/or the like.
The MCU 302 executing the uploaded software application may communicate with the sensor 106 to receive data. For example, the MCU 302 may execute a software routine, for example, getData() to collect data from the sensor 106. The software routine getData() may utilize a device driver of the sensor which may be further used to configure the sensor. The MCU 302 may execute the software routine getData() continuously, periodically and/or in a combination thereof. Execution timing of the software routine getData() may be set according to one or more operational parameters, for example, a power consumption of the MCU 302, a power consumption of the sensor 106, according to application requirements. The application requirements may define, for example, a minimal latency for detecting the predefined signal output(s) and/or pattern(s), an on demand detection and/or the like.
The MCU 302 process and/or analyzes the output signals received from the sensor 106, for example, using a software routine process(data) to identify the predetermined signal output(s) and/or pattern(s).
Optionally, the MCU may turn ON and/or OFF the sensor 106 based on the defined configuration and/or identified predefined signal output(s) and/or pattern(s).
While the MCU 302 executes the uploaded software application, in particular, the getData() and/or the process(data) software routines, the main processor 102 may be set to the power saving mode to preserve power of the electronic device 300.
In case while processing the output signals from the sensor 106, the MCU 302 identifies one or more of the predetermined signal output(s) and/or pattern(s) the MCU
302 may invoke the main processor 102 to switch to the operational mode. The MCU 302 may invoke the main processor 102 using one or more techniques, for example, generating and sending a wakeup trigger message to the main processor 102, asserting an interrupt line to the main processor 102 and/or the like. The MCU 302 may use, for example, a software routine createEvent( ) to initiate the wakeup trigger.
Optionally, the MCU 302 sends to the main processor 102 additional data, for example, the data received from the sensor 106, additional data collected from the sensor 106, identification of the identified signal output(s) and/or pattern(s) and/or the like.
After switching to the operational mode, the main processor 102 may perform one or more tasks, commands, operations and/or the like according to the trigger received from the MCU 302, for example executing a command and/or starting an application. As evident from the sequence 500, the main processor 102 is not invoked unless the wakeup trigger is forwarded by the MCU 302.
Optionally, the MCU 302 pre-processes at least some of the data received from the sensor 106 during the operation of the main processor 102 to reduce processing load from the main processor 102.
The descriptions of the various embodiments of the present invention have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein was chosen to best explain the principles of the embodiments, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.
It is expected that during the life of a patent maturing from this application many relevant methods and systems of sensor monitoring will be developed and the scope of the term sensor monitoring is intended to include all such new technologies a priori.
The terms "comprises", "comprising", "includes", "including", "having" and their conjugates mean "including but not limited to". This term encompasses the terms "consisting of" and "consisting essentially of".
The phrase "consisting essentially of" means that the composition or method may include additional ingredients and/or steps, but only if the additional ingredients and/or steps do not materially alter the basic and novel characteristics of the claimed composition or method.
As used herein, the singular form "a", "an" and "the" include plural references unless the context clearly dictates otherwise. For example, the term "a compound" or "at least one compound" may include a plurality of compounds, including mixtures thereof.
The word "exemplary" is used herein to mean "serving as an example, instance or illustration". Any embodiment described as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments and/or to exclude the incorporation of features from other embodiments.
The word "optionally" is used herein to mean "is provided in some embodiments and not provided in other embodiments". Any particular embodiment of the invention may include a plurality of "optional" features unless such features conflict.
Throughout this application, various embodiments of this invention may be presented in a range format. It should be understood that the description in range format is merely for convenience and brevity and should not be construed as an inflexible limitation on the scope of the invention. Accordingly, the description of a range should be considered to have specifically disclosed all the possible subranges as well as individual numerical values within that range. For example, description of a range such as from 1 to 6 should be considered to have specifically disclosed subranges such as from 1 to 3, from 1 to 4, from 1 to 5, from 2 to 4, from 2 to 6, from 3 to 6 etc., as well as individual numbers within that range, for example, 1, 2, 3, 4, 5, and 6. This applies regardless of the breadth of the range.
Whenever a numerical range is indicated herein, it is meant to include any cited numeral (fractional or integral) within the indicated range. The phrases "ranging/ranges between" a first indicate number and a second indicate number and "ranging/ranges from" a first indicate number "to" a second indicate number are used herein interchangeably and are meant to include the first and second indicated numbers and all the fractional and integral numerals therebetween.
It is appreciated that certain features of the invention, which are, for clarity, described in the context of separate embodiments, may also be provided in combination in a single embodiment. Conversely, various features of the invention, which are, for brevity, described in the context of a single embodiment, may also be provided separately or in any suitable subcombination or as suitable in any other described embodiment of the invention. Certain features described in the context of various embodiments are not to be considered essential features of those embodiments, unless the embodiment is inoperative without those elements.
Although the invention has been described in conjunction with specific embodiments thereof, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art. Accordingly, it is intended to embrace all such alternatives, modifications and variations that fall within the spirit and broad scope of the appended claims.
All publications, patents and patent applications mentioned in this specification are herein incorporated in their entirety by reference into the specification, to the same extent as if each individual publication, patent or patent application was specifically and individually indicated to be incorporated herein by reference. In addition, citation or identification of any reference in this application shall not be construed as an admission that such reference is available as prior art to the present invention. To the extent that section headings are used, they should not be construed as necessarily limiting.
Claims
1. A system of monitoring at least one sensor and activating a main processor in an electronic device, comprising:
at least one sensor; and
at least one micro controller unit (MCU) electronically connected to said at least one sensor, said at least one MCU is adapted to:
process signals received from said at least one sensor, said at least one sensor generates said signals in response to an external stimulus,
identify at least one predefined output or pattern of said signals, and forward a wakeup trigger message to invoke a main processor to transition from a power saving mode to an operational mode.
2. The system of claim 1, wherein said at least one output or pattern is predefined by said main processor.
3. The system of claim 1, wherein said at least one MCU is configured to identify said at least one predefined output or pattern by said main processor.
4. The system of claim 3, wherein said main processor dynamically configures said at least one MCU to identify at least one updated predefined output or pattern.
5. The system of claim 1, wherein said at least one MCU is a low power device.
6. The system of claim 1, further comprising said at least one MCU pre-processes at least some of the received signals.
7. The system of claim 1, wherein said at least one sensor is a member of a group consisting of: a motion sensor, a sound sensor, an imaging sensor, a tactile sensor and an environmental condition sensor.
8. A method of monitoring at least one sensor and activating a main processor in an electronic device, comprising:
processing signals received from at least one sensor, said at least one sensor generates said signals in response to an external stimulus;
identifying at least one predefined output or pattern of said signals; and forwarding a wakeup trigger message to invoke a main processor to transition from a power saving mode to an operational mode.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662337454P | 2016-05-17 | 2016-05-17 | |
US62/337,454 | 2016-05-17 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017199257A1 true WO2017199257A1 (en) | 2017-11-23 |
Family
ID=60326525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/IL2017/050557 WO2017199257A1 (en) | 2016-05-17 | 2017-05-17 | Activating a processor based on sensor monitoring |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2017199257A1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5799256A (en) * | 1996-07-17 | 1998-08-25 | Motorola, Inc. | Battery saving method and communication device using prediction of user location, movement and actions |
US6289464B1 (en) * | 1998-01-07 | 2001-09-11 | Microsoft Corporation | Receiving wireless information on a mobile device with reduced power consumption |
US20090259865A1 (en) * | 2008-04-11 | 2009-10-15 | Qualcomm Incorporated | Power Management Using At Least One Of A Special Purpose Processor And Motion Sensing |
WO2014141235A1 (en) * | 2013-03-11 | 2014-09-18 | Wise-Sec Ltd. | Wireless signal generating cards and methods and system of using such cards |
-
2017
- 2017-05-17 WO PCT/IL2017/050557 patent/WO2017199257A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5799256A (en) * | 1996-07-17 | 1998-08-25 | Motorola, Inc. | Battery saving method and communication device using prediction of user location, movement and actions |
US6289464B1 (en) * | 1998-01-07 | 2001-09-11 | Microsoft Corporation | Receiving wireless information on a mobile device with reduced power consumption |
US20090259865A1 (en) * | 2008-04-11 | 2009-10-15 | Qualcomm Incorporated | Power Management Using At Least One Of A Special Purpose Processor And Motion Sensing |
WO2014141235A1 (en) * | 2013-03-11 | 2014-09-18 | Wise-Sec Ltd. | Wireless signal generating cards and methods and system of using such cards |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10404539B2 (en) | Multi-device sensor subsystem joint optimization | |
CN107003973B (en) | Method, circuit and apparatus for low power context aware control of analog front end | |
US10257781B2 (en) | Context-based coordinated data retrieval for mobile devices | |
KR101722042B1 (en) | Power efficient location notification | |
JP6955092B2 (en) | Methods for reducing terminal power consumption, and terminals | |
JP6073496B2 (en) | Situation-aware sensor power management | |
EP2882234B1 (en) | Method, apparatus, equipment and system for controlling turn-on and turn-off of wireless network | |
KR20190096477A (en) | Mobile device including context hub and operation method thereof | |
KR20140002027A (en) | Method and system for dynamically controlling power to multiple cores in a multicore processor of a portable computing device | |
WO2017206902A1 (en) | Application control method and related device | |
US11816200B2 (en) | Terminal and method for managing launch of an application of a terminal | |
WO2018214871A1 (en) | Radio frequency interference processing method and electronic device | |
EP4032318A1 (en) | Portable smart speaker power control | |
KR20180138351A (en) | Apparatus and method for controlling power of cpu | |
US10321406B2 (en) | Contextually switching from a wireless communication to human body near-field communication for power savings | |
JP7272694B2 (en) | Method and terminal for reducing power consumption of terminal | |
CN111026456A (en) | Application management method and device, storage medium and electronic equipment | |
EP3262506B1 (en) | Dynamic adjustment of user experience based on system capabilities | |
WO2016137693A1 (en) | Control apparatus | |
CN111432387A (en) | Many-to-many switching module, multi-machine wireless communication system and communication method thereof | |
US20200083889A1 (en) | Ultra-low power adaptively reconfigurable system | |
WO2017199257A1 (en) | Activating a processor based on sensor monitoring | |
KR102367356B1 (en) | Controlling Current Consumption of Electronic Device | |
CN110995324B (en) | Bluetooth communication method, device, storage medium and terminal equipment | |
KR102244040B1 (en) | Method and apparatus for reducing current consumption in electronic device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17798891 Country of ref document: EP Kind code of ref document: A1 |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM1205A DATED 11.04.2019) |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 17798891 Country of ref document: EP Kind code of ref document: A1 |