Embedded devices are often responsible for monitoring and controlling their environment. The too slow evaluation of acquired data, the missing of an important event or the too late triggering of system components can have fatal consequences and, depending on the application, lead to drastic production losses or system crashes.
The real-time control of sensors and actuators guarantees that the ambient conditions can be reliably monitored and the system can react in time if required. In addition to the system architecture, the correct control of the components involved plays an important role in the realization of reliable control logic.
An energy-efficient implementation of the system ensures that no unnecessary computing and energy resources are consumed. A good resource management activates the existing modules only when needed and puts them back into sleep mode after they completed their task. An energy-efficient implementation of the signal processing algorithms optimally utilizes the available computing power and thus contributes to a low energy consumption and/or a high computing performance of the overall system.
For the implementation of real-time control logic and energy-efficient signal processing, various technologies are available that can be used individually or combined.
MCUs and DSPs: System-on-chips (SoCs) based on Microcontrollers (MCUs) or Digital Signal Processors (DSPs) are ubiquitous in embedded devices. With the optimal programming of the processing core and its connected modules, a powerful system can be developed.
RTOS: Real-time Operating System
Multicore: By optimally distributing the workload across multiple processing cores, data throughput can be significantly increased.
SIMD: Modern MCUs and DSPs feature Single Instruction Multiple Data (SIMD) instructions to speed up digital signal processing algorithms.
GPU: Graphical Processing Units (GPUs) were originally developed for processing images and graphics, but their architecture also makes them ideal for more general signal processing tasks.
FPGA: Typical applications for field programmable gate arrays (FPGAs) are high-performance data processing or very fast response times for the control of sensors and actuators. The FPGA handles the task autonomously or serves in combination with MCUs or DSPs as an acceleration unit for more complex algorithms.