Embedded Software in Industry 4.0
Reading time approx. 5 minutes – In this article, we look at the different components of embedded software. We welcome your questions and feedback on this topic. Please write to us personally.
Embedded software refers to applications that are specially programmed for a specific electronic device or machine, which by definition are not considered computers. The current industrial revolution and the associated digitalization of the economy and society are placing completely new demands on products and their developers. Today, the focus is on digitally networked and intelligent systems into which electronic devices are to be integrated. The tasks of embedded software are also changing.
It was once a means to the end of increasing productivity, simply so that certain functions no longer had to be implemented using hardware. It is now also used for data and status acquisition, communication and data transfer and enables service-driven business models. As a result, software is playing an increasingly important role in the value creation process for products.
Components of embedded software
Software developed for specific hardware is often referred to as firmware and, as a finished product, essentially contains three components.
The bootloader enables the operating system and application software to be loaded or updated in the microcontroller’s flash memory. Depending on the complexity, the bootloader monitors the flash process by means of checksum calculation, creates an EEPROM emulation and ensures greater security through encryption.
Depending on the scope of the application, embedded systems require an operating system. This is responsible for memory and file management and ensures multitasking (parallel processing of different tasks).
This part contains the device-specific functions, processes the recorded data and represents the interface to the higher-level system.
Depending on the scope and type of embedded system, individual components can also be combined or integrated.
Implemented functions in the embedded software
The software in embedded systems processes the measurement data recorded by the hardware. A so-called state machine assigns corresponding functions stored in the software to the respective environmental conditions. For example, if the measured values of a DC-DC converter show that there is a short circuit at the output, the state machine passes on the settings stored for this specific condition, e.g. deactivation of the power stage, to the hardware. Depending on customer or manufacturer requirements, the software can also activate or deactivate different components or functions, thus minimizing the number of different hardware products. This can save costs in the production process and in warehousing. One example of this was Tesla activating more battery capacity during Hurricane Irma in Florida by means of a software update.
System integration using embedded software
In the course of digitalization, electronic devices should not only process measurement data independently, but also make it available to a higher-level system or be supplied with data by it. This is only possible if the software includes modern information and communication standards. Using the example of the DC-DC converter, it is therefore not enough for the converter to recognize that there is a short circuit; it must also be able to forward this information to the appropriate places.
This system integration can be achieved with the help of various communication standards. However, integration into a higher-level system or the Internet also harbors risks. The effort required to protect the devices against cyber attacks increases massively. The principle that the system is only as strong as its weakest link applies here. Uniform standards and norms for different industrial sectors as well as data protection and IT security are crucial to the success of the digitalization of the system.
Licensing and service
In some cases, embedded software already accounts for more than 50 percent of the value creation and development process. As it is often difficult to charge for the actual development effort due to a lack of appreciation on the part of the user, various refinancing models have become established.
If a device is supplied with universal firmware, the customer can purchase licenses for unlockable functions.
– Service activities
The rapidly increasing complexity of software and its requirements can often no longer be mastered by users. This is where manufacturers increasingly come into play, providing services relating to the setup of a system, configuration of devices or maintenance.
These so-called after-sales services often achieve a higher margin than new business and can lead to increased customer satisfaction and customer loyalty in addition to increased company profitability.
Performance of embedded software
The times when the scope and functionality of embedded software was limited by insufficient memory space are long gone. Today’s processors enable software projects with a complexity that seemed unthinkable just a few years ago. With the help of deep learning algorithms, today’s applications are not only able to capture data, but also to put it into context.
The added value of a product is increasingly determined by the implemented software. Manufacturers have to recognize the needs of the market in ever shorter project cycles and implement them precisely, quickly and efficiently. This requires intelligent processes within the company that enable cross-departmental working. Companies that recognize the signs of the times early on will be able to take advantage of digitalization.