فهرست مطالب

An Overview of Embedded Systems

raspberry-pi
arduino

What are embedded systems?

تعریف:

Embedded systems are specialized computing systems that are dedicated to performing specific tasks or functions within a larger system. Unlike general-purpose computers, which can run a wide variety of programs and perform many different functions, embedded systems are optimized for particular applications and are designed to operate with limited resources.

 

History of Embedded Systems

Embedded systems have evolved remarkably since the 1940s, starting from early digital computers to today’s advanced interconnected devices. Key milestones include the creation of the first microcontroller in 1975, the boom in consumer electronics during the 1990s, and the rise of the Internet of Things (IoT) in the 2000s. Advances in microprocessors, real-time operating systems, and wireless communication have driven this evolution, transforming industries like automotive, healthcare, and consumer electronics, and enhancing the functionality, efficiency, and connectivity of everyday devices.

Embedded Systems vs. General-Purpose Computing Systems: Key Differences

1. Purpose and Functionality

Embedded Systems:

  • Dedicated Functionality: Designed to perform specific tasks. Their software and hardware are tailored to meet the requirements of a particular application.
  • مثال‌ها: Washing machine controllers, automotive control systems, medical devices.

General-Purpose Computing Systems:

  • Versatility: Capable of performing a wide range of tasks. They run various types of software and can handle multiple applications simultaneously.
  • مثال‌ها: Desktop computers, laptops, servers.

 

2. Real-Time Operation

Embedded Systems:

  • Real-Time Processing: Often operate in real-time, processing inputs and producing outputs almost instantaneously. Critical for applications where timing is crucial.
  • مثال‌ها: Anti-lock braking systems (ABS), industrial robots, real-time monitoring systems.

General-Purpose Computing Systems:

  • Non-Real-Time Processing: Typically do not require real-time processing. They focus on maximizing throughput and multitasking capabilities.
  • مثال‌ها: Office software, web browsing, multimedia applications.

 

3. Connectivity

Embedded Systems:

  • Targeted Connectivity: Often include connectivity features specific to their applications, such as WiFi, Bluetooth, or ZigBee for IoT devices.
  • مثال‌ها: Smart home devices, industrial sensors.

General-Purpose Computing Systems:

  • Versatile Connectivity: Equipped with a wide range of connectivity options, including Ethernet, WiFi, USB, and various expansion slots.
  • مثال‌ها: Networked workstations, personal laptops.

 

4. Size and Form Factor

Embedded Systems:

  • Compact and Lightweight: Often small and lightweight, making them suitable for integration into various devices without adding significant bulk.
  • مثال‌ها: Smartwatches, fitness trackers, embedded control modules.

General-Purpose Computing Systems:

  • Larger Size: Typically larger and heavier, designed to provide a broad range of functionalities with more extensive hardware.
  • مثال‌ها: Desktop towers, laptops, rack-mounted servers.

 

5. Power Consumption

Embedded Systems:

  • Low Power Consumption: Designed to be energy-efficient, often used in battery-operated or portable devices.
  • مثال‌ها: Remote sensors, mobile devices, wearable technology.

General-Purpose Computing Systems:

  • Higher Power Consumption: Generally consume more power due to their higher performance requirements and versatile functionalities.
  • مثال‌ها: Gaming PCs, workstations, data center servers.

Types of Embedded Processors

1. Microcontroller Units (MCUs)

Microcontroller Units, or MCUs, are small, integrated circuits designed to perform specific tasks in embedded systems. They are widely used in various applications, including automotive control systems, home appliances, and Internet of Things (IoT) devices.

  • مثال‌ها: 8975, STM32, and ESP32
  • ویژگی‌های کلیدی: Limited resources, suitable for executing simple, specific tasks.

2. Microprocessors (MPUs)

Microprocessors, or MPUs, are general-purpose processors typically used in more complex systems that require substantial processing power. They are used in personal computers, servers, and advanced embedded systems.

  • مثال‌ها: Intel Core series, AMD Ryzen series
  • ویژگی‌های کلیدی: High computational power, suitable for a wide range of applications requiring robust processing capabilities.

3. Digital Signal Processors (DSPs)

Digital Signal Processors are specialized processors optimized for handling digital signal processing tasks. They are highly efficient in operations such as convolution, Fourier transforms, and other mathematical computations.

  • Common Uses: Wireless communication, audio and video processing, radar systems.
  • Key Advantage: Fast execution of mathematical operations.

4. System on Chip (SoC)

