Embedded systems are the major part of our technological advances, found in everyday items such as – microwave oven, washing machine, remote control, RFID tags, routers, modems, PDAs, mobile phones etc. However, we’re in a new era of internet-based technology that has revolutionized many of these items.
In this article, we’ll explain what makes up an embedded device and what is its significance in the Internet of Things.
What are Embedded Systems?
Embedded system is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices. Its basically a combination of both hardware and software. We design an embedded system to perform a specific task. They are the most attracted device nowadays because of certain factors like low cost, low power and space consumption. In addition, they are easily portable so you can carry them around easily.
The embedded boards support different embedded controllers, developed using standard hardware and software units. The hardware components of the embedded systems include silicon, printed circuit boards, firmware, target devices, etc. Software elements include development platforms, real-time operating systems (RTOS), testing, etc. For instance, Arduino is an embedded board most of you are familiar with. The Arduino architecture is the combination of embedded Atmel controller family through particular hardware towards a board which has a built-in bootloader for plugs and run embedded applications.
Embedded systems hardware
An embedded system hardware has 5 modules: the processor, memory, input devices, output devices and bus controllers.
- Processors: Embedded processors can either be a microprocessor or a microcontroller. Microprocessors needs separate integrated circuits for memory and peripherals whereas microcontrollers have on-chip peripherals which reduces power consumption, size and its cost. They include the following:
- Microcontroller (CPU) — It is an intelligent device that computes the tasks assigned by the user. It builds small applications with precise calculations.
- System on Chip (SoC) — It is an integrated circuit that integrates all components of a computer. It comprises of CPU, peripheral devices (timers, counters, etc), Communication interfaces (I²C, SPI, UART), and power management circuits on a single integrated circuit.
- ASIC processor (Application Specific Integrated Circuit) — It is mainly designed for a specific application rather than for general purposes.
- DSP processor — removes the noise and improves signal quality in audio and video applications.
- Memory: Its the area used for storage of the data and the information. There are different types of memory for the embedded system including RAM( Random Access Memory), ROM( Read Only Memory), DRAM( Dynamic RAM) , SRAM( Static RAM).
- Input devices: Input devices capture data from the outside. They acquire data to perform the tasks in order to provide the output. Input devices include sensors, switches, photodiode, optocouplers, etc.
- Output devices: Output devices respond to input events from outside the microcontroller and display it using output device. For example, LCD (Liquid Crystal Display), seven-segment displays to display output, buzzers and LEDs for notifying purposes, and controllers such as actuators, relays etc.
- Bus controllers: It acts as a communication device. The bus controller transfers data between the components inside an embedded system. For instance, commonly used bus controllers are serial buses (I2C, SPI, SMBus, etc.), RS232, RS485 and Universal Serial Bus (USB).
Embedded software
Embedded software is written for the device drivers, operating system and applications, as well as for error handling and debugging. Software components of embedded system include:
- Device Driver: A device driver is an embedded code written for a specific piece of hardware.
- Operating System (OS) or MicroOS: Embedded systems have a gamut of operating systems, including RTOS (Real-time Operating Systems), mobile embedded, stand-alone and network embedded systems.
Most of the embedded software uses any of the two languages: C and C++. C++ has features, like enhanced security and closeness to real-world applications, whereas C is more reliable and has better performance by directly interacting with the hardware.
Role of Embedded systems in the Internet of Things
Internet of Things is the concept of connecting devices via the internet to exchange data. It is the most trending technology in this modern world as we can control the embedded devices from any location using the Internet of things. In sum, the Internet of Things (IoT) is a process in which objects are equipped with sensors, actuators, and processors that involve hardware board design and development, software systems, web APIs, and protocols, which together create a connected environment of embedded systems.
The connected environment allows technologies to connect multiple devices, platforms, and networks. Thus, it creates a web of communication that changes the way we interact digitally with the world. These connected embedded systems can change our demeanour with our environment, communities, and homes. Hence, when it comes to designing embedded IoT systems, We need to design it for specific functions, keeping in account factors like low power consumption, secured architecture, reliable processor, etc. However, designing an embedded IoT hardware system is challenging. There are several challenges designers face in designing a hardware system for embedded IoT devices which include:
- Lack of necessary flexibility for running applications over embedded systems. For instance, the issues while ensuring smooth integration of new services, difficulty in adapting to new environments, frequent changes in hardware and software facilities, packaging and integration of small size chip with low weight and lesser power consumption, carrying out energy awareness operations, etc.
- The security crisis in embedded system design.
- High power dissipation of embedded system design
- Problems of testing the design
- Also, Inadequate functional safety of safety-critical embedded systems
- Finally, Increased cost and time-to-market