What Is the Purpose of an Embedded System?


Embedded systems provide chip-level programming and are used in most of the latest technology used today. Its purpose is to control a device and to allow a user to interact with it. In order to have a real-time application guarantee in its performance, embedded systems are needed. They always function as part of a complete device which is what’s meant by the term embedded. Embedded systems have become a revolution.

The purpose of an embedded system is to enable an object to use computer programs without needing a connection to an external server or network. Embedded systems allow a computing device to be self-contained. Common embedded technologies include pacemakers, traffic lights, and smart home devices.

The Internet of things is one reason why the growth of embedded systems is expected to grow rapidly. Application such as wearables, drones, smart homes, smart buildings, video surveillance,  3D printers, and smart transportation All play a big part in the growing success of embedded systems.

Types of Embedded Systems

Standalone embedded system: not reliant on a host system nor does it belong to a host system. They perform a specialized task

Real-time embedded system: give the required output in a defined time interval often used in medical industrial and military sectors

Networked embedded system: connected to a network to provide output to other systems

Mobile embedded system: small-sized systems that are designed to be portable

Elements of embedded systems are: processors, microprocessors, microcontrollers, and digital signal processors.

Components of Embedded Systems

Power supply: Key component to provide the power to them but its system circuit usually requiring 5V or can be range from 1.8 to 3.3 V

Processor:  acts as the brain of the system responsible for deciding the performance of the better system

Memory: present in the microcontroller itself there are two types of memory, RAM (random access memory) and ROM (read-only memory)

Timing counters: used in some applications as a requirement of delay

Communication ports: type of interface that is used to communicate with other types of embedded systems, for example, UART, USB, Ethernet, RS-485, and others

Everyday Embedded Systems

From the vehicles we drive, to ATM machines, to home security systems, and even our alarm clock. They are small, fast and powerful tools used in many gadgets and equipment that have become part of our daily lives.

Traffic lights, elevators, printers, vendor machines are all embedded systems as well. The want for and need of small phones and/or computers with many functions in them while keeping those products at a  low cost is another reason why we need embedded systems. For companies, they represent strong performance. Their small size, ease of management and cost-effectiveness make them even more desirable. Not to mention their low energy consumption, durability, and low maintenance.

Every day new products are introduced into the market utilizing embedded systems in a number of ways. Its need and use is only increasing and the future for embedded systems looks bright!

But What exactly are Embedded Systems? One Way to define embedded systems is to say they are purpose-built computing platforms, designed for a specific controlled task. Another way to define them would be to say they are a microprocessor or microcontroller-based system of hardware and software designed to perform dedicated functions within a larger mechanical or electrical system.

They can be an independent system or as part of a large system. 98%  of all microprocessors manufactured are used in embedded systems.

They are managed by either a microcontroller or digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA), GPU technology, and gate arrays. These processing systems are integrated with components dedicated to handling electric and, or mechanical interfacing.

They connect with the outside world through peripherals, linking input and output devices.  Its complexity varies significantly depending on the task for which it is designed. There are some relatively simple while there are others that are now able to either supplant human decision-making or offer capabilities beyond what a human could provide.

Because embedded systems are so widely used where safety and reliability are top priorities they have received much attention to testing and debugging.

Structure of an Embedded System

