Sensors on Open Server Platforms
October 2, 2014, ArmTechCon, Santa Clara, CA—Kevin Shaw from Audience talked about the changes in architectures to enable easier integration of sensors into systems. An open sensor hub platform allows greater levels of abstraction of the sensors and better partitioning of the whole system.
Systems architectures are evolving to add more sensors. The problem is that just adding more sensors may cause processing duplication and can overload the apps processor through high numbers of interrupts and no timing synchronization. These factors increase the power load for the system. This separate architecture is ok for games but is not efficient enough for always on sensors.
A sensor hub can avoid much of this duplication by breaking up the silicon aggregation and separating the CPU and an MCU for the sensor hub to manage power use. One challenge is that a multi-function hub for audio, sensors, etc. have to operate in an environment of limited memory and compute power.
One way out is to use a framework that includes interfaces for host, sensor, packets, and algorithms, and allows the algorithms to be split between the host and hub. An open source framework will be available on Github with an Apache license and includes glue code and other functions for a sensor hub. Although no standards and reference platforms exist, the company is in talks with many standards organizations such as the IEEE and Kronos to include the platform into the latest standards.
The basic architecture has low level interfaces to the sensors, a hub PHY for connecting to the applications processor, and drivers for the PHY and the sensors. This configuration presents a standard interface to the system developer and makes the system sensor agnostic. Specific drivers for the individual sensors come from the sensor vendors. This system is configurable to use an RTOS or not.
The algorithm layer is set up to be a compute often- transport rarely process and adds intelligence to identify an event and determine if the data or results need to be transported. The interface sends various messages to the apps processor and to the algorithm interface. The packet protocol is set up in a similar way to allow the greatest flexibility and to minimize the data transfers and interrupts.
The basic hub is a series of hierarchical interfaces that allows the developer to swap interfaces, hubs, algorithms, and even the host OS. The various libraries in the source include various sensors, sensor fusion, and context identification, such as turning off the GPS if the user is stationary.


