IP Library Granted Patent US 10,157,058
Granted Patent B2
US 10,157,058 · App. 15/273,940 · Granted Dec 18, 2018

Adaptive self-configuring sensor node

Inventors: Shankar S. Malladi (Walpole, MA); Nagarjuna Gandrothu (Bangalore, IN); Subbarao Chennu (Bangalore, IN)
Assignee: Analog Devices Global
G06F9/00G06F3/0604G06F3/0655G06F3/0679
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,157,058
App. No.
15/273,940
Granted
Dec 18, 2018
Kind
B2
Abstract

An adaptive self-configuring sensor node is disclosed herein. The node is associated with one or more sensor, and can include a microcontroller unit (MCU), sensors and a wired/wireless communication module (e.g., transceiver) to communicate the data collected by the sensors. Sensor node software running on the CPU can be adaptively reconfigured based on the sensors connected with the node, and using configuration data that is read from a non-volatile memory (NVM). The NVM can further store loadable sensor device specific data acquisition and processing (DAP) routines corresponding to one or more of the sensors, which can be executed to configure a sensor or cause collection or processing of sensor data.

Claims (72)

1. An embedded sensor system for use with a plurality of dynamically reconfigurable sensing devices, comprising:

a memory circuit storing configuration data and loadable sensor device data acquisition and processing routines corresponding to respective ones of the plurality of sensing devices; and

a processor circuit communicatively coupled to the memory circuit and configured to:

detect that one or more sensing devices amongst the plurality of sensing devices is coupled to the processor circuit and is enabled to collect sensed data, using information about a sensor control field stored in the memory circuit, the sensor control field defining at least a presence or absence of respective ones of the plurality of sensing devices;

retrieve configuration data from the memory circuit using a configuration address field stored in the memory circuit and corresponding to the enabled one or more sensing devices, the retrieved configuration data corresponding to the enabled one or more sensing devices amongst the plurality of sensing devices and including a register value and a register associated with the detected one or more sensing devices;

configure the enabled one or more sensing devices based on the retrieved configuration data, the configuring including writing the register value into the register associated with the one or more sensing devices; and

receive sensed data from the configured one or more sensing devices at least in part by executing a corresponding one of the loadable sensor data acquisition and processing routines.

2. The sensor system according to claim 1 , wherein the sensor control field further defines a memory location of the configuration data corresponding to the enabled one or more sensing devices.

3. The sensor system according to claim 1 , further comprising the plurality of sensing devices.

4. The sensor system according to claim 1 , wherein the plurality of sensing devices comprises one or more of:

an Inter Integrated Circuit (I2C) sensor;

an Analog-to-Digital-Conversion (ADC) sensor; and

a Serial Peripheral interface (SPI) sensor.

5. The sensor system according to claim 1 , wherein the memory circuit comprises non-volatile memory (NVM).

6. The sensor system according to claim 1 , further comprising an on-chip processor memory storing a loader application for loading and executing data stored in the memory circuit.

7. The sensor system according to claim 6 , wherein the processor circuit is further configured to:

execute the loader application from the on-chip processor memory to load the corresponding one of the sensor device data acquisition and processing routines from the memory circuit into a portion of the on-chip processor memory.

8. The sensor system according to claim 7 , wherein the processor circuit is further configured to:

parse position independent code (PIC) stored in the heap memory to determine an absolute address of a target function of the corresponding acquisition routine; and

execute the target function to process the sensed data from the configured one or more sensing devices.

9. The sensor system according to claim 1 , wherein the sensor control field, the configuration data and the loadable sensor device data acquisition and processing routines are stored sequentially in the memory circuit.

10. The sensor system according to claim 1 , wherein the configuration data is an electronic data sheet (EDS) comprising at least one of:

detection register data to configure detection of a sensor;

configuration register data to configure the sensor, the configuration register data including the register value and the register associated with the detected one or more sensing devices; and

capture register data specifying register location to store data collected by the sensor.

11. The sensor system according to claim 1 , wherein the configuration data includes

loadable module data indicating at least a memory location in the memory circuit storing the corresponding one of the loadable sensor data acquisition and processing routines.

12. A method for configuring an embedded sensor system for use with a plurality of dynamically reconfigurable sensing devices, the method comprising:

accessing a control page stored in a memory circuit, the control page comprising a sensor control field defining a presence or absence of a sensing device of the plurality of sensing devices, and an address field defining a memory location storing configuration data for the sensing device;

detecting that the sensing device is enabled to collect sensed data based on the sensor control field;

retrieving the configuration data for the sensing device from the memory location using the address field, the retrieved configuration data comprising a register value associated with the sensing device and a loadable sensor device data acquisition and processing routine for collecting the sensed data;

configuring the enabled sensing device based on the retrieved configuration data, wherein the configuring includes writing the register value into a register associated with the sensing device; and

receiving sensed data from the configured sensing device at least in part by executing the loadable sensor data acquisition and processing routine.

13. The method according to claim 12 , wherein the memory circuit is a non-volatile memory (NVM) and the method further comprises:

loading the sensor device data acquisition and processing routine from the NVM into a heap memory portion of an on-chip processor memory.