Hardware

  • Sensor: measures and converts the physical quantity to an electrical signal which is then read by an embedded system’s engineer or electronic instrument. The measured quantity is then stored in the memory.
  • A-D Converter: converts from an analog signal to a digital signal.
  • D-A Converter: converts from digital to an analog signal and fed by the processor to analog data,
  • Actuator: compares the output given by the D-A converter to the actual output stored and stores the approved output.
  • Peripherals (cameras, printers, scanners, keyboards, etc.
  • I/O: devices for input and output operations
  • memory: devices for data storage

Software

  • Application Software: software that directly performs the system’s functions and interacts with end-users.
  • Middleware: A mediator that enables communication between upper and lower software levels.  Created for a definite operating system and lies between an OS and application software.
  • Operating system (GPOS, RTOS): software for setting rules and controlling system resources, Includes device drivers that provide API for upper software components and make them communicate with hardware parts. There are general-purpose and real-time operating systems (GPOS and RTOS).
  • Firmware: a built-in program written for certain hardware.

Embedded software performs high-level functions such as data processing and interaction with other devices

Characteristics of an Embedded System :

  • Single function: performs specialized function repeatedly
  • Tightly constrained: small, fast, process in real-time, minimum power consumption.
  • Reactive and Real-time: reacts to changes in systems environment and computes results in real-time.
  • Microprocessor-based: must be microprocessed or microcontroller-based
  • Memory: must have memory, as software embeds in ROM.
  • Connected: must have connected peripherals to connect input and output devices.
  • HW-SW Systems: software is used for more features and flexibility and hardware is used for performance and security.

Embedded database systems are database management systems (DBMS) built or integrated into an application effectively hiding or minimizing interaction with the database by an application’s end-users. This has two primary benefits, reduces latency and network I/0 load from network calls between the application and the database.

It also provides a better end-user experience both from reduced latency and quicker access to data.

Common Embedded Database Systems

Inter systems Cache, IBM Inform, Actian PSQL, Progresses OpenEdge, Apache Derby, HSQLDB, Oracle Times Ten, InterBase, Raima Database Manager (RDM), and db4o which has been discontinued.

Embedded systems design is a productive synergy between hardware and software design. Another way to explain this is, it’s choosing and designing the proper combination of hardware and software components to achieve design goals like speed and efficiency.

Design of Embedded Systems

Steps in the embedded system design process: abstraction, hardware/software architecture, extra-functional properties, a system-related family of design, modular design, mapping, user interface design, and refinement.

Design engineers can optimize it to reduce the size and cost of the product and increase reliability and performance. Some being mass-produced to benefit from economies of scale.
For a long time, embedded systems have been used in many critical application domains for example, in avionics and traffic management systems.

The dependence we have on the embedded systems requires the development and adoption of new architectural and design techniques in order to meet necessary performance requirements and to achieve the required dependability using their limited resources in terms of processing memory and power.

The criticality for Services and economic growth has led to significant efforts to address the challenges placed by embedded systems development and deployment. embedded systems will continue to grow and create and we will continue to enjoy its innovations.

Security of Embedded Systems

Cybersecurity terms

The following are important terms to know when looking into embedded systems security:

  • An attack vector is a path an attacker or malicious process could take to compromise a system. For example, flash drives, the Internet, network protocols and disks are all embedded systems attack vectors.
  • An attack surface is a target point of exposure or the end goal of the attack vector. A network driver, a user application and a file system are examples of an attack surface.
  • A threat actor is a source (software or person) with malicious intent.
  • An attacker is an individual performing a malicious act in real-time.
  • A vulnerability is a weakness that can be exploited by a threat actor to perform unauthorized actions within an embedded system or computer.

There are two types of security that apply to embedded systems:

1. Physical security, such as locked doors and surveillance cameras

2. Software security, which manages and responds to malicious behavior happening in the system

Embedded Systems must have protection from physical, encryption, software, and network-based attacks. So how is this achieved? This microcontroller-based, software-driven, reliable, real-time control system has a cybersecurity field focused on preventing malicious access to the use of embedded systems.

Providing mechanisms to protect a system from all types of malicious behavior. For security to be effective 100%, it needs to be included in the early stages of design. There are different security solutions available since not all embedded systems are the same.

Depending on the risk of attack, available attack vectors, and the cost of implementing a security solution; is the type and level of security needed.

The following is a list of security methods and their purpose:

Secure boot:  To ensure firmware has not been tampered with, a cryptographically signed code from the manufacturer along with hardware support to verify code is authenticated is needed.

Secure code updates:  This ensures that their code on the device can be updated for bug fixes, security patches, etc. The use of the signer’s code (secure boot), ensures that malicious coders cannot be introduced into the system.

Data security:  Prevents unauthorized access to the device, encrypted data storage, and/or encrypted communication.

Authentication:  All communication with the device must be authenticated using strong passwords or use of an authentication protocol.

Secure communication:  Communication to and from the devices needed to be secured by using encrypted communication (SSH, SSL, etc.).

Protection against cyber attacks:  Embedded firewalls are a critical layer of protection against attacks. It can limit communication to only known, trusted hosts, blocking hackers before they launch an attack. Some common attacks are packet flood attacks, buffer overflow attacks, and known protocol exploits. A firewall will implement many of these protections, however, some must be built into the embedded applications.

Intrusion detection and security monitoring:  The IDS requirements for embedded devices will depend upon the protocols supported by the device. For this reason, monitoring requirements for embedded devices are different than enterprise requirements. It is extremely important to detect and report invalid login attempts and other potentially malicious activities.

Embedded security management:  Integration with a security management system allows security policies to be updated to mitigate against known threats.

Device tampering detection:  Some new processor/board designs include device tamper deflection capabilities. Also providing the ability to detect that the seal on the device enclosure has been broken, indicating someone may be attempting to tamper with the device.

Overview of Embedded System Security

In conclusion, building protection into the device itself provides a critical security layer. Support for secure boot or device detection requires specific hardware capabilities.  Hardware is typically selected early in the design phase and many embedded devices are deployed outside of the standard enterprise security perimeter.

For these and many other reasons, it is critical that security be included in the device itself. In other words, for the best protection for today’s modern devices and systems against the advanced cyber – threats they will be facing this would be the smartest way to go.

Concluding Statements

It is important we learn as much as we can about embedded systems since they are all around us and will continue to play an important role in our lives. A fail in certain embedded systems could be tragic which is Another reason for us to be up-to-date Whether it be for security or in the latest version of embedded systems.

We can find embedded systems in MP3 players, mobile phones, video game consoles, digital cameras, DVD players, GPS systems, microwaves, washing machines, dishwashers, Virtual Reality, Smart Homes, communication, Aerospace, military, smart cities. It has practical use automotive sector, healthcare functionality, agricultural devices, and safety equipment.

Embedded systems help lower energy consumption, They are vital to modern society given they are purpose-built for specific applications enabling designs and optimizations that make it possible for us to enjoy the benefits of technology while minimizing the cost and power consumption.

Embedded system design is a very important part of embedded systems therefore specialized engineers work hard to perfect this process. They are responsible for the design, development, production, testing, and maintenance of embedded systems.

They are required to have fluency in the programming languages used to write an operating system they need to have an understanding of hardware at the component level and they must have an ability to straddle software and hardware with ease.

 

 

Gene Botkin

Gene is a graduate student in cybersecurity and AI at the Missouri University of Science and Technology. Ongoing philosophy and theology student.

Recent Posts