The iCE40 Sensor Hub Solution is a low power sensor hub solution for mobile devices using iCE40LM and iCE40 Ultra™ FPGAs. It is designed to monitor sensors and periodically send the sensor data to the application processor.
The Sensor Hub reference design acts as a buffer between the sensors and the application processor. When the Sensor Hub is used in a design, it allows the application processor to sleep for longer periods of time. The Sensor Hub reduces unnecessary communication between the sensors and the processor, thus saving power consumption by allowing the processor not to be in an “always on” state. The iCE40 Sensor Hub Solution is configurable, available as either standalone off the shelf or fully customizable, making it a sensor agnostic solution.
As a standalone solution, the iCE40 Sensor Hub connects to the application processor’s Serial Peripheral Interface Bus (SPI) with clock frequency set to 10.8 MHz. This enables a fast communication speed to/from the processor. The iCE40 Sensor Hub standalone solution acts as I2C master to the supported sensors. There are two sets of I2C connections configured with multiple sensors at each connection in the iCE40 Sensor Hub standalone solution.
The default sensors supported in the standalone iCE40 Sensor Hub Solution are: Bosch BMP085 Digital Pressure Sensor; Maxim Integrated MAX44006 RGB Color, Infrared, and Temperature Sensors; Sensirion SHT20 Humidity and Temperature Sensor IC; STMicro LSM330DLC 3D accelerometer and 3D gyroscope; and STMicro LSM303DLHC 3D accelerometer and 3D magnetometer module.
The iCE40 Sensor Hub standalone solution has a system operating frequency of 27 MHz, SPI bus frequency to application processor of 10.8 MHz, and I2C clock frequency of 400 kHz. The SPI bus is configured to have a voltage of 1.8 V, and the two I2C buses are configured to have voltages of 1.8 V and 3.3 V, enabling the solution to connect to sensors with different I/O voltages and bridging sensors of different I/O voltages to the application processor.