System on Chip is an integrated circuit that consolidates all components of a computer or other electronic system into a single chip. They are widely used in compact electronic devices.

  • مثال‌ها: Apple A-series, Qualcomm Snapdragon, Raspberry Pi SoC
  • ویژگی‌های کلیدی: High integration level, combines CPU, memory, and peripherals, suitable for space-constrained applications.

5. Field-Programmable Gate Arrays (FPGAs)

Field-Programmable Gate Arrays are highly flexible and reconfigurable circuits. Users can program FPGAs to perform specific tasks before deployment, making them ideal for prototype design, accelerated computing, and instrument control.

  • ویژگی‌های کلیدی: Flexibility, reconfigurability, real-time performance.
  • کاربردها: Prototype design, hardware acceleration, and control systems.

Common Microcontroller Units (MCUs)

1. AT89C51 Microcontroller

The 89C51, developed by ATMEL(Microchip), is part of the 8051 family, one of the most enduring and popular microcontrollers in embedded systems.

AT89c51 MCU
  • ویژگی‌ها:

    • 8-bit architecture
    • 128 bytes of RAM
    • 4 KB of ROM
    • 2 Timers/Counters
    • Serial communication interface
  • کاربردها:

    • Simple control applications
    • Home appliances
    • Automotive systems

2. STM32 Microcontrollers

STM32 microcontrollers, developed by STMicroelectronics, are based on the ARM Cortex-M core. They offer a wide range of features and performance options, making them suitable for various applications.

میکروکنترلر STM32 F4
  • ویژگی‌ها:

    • 32-bit ARM Cortex-M core
    • Wide range of memory and peripheral options
    • Low power modes
    • High integration
  • کاربردها:

    • Industrial automation
    • لوازم الکترونیکی مصرفی
    • دستگاه‌های پزشکی

3. ESP32 Microcontrollers

The ESP32, developed by Espressif Systems, is renowned for its wireless connectivity features, making it an excellent choice for IoT applications.

ESP32 MCU
  • ویژگی‌ها:

    • Dual-core 32-bit processor
    • Built-in WiFi and Bluetooth
    • Rich set of peripherals
    • Low power consumption
  • کاربردها:

    • Smart home devices
    • کاربردهای اینترنت اشیا
    • Wearable electronics

Common Development Platforms

Arduino

Arduino is an open-source hardware platform designed to simplify the process of creating interactive embedded systems. It is popular among hobbyists and professionals for its ease of use and extensive library support.

  • ویژگی‌ها: Simple programming language, extensive hardware library.
  • Common Projects: Interactive devices, IoT applications.
Arduino Uno R3
Raspberry Pi Pico

رزبری پای

رزبری پای is a small, powerful computer capable of running complex operating systems and applications. It uses ARM architecture to deliver high performance with low power consumption.

  • ویژگی‌ها: High computational power, large storage capacity, supports various operating systems like Linux.
  • کاربردها: Education, DIY projects, home automation, media centers.

What is ARM?

ARM, or Advanced RISC Machines, is a family of microprocessor architectures known for their energy efficiency and high performance. ARM architecture was originally developed by Acorn Computers in the 1980s and is now maintained and licensed by ARM Holdings, a company based in Cambridge, England.

  • کارایی: ARM processors use a Reduced Instruction Set Computing (RISC) architecture, which simplifies instruction execution and minimizes power consumption, making them ideal for mobile devices and embedded systems.

  • Licensing Model: ARM Holdings licenses the ARM architecture to other companies, allowing them to design and manufacture their own ARM-based processors. This model has resulted in a diverse range of ARM processors across various devices.

  • کاربردها: ARM processors are widely used in smartphones, tablets, wearables, IoT devices, embedded systems, and increasingly in laptops and servers due to their efficient performance and power usage.

 

What Is Hardware, Software, and Firmware? Relationships and Differences

Hardware

Hardware in embedded systems consists of physical components such as processors, sensors, actuators, and memory. The processor and memory function like the brain, with the processor responsible for thinking and controlling the body, and memory for storing knowledge. Sensors and actuators act as limbs, helping gather perceptions and execute actions commanded by the brain. Hardware is the foundation of embedded systems; developers must design and layout hardware circuits, choosing the appropriate processors and peripherals to meet system requirements.

  • Processor: The ‘brain’ of the system, responsible for executing instructions.
  • Sensors and Actuators: Interface with the physical world to gather data and perform actions.
  • حافظه: Stores data and instructions for the processor.

نرم‌افزار

