IoT architecture
With approximately 20.35 billion things connected to the internet as at 2017, IoT is certainly changing the way we interact with the world. They slowly taking over our homes, factories and even labs. There are numerous architectural approaches to IoT systems however, a basic design has three basic layers
- End node-This is responsible for gathering information from sensors. The information could be the temperature, speed, pressure, audio, physiological metric, images and lot more other things. Once it has gathered the information, it sends it to the gateway (via a wire or wireless link).
- Gateway– It gathers information from numerous end nodes and then send the information upstream
- The cloud– It processes data streams that control operations of various functions and as well gathers data for analytics.
Fog computing
Unfortunately sending all the data to the cloud for processing posses many challenges major ones being latency issues and slowed response. The alternative is to push out processing functions to either the gateway or node, a concept called “fog computing”. This reduces the amount data traversing through the network and ensures fast response. However, introducing a microcontroller (MCU) into the node introduces numerous complications. If the system will require power-hungry digital-signal (DSP) functions like the finite impulse response(FIR) and fast Fourier transform (FFT) frequency analysis, then power consumption challenges will immediately set in. This is mostly so if the system is powered by a battery.
The MCU
The MCU located in computationally-intensive IoT nodes perform the following functions;
- Acquisition of data from sensors- The data acquired in analog or digital format. For the design to become more compact and less expensive, the MCU should include analog or digital functions as internal blocks.
- Processing of data– The MCU applies DSP techniques on the data to extract the desired information. The MCU can use software to achieve this, however, this will be slow and will take large CPU resources. Alternatively, it can use hardware co-processors that are designed to efficiently perform common DSP function which is faster and reduces CPU workload. However, this increases power consumption.
- Taking appropriate action– The MCU is supposed to take the appropriate action based on the data extracted. The action can be in the form of decision making, exporting information, etc.
Designing ultra-low power IOT sensors
There MCUs that have been optimized for ultra-low-power applications. A good example of these includes Texas Instruments’ MSP 430 microcontroller family. They contain low-power nodes and consume as low as 15 nA.The MSP 430 family is based on 16-bit RISC core that operates at up to 16MHz. The series contains more than 500 devices including;
- ADC (10-,12-,24-bit)
- Analog blocks (op-amps, and comparators)
- Capacitive touch screens
- LCD drivers
- EAS encryption
- Serial interfaces
MSP 430 FRxx subset
This subset of the MSP family has ferroelectric random-access memory (FRAM) technology. FRAM may not be as volatile as a flash memory but it offers fast and low-power writes. It has write endurance of 1015 cycles, resistance to radiation and electromagnetic fields and reinforced data logging and security. This fast write and read speed makes the MSP 430 FRxx fit for data logging and as low-speed RAM to store data that is rarely accessed.
MSP430FR5994
This is particularly suited for computationally intensive IoT devices. It has 256kB of FRAM, Low Energy Accelerator (LEA) module which is a low-power vector math engine (performs signal processing, matrix multiplication,and other functions). The LEA a has 16 MHz clock and consumes less 0.1 sec to perform a 256-tap FIR operation on a set 1024 data points while consuming only 1.072 mA. This makes it 40 times faster than most MCUs that are based on 32-bit ARM cortex-MO core. The LEA module has the capability of operating concurrently with the CPU, hence allowing the CPU to perform other tasks in parallel. On top of that, it can operate even when the CPU is in sleep mode.
Texas Instruments have come up with MSP DSP library containing more than 50 functions that have been optimized for the MSP 430 series. In the event that the MSP430 configuration includes the LEA, the compiler automatically incorporates it to increase its performance beyond that stated in the MSP’s code feature.
Conclusion
The desire to have efficient DSP functionality and low power consumption have for long presented an uphill challenge for designers. The MSP430FR5994 has helped solved this problem and consequently eased the development of smart-sensing modules for IoT.