Sensor System

Introduction

A sensor measures the information about the current state of the system. Temperature, pressure. humidity, ranging detection, facial recognition, navigation, etc. are typical information that is provided to the processor to calculated required sensory information to meet product requirements. Some state information like temperature can be provided by one sensor, however, complex system such as navigation require 3 different sensors. Hence, sensor system design is highly dependent on product requirements and complexity.

Background

A sensor performance is characterized by its input range, precision, linearity, and output error and output data rate. All these characteristic need to be evaluated to tailor towards the needs of the product requirements. For instance, if low latency orientation detection is needed, then the IMU sensor needs to output data rate at a sufficiently higher rate to minimize user noticeable lag.

We define the sensor system as a network interconnecting sensors within a product to provide necessary measurements information to estimate the state of product.

Goal

The goal of this article is to provide insight into consumer electronics sensor types, design, integration, and calibration.

Overview

Common sensor working principles:

Pyroelectric effect: heat flow across the sensing element induces a voltage (e.g passive infrared motion sensor)

Piezoelectric effect; deformation of the sensing element generates a voltage (e.g. ultrasonic distance sensor)

Piezoresistive effect: deformation of the sensing element changes the the its resistance (e.g. Metal strain gauge, MEMS pressure sensor , & accelerometer)

Photoelectric effect: incident light creates current flow inside the sensor (e.g. photodiodes used in photodetector)

Types of sensors

Motion sensor:

Ranging Detection:

Touch sensor

Finger Print Sensor

Temperature sensor:

Humidity sensor:

Barometric Pressure sensor

Hull sensor

Ambient light sensor

Imaging

Strain gauge 

IMU 

Accelerometer

Gyro

Magnetometer 

Note: Please see fundamental->sensor sections for detailed sensor selection criteria and guideline.

System Architecture

Block Diagram

Below is a common sensor system used in the phone.

Phone Sensor System

Block Description

Application Processor: this is the main processor running general purpose processes such as Android OS and its applications

Main Memory: DRAM is where the run-time OS and data is, loaded, stored and executed while Flash is used to store  system image and persistent data.

Sensor Core: Generally, there is dedicated sensor core is that used to processor the sensor information. This sensor core can be external using cortex-M4F micro controller or internal to the SoC itself.

Sensors:

we have 7 sensors in a typical phones: 

Accelerometer, gyro, magnetometer as known as eCompass: generally these three sensors works together to calculate object orientation needed for navigation and screen orientation detection.

Barometric pressure sensor (Barometer): it measures air pressure and works with GPS to retrieve the altitude information of the geographic location of the device in order to improve navigation accuracy.

Ambient light and proximity sensor: Ambient light and proximity sensor comes together in one package, with an IR emitter and an IR receiver. The IR receiver by itself works as a ambient light sensor; however an IR emitter is used for emit an active IR light for the purpose of detecting for where or not a face is in contact with the phone The level of proximity of an object is determined by the reflected IR light received by the IR sensor; hence object proximity information is measured.

Touch sensor: touch sensor detects location of finger positions, it contains high amount of data for processing.

Fingerprint sensor: It contains a matrix of capacitive cells to detect finger print signature. It contains high amount for fingerprint detection that needs to be transferred sensor core for detection.

Design analysis

The main system design besides choosing the sensors is identify to serial interface selections for each component. For high data transfer such as finger print and IMU (Gyro+Accelerometer), we choose to use dedicated SPI interface which can operate in tens of MHz clock. For other slower reading sensors, we can use I2Cs which is commonly at 400 KHz.

Common Manufacturers

Bosch is generally used for Barometer

Bosch, STM, and Invense are good with MEMS accelerometer, gyro.

STM and AKM semiconductor is good for magnetometer

AMS is generally used for Ambient light sensor and proximity

STM is generally good at Touch controller

Imaging sensors are Sony and Omnivision

CALIBRATION

Sensor often always need to be calibrated against offset and temperature. Generally this is done at the factory for each sensor. An example of ambient light sensor calibration is shown below.

Summary and Conclusion

Accurate sensor data depicts current state of the device. We understand that the sensor merely provides that information. Then sensor measurements can be used to calculate device orientation, device altitude, navigation, and personal identity verification. Lastly, sensors have internal non-linearity and offsets that varies with temperature, so in order for sensors to measure data through out a wide range of temperature, we need to calibrate each device individually. 

Additional Resource:

Please review the IMU noise model to understand the real world application for modeling noise in IMU sensors and the caliberation steps: https://github.com/ethz-asl/kalibr/wiki/IMU-Noise-Model