Software in embedded systems combines executable code and data, including applications, drivers, and algorithms. It acts like the mind entering data, where executable code represents behavior, and the logical operating system functions like the nervous system, providing both a material basis and regulating thoughts. Software is the core of embedded systems, where developers create operating systems and programs based on the system’s computational and control tasks.

  • کاربردها: User-level programs that perform specific functions.
  • Drivers: Interface between the hardware and higher-level software.
  • Algorithms: Perform calculations and data processing.

Firmware

Firmware is a type of software that acts as a bridge between hardware and software. It is stored in non-volatile memory and contains code and data used to control the operations and functions of hardware devices. As a bridge in embedded systems, firmware is used to initialize hardware, load operating systems, or directly execute control functions.

  • نقش: Initializes hardware, executes control functions, loads the operating system if applicable.

Typical Microcontroller (MCU) Architecture and Functions

A complete computer typically consists of a processor, memory, and input/output components.

  • Processor: If a microcontroller is likened to a factory, the processor is its assembly line and the core of its core. It is responsible for transporting raw materials from the warehouse to the workbench for processing and adjusting the production speed, corresponding to its three functions: storage, computation, and control.

  • Clock: A pipeline that builds complex systems needs a reasonable operating mechanism, and the clock provides the timing basis for the timer. When the timer reaches a preset time, it triggers an interrupt, and the pipeline receives a command to start new production, repeating this cycle to ensure overall efficiency.

  • Watchdog Timer: The watchdog timer is aptly named as a guard dog monitoring factory safety. If not fed on time, it assumes a system error, triggering a reset. For the pipeline to work normally, the supply from its warehouse must be sufficient.

  • Memory: In microcontrollers, memory is organized in a hierarchical storage scheme for efficiency: 

    • ROM (Read-Only Memory): It can only read content written before production and cannot be modified. It is used for program startup and kernel function calls.
    • RAM (Random Access Memory): Fast read/write speeds, but data is lost when power is off. RAM acts like the shelves beside the assembly line for temporary data storage.
    • Flash: Moderate read/write speed, with data retained after power loss. It functions like the warehouse storing raw materials, storing program code and burned firmware.
Microchip ROM
Microchip ROM
Hynix RAM
Hynix RAM
YMTC Flash
YMTC Flash

Input, Output (I/O) and Interaction

Embedded systems interact with the external world and other components through various methods:

  • Input/Output (I/O): Microcontrollers need to interact with external devices, akin to raw material procurement and product sales. They interact internally, like departments within a factory, achieving collaboration.

  • Analog and Digital Signals: Analog signals vary continuously, representing real-world concepts like speech and temperature, while digital signals are discrete and processed by computers. Conversion between these signals involves sampling and filtering.

  • Communication Protocols: There are four primary methods:

    1. GPIO (General-Purpose Input/Output): For digital communication, allowing input and output of digital quantities.
    2. PWM (Pulse Width Modulation): Generates analog signals by outputting rapidly switching digital quantities, controlling devices like motors and LEDs.
    3. ADC (Analog-to-Digital Converter): Converts analog signals from sensors into digital data.
    4. DAC (Digital-to-Analog Converter): Converts digital data into analog signals for output devices.
  • Internal Communication: There are three primary methods for internal communication:

    1. UART (Universal Asynchronous Receiver-Transmitter): Sends data asynchronously between two departments, much like email communication.
    2. SPI (Serial Peripheral Interface) and I2C (Inter-Integrated Circuit): These protocols are akin to company meetings, where information is broadcast to department heads. I2C simplifies wiring at the expense of speed and simultaneous communication.
  • Inter-MCU Communication: Microcontrollers also interact with each other, similar to collaboration between factories and upstream/downstream enterprises. Currently, embedded devices widely use protocols such as WiFi, NB-IoT, Bluetooth, and LoRa. Each has its strengths and weaknesses, providing options for various applications.

 

WiFi
LoRa
بلوتوث

نتیجه‌گیری

Embedded systems are vital components of modern technology, driving efficiency and innovation across industries. These systems are designed for specific tasks, offering real-time processing and targeted connectivity, which distinguishes them from general-purpose computers. With various processor types like microcontrollers and system-on-chips, embedded systems are adaptable to a wide range of applications.

Platforms like Arduino and Raspberry Pi have democratized access to embedded systems, fostering innovation among professionals and hobbyists alike. As technology continues to advance, embedded systems will further enhance connectivity and functionality in sectors such as automotive, healthcare, and consumer electronics, playing a key role in shaping the future of technology.

دریافت قیمت

وبلاگ‌های مرتبط