Embedded Systems – What is it?
Basically, in very simple terms, “embedded systems” refers to a very small computer that is integrated into a larger system, performing a single, very specific function – compared, for example, to a personal computer for users, which offers a very large number of functions with diverse user interfaces (where embedded systems are in turn located in a computer). These are therefore microcontrollers or microprocessors that do not require an operating system or user interfaces (such as monitors or keyboards) and perform only a single function. Of course, there are variants here as well; there are even special embedded systems operating systems such as Embedded Linux, Embedded Java or Windows IoT (formerly called Windows Embedded). We will come back to these differences in a moment and explain in more detail what is available in embedded systems. However, the characteristic features of embedded systems are clear: they are task-specific, they usually consist of hardware and software (as well as firmware, more on this in a moment), and they are based on microprocessors or microcontrollers, i.e. on integrated circuits (ICs). Embedded systems are particularly well suited for real-time applications and the Internet of Things.
Embedded systems are often used in a technical context, i.e. the embedded system often has to take over control functions, often in near-real-time approaches. Monitoring functions or data and signal processing are also among the typical tasks.
So in a vehicle, we’re talking about many, very small mini-computers that are used to control various elements in the car, for example, the parking aid or the brakes, airbags, even the engine – especially also when we’re talking about driver assistance systems or even autonomous driving, and this often has to happen in near real time. This task, or individual sub-steps, are performed by embedded systems, which makes the possible areas of application very broad. When many embedded systems interact with each other, extremely complex applications are possible, and since the microcontrollers and processors used only perform individual tasks, malfunctions can be easily found and corrected, and of course existing tasks can be continuously improved.
Since these systems perform fairly basic functions, many factors play a role in their efficient use – above all, space consumption must generally be very low, as must energy requirements and production costs. On more complex microprocessors, firmware is usually installed that controls the desired functions and cannot be changed by the user, hence the name “firmware”.
Of course, there are also embedded systems that do not work with microprocessors and firmware, but run only on bare metal due to an extremely specific application and are programmed with the language of the chip CPU. The principle is reminiscent of the first computer games, such as “Pong”, in which the circuits recorded and implemented the player inputs; no software was required. Generally speaking, software is not absolutely necessary; almost any functionality can also be implemented on the hardware side (see also our article on hardware-based security). However, software has proven to be practical as an abstraction layer between humans and hardware, especially when the computing task becomes more complex.
Embedded Systems – Soft, Hard, Real-Time? What are the classifications?
So in the automotive sector, it depends on the complexity of the task whether a microcontroller or microprocessor is used with software or even firmware.
A distinction should also be made between “soft” and “hard” real-time requirements. The difference here lies in the time priority: In soft embedded systems, it is important that a task is executed, but the time value required for this is not critical. One example would be the infotainment system in the car. Of course, this should run, and it should do so quickly and reliably, but milliseconds in the processing of the signal entered by the user (e.g. to increase the volume) are not critical.
In contrast, there are hard real-time systems, such as brake assistants in vehicles – these systems have very tightly calculated deadlines within which the task must be completed reliably. In the case of the brake assistant, immediately when the braking process has to take place, for example, in order to give a pedestrian who has spontaneously stepped onto the road a beastly fright, but of course also to spare him or her with literally unconditional safety. Therefore, there are also safety-critical and non-safety-critical systems here, whereby the latter are really only found in the consumer area (which also includes the infotainment system in the car, versus the brake assistant, which is safety-critical per se).
There are also embedded systems that fulfill both requirements, i.e. work in a time-critical and event-based manner – we call this a “hybrid system” because here continuous tasks meet direct tasks. Embedded systems were also purely monolithic at the beginning of their introduction, but today they are mostly distributed in the system.
However, an embedded system is always a computer, with or without software/firmware, which reacts to environmental processes independently of its use as a reactive or dynamic element.
Embedded Systems – Examples in Everyday Life and Automotive
Do you know when you have received an explanation but can’t do much with it? We would like to prevent this at Mobility Rockstars, so here are a few very concrete examples of the use of embedded systems:
- Central heating systems (here microcontrollers take over the temperature control)
- Navigation systems (positioning determination)
- Fitness tracker (one embedded system measures heart rate, one measures steps, one sends data to the cloud via LTE)
- Pacemaker (keeps things going!)
- Car anti-lock braking system
- Infotainment system (e.g. each controller performs a function such as relaying the song title to the radio’s display, a controller increases the volume at certain tempo thresholds, which in turn are also relayed by a controller)
- Electric tickets (contain a chip that electronic ticketing systems can read)
- Production lines (for car manufacturers, embedded systems take over individual elements in robotics, and in Industrie 4.0 companies, embedded systems can also support A.I. based learning and machine learning, for example for error detection or also the execution of movements and other work steps)
The powerful mini-computers that come under the heading of embedded systems thus take on a wide range of tasks that we constantly encounter not only in vehicles or industry, but also in everyday life. Because microprocessors and controllers perform only single tasks, they can be much smaller, less expensive, and more energy efficient than end-user computers that must conveniently provide a large mass of functions.
Even when shopping at the self-checkout, we encounter embedded systems – various embedded systems are built into the fancy checkout with touchscreen (i.e., the visual and interactive user interface), which do things like recognize the merchandise and its price, issue a price at the end, recognize the band’s chip card (another embedded system), and allow payment.
There are hardly any purely mechanical functions left in modern vehicles, so embedded systems are everywhere and are constantly growing in importance, which brings us directly to the next question.
Is Embedded Systems the Future?
Sometimes, as an author, you’re tempted to just say “yes” and move on to the next point. Of course, you’ll want to be a little more specific, though, so let’s put it this way:
As more and more functions in the car need to respond in real time and the number of functions continues to grow, we also need more and better and more complex embedded systems. Take a ’67 Ford Mustang for comparison: a great car, coveted by collectors and enthusiasts around the world. This car does not have a navigation system, head-up display or heated seats. No ABS, steering assist, drowsiness warning or parking system. Things that we take for granted today, like turning up the volume of the car radio on the steering wheel when the new song is really rocking us, didn’t exist in the Mustang, which of course is only original in Montana Green Metallic.
And that is just a tiny fraction of the functions available to us in modern vehicles. People who don’t drive a new car often don’t even know what’s available. Those who do know, however, are embedded software developers, engineers in electrical engineering, Java developers and all the other professionals working in Industry 4.0, robotics, data science, automotive or software. Because they continue to research every day to provide us with even smaller, even more effective, even more complex embedded systems, covering everything from basic improvements to absolute luxury.
In addition, microcontrollers are very efficient in debugging. Of course, a classic computer reading an ECU can execute programming code and run debugging applications – the classic embedded software programmer cannot do this in this way. Nevertheless, many programming languages run very effectively on microcontrollers, so debugging can be started directly on the chip, which saves time.
And then there’s the much-cited, almost infamous Internet of Things, usually abbreviated “IoT.” A separate article would be needed on the terminology itself – feel free to let us know on LinkedIn or via the contact form if you wish. In summary, however, it can be said that the Internet of Things is constantly developing and spreading through embedded systems, and this despite the fact that embedded systems are fundamentally simple in nature, at least in comparison with other computers. We already mentioned the example of wearables such as a fitness tracker bracelet. Here, a single embedded system – that is, we remember, a “microcontroller” or, if more complex, a “microprocessor”, in other words, a very simple, very small computer – performs the task of counting steps and sending them to the cloud, for example. Other examples would be video surveillance, in which a system embedded microcontroller regularly sends images to a cloud, or a 3D printer, in which embedded systems control temperature and material consumption.
Embedded Systems at Cognizant Mobility
The development of embedded systems within Cognizant Mobility takes place not exclusively, but for the most part, at our site in Fulda took place, which was held under the direction of Jens Schmidt next to the activity in the Autosar body or the development of the forklift warning system, we also supervised various embedded systems projects, such as the development of the Digital Car Key and also the technically closely interlinked area of the High Performance Computings you can find there. At other locations, such as Munich, we are also working on hardware-based security, for which you can find an interesting article at this link.
If you are interested in what exactly we are developing in the area of embedded systems and how we can potentially help your company as well, feel free to contact us and we will be happy to talk with you.
In addition, subscribe to our free newsletter, which contains news and trends from the automotive industry in addition to the topics of this blog, and thus always for exciting articles delivered free and directly to your mailbox. Here you can get to the form and register.
Thanks for reading, stay healthy.