BASIC KNOWLEDGE - EMBEDDED SYSTEMS What are embedded systems, and where are they used?
Embedded systems are more ubiquitous than we realize, but what exactly are they, and where are they used? This article compares embedded systems to desktop/laptop PCs, considers their advantages and disadvantages, and looks at some applications and examples.
We are all familiar with microprocessors such as Intel’s Pentium series, because they power our everyday electronics devices: desktop and laptop PCs, tablets, and smartphones. However, these microprocessors, and many other types besides, also facilitate another type of machine that is equally ubiquitous but less obvious – the embedded system.
In fact, only 53 % of the microprocessors sold in 2017 were computer CPUs. 32 % were in tablets and smartphones, while the remainder was placed in embedded processing (IC Insights) .
This article examines exactly what an embedded system is, together with its advantages and disadvantages. We then look at some applications and examples of embedded systems.
What is an embedded system?
Unlike, say, a laptop, which can be taken anywhere and used for any application, an embedded system is designed for, and dedicated to, one specific device or machine, and is used to control its operation. The ‘device or machine’ can be anything from a smartwatch to a large medical imaging system or robot, and, as its name suggests, the embedded system is normally embedded within it.
BASIC KNOWLEDGE - PID CONTROLLER
PID Controller - Definition and explanations
Because of its control function, the embedded system must be capable of monitoring sensor inputs, such as temperature, voltage, or video, performing control and possibly analytical calculations on the measured data, and setting outputs to actuators such as displays, lights, motors, or valves accordingly. The embedded system must therefore have a set of input ports which are electrically and physically compatible with the sensors they are monitoring. They should have the right range and scale, with suitable precision and accuracy. Resistance to corruption or damage from electrical interference should also be built in. Outputs with sufficient power to drive the actuators must also be provided, together with electrical isolation between the power and control circuits.
Embedded system packaging – the enclosure that houses the electronics and power supply – is also an important consideration, as embedded systems are frequently installed into locations with challenging environmental conditions. Ingress of dust and other objects, moisture or even water can be a threat, for example. The solution is to build the embedded system into an ‘IP (Ingress Protection) rated’ enclosure, with an IP rating sufficient to withstand the target environment. The IP ratings are defined by IEC 60529 .
Temperature management is another critical factor, especially as embedded systems are often built into small, constrained spaces not amenable to easy heat extraction - a situation that can be exacerbated if the operating environment is at an elevated temperature. Although active cooling systems can be designed in, a better solution is, if possible, to use cool-running CPUs that operate without fans. This saves space and cooling energy, and also improves reliability as there are no fans to fail. Additionally, eliminating venting makes IP protection easier.
The use of solid-state hard drives, and vibration isolation mounting kits , may also be necessary for installation into locations subject to shock and vibration, such as trains or ships, or in a mine with blasting and drilling operations.
Embedded systems vary greatly in size, depending on the number of inputs and outputs they must control, and the speed and complexity of the control functions needed. A smart watch controller, for example, would need to be implemented on a single, small, printed circuit board. A more typical approach for larger applications, however, is to use an industrial PC because of its flexibility and scalability, and, to an extent, its use of standardized hardware and software components.
EMBEDDED SOFTWARE CHALLENGES
Challenges of Embedded Software Engineering
Architecturally, an embedded PC is like its desktop counterpart, but its hardware implementation will be very different, for the environmental reasons described above. Another major difference, however, is in the operating system. A desktop environment like Windows 10 is unlikely to be suitable, as it is not designed to provide a control function in handling real time events. Instead, a real time operating system (RTOS) is used to provide the functionality essential to real time control.
Firstly, an RTOS provides a fast and deterministic response to events that it is measuring; ‘deterministic’ means ‘capable of responding within a guaranteed time frame’. Then, the RTOS must be able to switch between tasks rapidly to respond effectively to multiple and possibly random events as they occur. To optimize an implementation for an application, it must be possible to assign priorities to the tasks, to reflect those of the processes they are supporting.
RTOSs should also demonstrate high levels of safety and reliability. They should include support for a watchdog timer, allowing them to reset automatically following a software lock-up.
Embedded system advantages and disadvantages
Embedded systems offer both advantages and disadvantages compared with desktop or laptop PCs – although some features’ status as an advantage or disadvantage depends somewhat on the application.
Advantages of embedded systems
They can be lower cost through being dedicated to a single application. High-performance graphics could be excluded, for example; some systems may not have a graphical user interface at all. Other systems may have processors of limited performance and power demand, if the target application dos not need high performance processing. Such systems would also have low power requirements, and some may even run on batteries. Embedded systems can also be extremely compact and easy to locate, especially if they do not require a large free space envelope around them for ventilation.
Additionally, embedded systems are extremely reliable, because they have to be, to meet the demands of their application. They can survive harsh environmental and electrical conditions, and possibly even intentional abuse – useful if in a public location, for example.
Gen2 0.13 micron embedded flash process for automotive semiconductors
Disadvantages of embedded systems
As embedded systems tend to be designed to handle one specific task only, reassigning them to a different application may be difficult. There may be few or no spare communication ports, or expansion card slots. Additionally, their RTOS will not be like desktop Windows in supporting a wide range of software applications – and even if it did, power and memory to process them may be limited.
When comparing desktop and embedded systems of similar performance, an embedded system will probably be more expensive. This is because embedded system production volumes, and therefore opportunities for cost amortization, will be less. Embedded system designs also tend to use higher quality and more expensive materials and components, for greater durability and reliability.
Embedded system applications
Above, we have mentioned that embedded systems are found within all sizes of application, starting with smart watches. Other small examples include:
- GPS receivers
- digital cameras
- gaming consoles
- wireless routers
Smartphones are interesting devices in this context. They exhibit many of the characteristics of an embedded system – yet they can also accept and run user-specified apps, making them in that respect like desktop PCs!
A similar argument could be used for programmable logic controllers (PLCs), which are widely used in industry. They are typically based on an industrial PC architecture, so, although they have embedded system characteristics such as rugged construction and an RTOS, they also have a desktop PC-type ability to accept different applications – certainly at the time when they ship from their original manufacturer. Other – and more dedicated - larger scale applications include:
- industrial robot arm controllers
- traffic light controllers
- security systems
- aerospace applications
- process control systems used in manufacturing
Embedded system examples
One modern example of an embedded system is a horticultural controller, used to boost plant and crop productivity through greenhouse automation. A greenhouse environment climate control computer is connected to sensors and actuators that monitor and control temperature, humidity, electrical conductivity, pH, carbon dioxide (CO2), fogging, and shading, and read external weather conditions via a weather station.
The information gathered helps to control not only specific elements within the internal growing environment, but also saves time, energy costs and labor. The software also includes an irrigation schedule to control up to five different feed formulae and expandable zones.
Another increasingly popular use for embedded systems relate to home automation controllers. These can integrate and control security, access control, heating and air conditioning, lighting, and entertainment within one system. Such systems can also be connected to the IoT for remote monitoring and control.