Algorithm engine for ultra low-power processing of sensor data
First Claim
Patent Images
1. A method for power-efficiently processing sensor data comprising:
- configuring, by a general purpose processor, a sensor fusion engine that comprises a plurality of sensor data-processing algorithms implemented as hardware macros, each of the hardware macros comprising dedicated hardware circuitry for performing the corresponding sensor data-processing algorithm, wherein the plurality of sensor data-processing algorithms includes an algorithm, implemented as a hardware macro, for fusing of sensor data from multiple sensors;
upon the configuring, placing the general purpose processor into a low-power sleep mode;
in response to an interrupt from at least one of a plurality of sensors, waking a peripheral controller from a sleep mode;
after the waking, and with the peripheral controller, reading data produced by each of the plurality of sensors and storing the data into a companion memory while the general purpose processor is in the low-power sleep mode; and
processing the data stored into the companion memory with the sensor fusion engine,wherein the configuring comprises configuring the sensor fusion engine to use the algorithm for fusing of sensor data from multiple sensors, implemented as a hardware macro, to perform the processing.
1 Assignment
0 Petitions
Accused Products
Abstract
Disclosed is a method and apparatus for power-efficiently processing sensor data. In one embodiment, the operations implemented include: configuring a sensor fusion engine and a peripheral controller with a general purpose processor; placing the general purpose processor into a low-power sleep mode; reading data from a sensor and storing the data into a companion memory with the peripheral controller; processing the data in the companion memory with the sensor fusion engine; and awaking the general purpose processor from the low-power sleep mode.
-
Citations
20 Claims
-
1. A method for power-efficiently processing sensor data comprising:
-
configuring, by a general purpose processor, a sensor fusion engine that comprises a plurality of sensor data-processing algorithms implemented as hardware macros, each of the hardware macros comprising dedicated hardware circuitry for performing the corresponding sensor data-processing algorithm, wherein the plurality of sensor data-processing algorithms includes an algorithm, implemented as a hardware macro, for fusing of sensor data from multiple sensors; upon the configuring, placing the general purpose processor into a low-power sleep mode; in response to an interrupt from at least one of a plurality of sensors, waking a peripheral controller from a sleep mode; after the waking, and with the peripheral controller, reading data produced by each of the plurality of sensors and storing the data into a companion memory while the general purpose processor is in the low-power sleep mode; and processing the data stored into the companion memory with the sensor fusion engine, wherein the configuring comprises configuring the sensor fusion engine to use the algorithm for fusing of sensor data from multiple sensors, implemented as a hardware macro, to perform the processing. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A System on a Chip (SoC) comprising:
-
a companion memory; a peripheral controller configured to read, from each of a plurality of sensors, data produced by the sensor and to store the data into the companion memory; a subsystem configured to awaken the peripheral controller from a sleep mode in response to an interrupt from at least one of the plurality of sensors; a sensor fusion engine configured to process the data stored into the companion memory; and a general purpose processor configured to configure the sensor fusion engine before entering a low-power sleep mode, wherein the sensor fusion engine comprises a plurality of sensor data-processing algorithms implemented as hardware macros, each of the hardware macros comprising dedicated hardware circuitry for performing the corresponding sensor data-processing algorithm, the plurality of sensor data-processing algorithms including an algorithm, implemented as a hardware macro, for fusing of sensor data from multiple sensors, and wherein the sensor fusion engine is configurable by the general purpose processor to use the algorithm for fusing of sensor data from multiple sensors, implemented as a hardware macro, to process the data stored into the companion memory. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13)
-
-
14. A non-transitory computer-readable medium including:
-
code that, when executed by a peripheral controller, causes the peripheral controller to read, from each of a plurality of sensors, data produced by the sensor and to store the data into a companion memory; code that, when executed by a subsystem, causes the subsystem to awaken the peripheral controller from a sleep mode in response to an interrupt from at least one of the plurality of sensors; and code that, when executed by a general purpose processor, causes the general purpose processor to; enter a low-power sleep mode; and before entering the low-power sleep mode, configure a sensor fusion engine to process the data stored into the companion memory, wherein the sensor fusion engine comprises a plurality of sensor data-processing algorithms implemented as hardware macros, each of the hardware macros comprising dedicated hardware circuitry for performing the corresponding sensor data-processing algorithm, the plurality of sensor data-processing algorithms including an algorithm, implemented as a hardware macro, for fusing of sensor data from multiple sensors, and wherein the code that, when executed by the general purpose processor, causes the general purpose processor to configure the sensor fusion engine includes code that causes the general purpose processor to configure the sensor fusion engine to use the algorithm for fusing of sensor data from multiple sensors, implemented as a hardware macro, to process the data stored into the companion memory. - View Dependent Claims (15)
-
-
16. An apparatus for power-efficiently processing sensor data comprising:
-
means for storing data; means for controlling peripheral components, including means for reading, from each of a plurality of sensors, data produced by the sensor and storing the data read from each of the plurality of sensors into the means for storing; means for waking, from a sleep mode, the means for controlling peripheral components in response to an interrupt from at least one of the plurality of sensors; means for processing the data stored into the means for storing; means for configuring the means for processing the data stored into the means for storing; and means for placing the means for configuring into a low-power sleep mode upon the configuring, wherein the means for processing the data stored into the means for storing comprises a plurality of sensor data-processing algorithms implemented as hardware macros, each of the hardware macros comprising dedicated hardware circuitry for performing the corresponding sensor data-processing algorithm, the plurality of sensor data-processing algorithms including an algorithm, implemented as a hardware macro, for fusing of sensor data from multiple sensors, and wherein the means for processing the data stored into the means for storing is configurable by the means for configuring to use the algorithm for fusing of sensor data from multiple sensors, implemented as a hardware macro, to process the data stored into the means for storing. - View Dependent Claims (17, 18, 19, 20)
-
Specification