Sensor data offload
A computer system for offloading sensor data processing is disclosed. An aggregation processor circuit may receive multiple data streams from corresponding ones of multiple sensors included in the computer system. The aggregation processor circuit may send a first portion of a particular data stream of the multiple data streams to a primary memory circuit for storage, and send a second portion of the particular data stream to a secondary memory circuit. The aggregation processor circuit may send the second portion of the particular data stream at a lower data rate than the first portion of the particular data stream.
1 . An apparatus, comprising:
a primary memory circuit;
a secondary memory circuit;
a plurality of sensors configured to generate corresponding data streams of a plurality of data streams; and
an aggregation processor circuit configured to:
receive the plurality of data streams;
send, at a first data rate, a first portion of a plurality of portions of a first data stream of the plurality of data streams to the primary memory circuit;
send, at a second data rate less than the first data rate, a second portion of the plurality of portions to the secondary memory circuit;
store the first portion of the plurality of portions at a first address location in the primary memory circuit, wherein the first portion corresponds to a first sensor of the plurality of sensors; and
store a third portion of the plurality of portions at a second address location in the primary memory circuit, wherein the third portion corresponds to a second sensor of the plurality of sensors.
2 . The apparatus of claim 1 , further comprising a sensor processor circuit configured to:
retrieve the second portion from the secondary memory circuit;
determine calibration and offset information using the second portion; and
store the calibration and offset information at a third address location in the primary memory circuit.
3 . The apparatus of claim 2 , wherein the sensor processor circuit is further configured to send one or more instructions to the aggregation processor circuit.
4 . The apparatus of claim 2 , further comprising a client circuit configured to:
retrieve raw data associated with a particular sensor of the plurality of sensors from the primary memory circuit;
retrieve offset and calibration information associated with the particular sensor from the primary memory circuit; and
apply the offset and calibration information to the raw data to generate calibrated data.
5 . The apparatus of claim 2 , wherein the first portion of the plurality of portions of data includes raw data from the first sensor, and wherein the second portion of the plurality of portions includes information for calibration.
6 . The apparatus of claim 3 , wherein the aggregation processor circuit is further configured to relay at least one instruction of the one or more instructions to at least one sensor of the plurality of sensors.
7 . A method, comprising:
receiving, by an aggregation processor circuit, a particular data stream from a particular sensor of a plurality of sensors;
sending, by the aggregation processor circuit using a first data rate, a first portion of the particular data stream to a primary memory circuit;
storing the first portion of the particular data stream at a first address location in the primary memory circuit;
sending, by the aggregation processor circuit using a second data rate, a second portion of the particular data stream to a secondary memory circuit, wherein the second data rate is less than the first data rate;
retrieving, by a sensor processor circuit, the second portion of the particular data stream from the secondary memory circuit;
determining, by the sensor processor circuit, calibration and offset information using the second portion of the particular data stream; and
storing, by the sensor processor circuit, the calibration and offset information at a second address location in the primary memory circuit.
8 . The method of claim 7 , wherein the first portion of the particular data stream includes raw data from the particular sensor, and wherein the second portion of the particular data stream includes information for calibration.
9 . The method of claim 7 , further comprising:
retrieving, by a client circuit, the first portion of the particular data stream from the primary memory circuit;
retrieving, by the client circuit, the calibration and offset information from the primary memory circuit; and
generating, by the client circuit, calibrated data using the first portion of the particular data stream and the calibration and offset information.
10 . The method of claim 9 , further comprising:
receiving, by the sensor processor circuit, a request for a particular data rate from the client circuit; and
generating, by the sensor processor circuit, setup information using the request.
11 . The method of claim 7 , further comprising:
receiving, by the aggregation processor circuit, a different data stream from a different sensor of the plurality of sensors;
sending, by the aggregation processor circuit using the first data rate, a third portion of the different data stream to the primary memory circuit; and
sending, by the aggregation processor circuit using the second data rate, a fourth portion of the different data stream to the secondary memory circuit.
12 . The method of claim 7 , further comprising sending, by the sensor processor circuit, at least one instruction to the aggregation processor circuit.
13 . The method of claim 12 , further comprising relaying, by the aggregation processor circuit, the at least one instruction to at least one sensor of the plurality of sensors.
14 . A system, comprising:
a main memory circuit;
a system-on-a-chip that includes a plurality of client circuits, an aggregation processor circuit, and a secondary memory circuit;
a plurality of sensors configured to generate corresponding data streams of a plurality of data streams; and
a plurality of aggregator circuits configured to:
combine respective data streams for corresponding subsets of the plurality of sensors to generate corresponding composite data streams of a plurality of composite data streams;
relay the plurality of composite data streams for the aggregation processor circuit; and
wherein the aggregation processor circuit is configured to:
send, at a first data rate, a first portion of a particular composite data stream of the plurality of composite data streams to the main memory circuit, wherein the first portion of the particular composite data stream includes raw sensor data; and
send, at a second data rate less than the first data rate, a second portion of the particular composite data stream to the secondary memory circuit, wherein the second portion of the particular composite data stream includes information for calibration.
15 . The system of claim 14 , wherein the aggregation processor circuit is further configured to store the first portion starting at a first address location in the main memory circuit.
16 . The system of claim 15 , wherein the system-on-a-chip further includes a sensor processor circuit configured to:
retrieve the second portion from the secondary memory circuit;
determine calibration and offset information using the second portion; and
store the offset and calibration information starting at a second address location in the main memory circuit.
17 . The system of claim 16 , wherein the sensor processor circuit is further configured to send at least one instruction to the aggregation processor circuit.
18 . The system of claim 17 , wherein the aggregation processor circuit is further configured to relay at least one instruction to at least one sensor of the plurality of sensors.
19 . The system of claim 16 , wherein a particular client circuit of the plurality of client circuits is configured to:
retrieve the first portion from the main memory circuit;
retrieve the calibration and offset information from the main memory circuit; and
generate calibrated data using the first portion of the particular composite data stream and the calibration and offset information.
20 . The system of claim 16 , wherein the aggregation processor circuit is further configured to
send, at the first data rate, a third portion of a different composite data stream of the plurality of composite data streams to the main memory circuit; and
send, at the second data rate, a fourth portion of the different composite data stream to the secondary memory circuit.