14. The method according to claim 13 , further comprising:

parsing position independent code (PIC) of the sensor device data acquisition and processing routine to determine an absolute address of a sensor data read function.

15. The method according to claim 14 , further comprising:

executing the determined function to read the sensed data from the configured sensing device; and

converting the read data into one or more real sensor values for presentation to a user.

16. At least one computer-readable storage medium comprising instructions that, when executed on a central processing unit (CPU) of an embedded sensor system for use with a plurality of dynamically reconfigurable sensing devices, cause the CPU to:

access a control page stored in a memory circuit, the control page comprising a sensor control field defining a presence or absence of a sensing device of the plurality of sensing devices, and an address field defining a memory location storing configuration data for the sensing device;

detect that the sensing device is enabled to collect sensed data based on the sensor control field;

retrieve the configuration data for the sensing device from the memory location using the address field, the retrieved configuration data comprising a register value associated with the sensing device and a loadable sensor device data acquisition and processing routine for collecting the sensed data;

configure the enabled sensing device based on the retrieved configuration data, wherein the configuring includes writing the register value into a register associated with the sensing device; and

receive sensed data from the configured sensing device at least in part by executing the loadable sensor data acquisition and processing routine.

17. The at least one computer-readable storage medium according to claim 16 , wherein when executed, the instructions further cause the CPU to:

load the sensor device data acquisition and processing routine from the memory circuit into a heap memory portion of an on-chip processor memory that is separate from the memory circuit; and

determine an absolute address of a sensor data read function using the sensor device data acquisition and processing routine.

18. The at least one computer-readable storage medium according to claim 16 , wherein when executed, the instructions further cause the CPU to:

detect the sensing device based on detection register data within the configuration data.

19. The at least one computer-readable storage medium according to claim 18 , wherein when executed, the instructions further cause the CPU to:

writing configuration values into a set of configuration registers to configure the sensing device to collect the sensed data into one or more capture registers.

20. The at least one computer-readable storage medium according to claim 19 , wherein the configuration values, the configuration registers and the one or more capture registers are specified by the configuration data.

21. The sensor system according to claim 1 , wherein the configuration data is an electronic data sheet (EDS) comprising at least one of:

sensor peripheral configuration data including sensor clock rate driver information for the enabled one or more sensing devices; and

offset data providing an offset into the memory, the memory storing one or more registers associated with configuring the one or more sensing devices or processing the sensed data from the one or more sensing devices.

22. The at least one computer-readable storage medium according to claim 17 , wherein when executed to configure the enabled sensing device, the instructions further cause the CPU to:

set a clock rate of the enabled one or more sensing devices using sensor clock rate driver information within the retrieved configuration data.

23. An embedded sensor system for use with a plurality of dynamically reconfigurable sensing devices, comprising:

a non-volatile memory (NVM) storing configuration data and loadable sensor device data acquisition and processing routines corresponding to respective ones of the plurality of sensing devices; and

a processor circuit communicatively coupled to the memory circuit and to a second memory, the processor circuit configured to:

detect that one or more sensing devices amongst the plurality of sensing devices is coupled to the processor circuit and is enabled to collect sensed data, based on a sensor control field stored in the NVM and defining at least a presence or absence of respective ones of the plurality of sensing devices;

retrieve configuration data corresponding to the enabled one or more sensing devices from the NVM using a configuration address field corresponding to the enabled one or more sensing devices;

configure the enabled one or more sensing devices based on the retrieved configuration data, the configuring including writing the register value into the register associated with the one or more sensing devices; and

receive sensed data from the configured one or more sensing devices at least in part by loading a corresponding one of the sensor data acquisition and processing routine from the NVM into a portion of the second memory, and executing the loaded routine.

24. The sensor system according to claim 23 , wherein the processor circuit is further configured to:

parse position independent code (PIC) stored in the portion of the second memory to determine an absolute address of a target function of the corresponding acquisition and processing routine; and

execute the target function to process the sensed data from the configured one or more sensing devices.

25. The sensor system according to claim 23 , wherein the sensor control field, the configuration data and the loadable sensor device data acquisition and processing routines are stored sequentially in the NVM.

26. The sensor system according to claim 23 , wherein to configure the enabled one or more sensing devices, the processor circuit is further configured to:

set a clock rate of the enabled one or more sensing devices using sensor clock rate driver information within the retrieved configuration data.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 25, 2022
From: ANALOG DEVICES GLOBAL UNLIMITED COMPANY
To: ANALOG DEVICES INTERNATIONAL UNLIMITED COMPANY
Reel/Frame 059106/0721 →
CHANGE OF NAME Recorded Feb 24, 2022
From: ANALOG DEVICES GLOBAL
To: ANALOG DEVICES GLOBAL UNLIMITED COMPANY
Reel/Frame 059095/0663 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 8, 2016
From: MALLADI, SHANKAR S.; GANDROTHU, NAGARJUNA; CHENNU, SUBBARAO
To: ANALOG DEVICES GLOBAL
Reel/Frame 040254/0406 →
Continuity (1)
Related Publication 20180088859A1 · Mar 29, 2018
Cited By (1)
US 12,720,284