You are on page 1of 35

𝐈𝐈𝐈𝐈𝐈𝐈𝐈𝐈𝐈𝐈𝐈𝐈𝐈𝐈𝐈𝐈𝐈𝐈𝐈𝐈𝐈𝐈𝐈𝐈 𝐭𝐭𝐭𝐭 𝐄𝐄𝐄𝐄𝐄𝐄𝐄𝐄𝐄𝐄𝐄𝐄𝐄𝐄𝐄𝐄 𝐒𝐒𝐒𝐒𝐒𝐒𝐒𝐒𝐒𝐒𝐒𝐒𝐒𝐒

R Khuboni
Lecture 1
UKZN | EECE |ENEL4ES – Embedded Systems
Prerequisite Knowledge
ENEL3DS Digital Systems
The following basic prerequisite knowledge is examinable in this course.
Please ensure that you have acquired these skills from past courses. This will
be used and tested (no calculators allowed).

If you are here, well done for making it through digital systems. You
made it out the deep waters of assembly language.

You are close to the end of the degree…

2
Introduction
The course objective is to address the Design of Embedded Systems by looking at
the constraints that may be imposed on the design and techniques, mechanisms
and processes that may be used to ensure a correct design.
Definition and overview
• Embedded systems are specialized computing systems designed to perform specific tasks
or functions within larger systems. They are embedded or integrated into a larger device
or product, working seamlessly in the background to provide essential functionalities.
• Unlike general-purpose computers, which can handle a wide range of tasks, embedded
systems are tailored for dedicated applications, making them highly efficient and reliable.

3
Introduction
Basic components (Hardware and Software)
Hardware: The physical components that form the foundation of embedded systems.
• Microcontrollers: Integrated circuits that include a CPU, memory, and I/O peripherals, suitable
for controlling simple tasks.
• Microprocessors: More powerful CPUs capable of handling complex applications.
• Sensors: Devices that collect data from the environment (e.g., temperature, light, motion).
• Actuators: Components that interact with the physical world based on the system's output
(e.g., motors, solenoids).
• Communication Interfaces: Enable data exchange with other systems or devices
Software: The program or code that governs the behaviour of the embedded system.
• Firmware: Software embedded into the hardware, providing low-level control and operation.
• Real-time Operating Systems (RTOS): Specialized software for managing time-critical tasks and
ensuring real-time performance.
• Application Software: Programs responsible for specific functionalities.

4
Introduction
What is an Embedded System?
So embedded systems have become an unavoidable part of any product or equipment in all
fields, including household appliances, telecommunications, medical equipment, industrial
control, consumer products, etc.

5
Embedded vs General Computing Systems
Differences in purpose and design
• Embedded Systems: Designed for specific applications or tasks, often with a single purpose in mind
(e.g., controlling a washing machine).
• General Computing Systems: Designed for versatility, capable of running various applications and
supporting multitasking (e.g., personal computers, laptops).

Real-time performance vs flexibility


• Embedded Systems: Prioritize real-time performance and deterministic behaviour, crucial for time-
critical applications (e.g., anti-lock braking systems).
• General Computing Systems: Emphasize flexibility and can sacrifice real-time performance for greater
computational power and multitasking.

Resource constraints vs computing power


• Embedded Systems: Operate with limited resources, such as processing power, memory, and energy,
to optimize efficiency.
• General Computing Systems: Have abundant resources, including powerful CPUs, ample memory, and
high-speed storage, enabling them to handle resource-intensive tasks.

6
History of embedded systems
Origins in Aerospace and Military Applications
• The concept of embedded systems dates to the 1960s, where they were first used in aerospace and military
technologies. The first embedded system realized was in “MinuteMan-I Missiles” in 1962. The D-17 control
guidance computer was built using discrete transistor logic and a hard disk drive for main memory.
• Early applications included navigation systems, flight control computers, and missile guidance systems.

Evolution and advancement in technology


• As microprocessors and integrated circuits emerged, embedded systems experienced a boost in both size
reduction and enhanced capabilities. The first integrated circuit was developed in 1958 but only used in
1963. In MinuteMan II, used IC in 1966 causing a demand which reduced the prices of ICs from $1000 per
IC.
• The 1970s and 1980s saw the rise of microcontrollers, enabling widespread adoption in consumer
electronics and automotive industries.

Expansion into various industries


• As technology advanced, embedded systems found their way into diverse industries such as healthcare,
industrial automation, telecommunications, and more.
• Today, they are integral to modern life, present in smartphones, home appliances, medical devices, and
smart cities.

7
Classification of Embedded Systems
Four Categories
• We can classify embedded systems into four categories; based on generation, complexity and performance
requirements, based on deterministic behaviour and based on event or time triggered.

Generation
• First generation – first microprocessor was the intel 4004 released in 1971 (a 4-bit processor that ran at
between 46- 92Kips). It was a 16-pin chip, and it required many external devices for RAM, ROM, I/O and
Control Unit. 4-bit microcontrollers.
• Rapidly evolved to 2nd generation of 8/16 bit microprocessors/ microcontrollers. In 1974, we had 8080 (8 bit)
processor and then later in 1977, 8085 (8 bit) processor that arrived with much more in the chip. In 1980,
came the intel 8051 with I/O, RAM and ROM – pretty much the first 8-bit microcontroller.
• 3rd generation – came with powerful 32-bit processors and 16-bit microcontrollers for embedded system
developers. We suddenly had new concept of application and domain specific processors/controllers like
Digital Signal Processing (DSP) and ApplicationSpecific Integrated Circuits (ASIC).
• 4th generation was the System on Chips (SoC). We could suddenly use reconfigurable processors and multicore
processors. What is next after all? Maybe 5th generation with multi-core processors with integrated many-core
processors such as QUALCOMM snapdragon 855 with a 64-bit ARM LTE system on a chip.
• We already have the latest 10th generation Intel general purpose processor which is smaller in size to offer
better processing capabilities. We can expect the same or similar advancements for embedded processors.

8
Classification of Embedded Systems
Small-scale Embedded Systems
• Simple systems with minimal processing power and limited functionalities.
• Examples: Household appliances (microwaves, toasters), toys, digital watches.

Medium-scale Embedded Systems


• More complex than small-scale systems, offering additional functionalities.
• Examples: Digital cameras, printers, home automation systems.

Large-scale Embedded Systems


• Highly sophisticated systems used in critical applications and industries.
• Examples: Telecommunications infrastructure, aerospace avionics, industrial robotics.

9
Major Components of Embedded Systems
Microcontrollers and Microprocessors
• Microcontrollers are compact integrated circuits with a CPU, memory, and I/O peripherals on a single
chip, suitable for control-oriented tasks.
• Microprocessors are more powerful CPUs capable of running general-purpose applications.

Sensors and Actuators


• Sensors gather data from the system's environment (e.g., temperature, humidity, proximity).
• Actuators interact with the physical world based on the system's output (e.g., motors, solenoids,
LEDs).

Memory and Storage


• Embedded systems use various types of memory for storing data and program code.
• Types of memory include RAM (Random-Access Memory), ROM (Read-Only Memory), and Flash
memory.

Communication Interfaces
• Embedded systems often need to communicate with other devices or systems.
• Common interfaces include UART, SPI, I2C, Ethernet, Wi-Fi, Bluetooth, and CAN.

10
Different purpose of embedded systems
Embedded systems are used in various domains like consumer electronics, home automation,
telecommunications, automotive industry, healthcare, control and instrumentation, retail,
and banking applications, etc. Within each domain, an application may have different
functionalities.
Each embedded system is designed to serve a purpose of any one or a combination of the
following tasks:
• Data collection/Storage/Representation
• Data communication
• Data (Signal)
• Monitoring
• Control
• Application Specific User Interface

11
Data Collection/Storage/Representation
• Embedded system designed for the purpose of data collection performs acquisition of data from the
external world.
• Data collection is usually done for storage, analysis, manipulation and transmission
• The term “data” refers to various types of information, such as text, voice, image, video, electrical
signals and any other measurable quantities.
• Data can be either digital (discrete) or analog (continuous)
• Collecting analog data requires the use of an analog to digital (A/D) converters to get the equivalent
binary representation of the analog data.
• Collecting digital data doesn’t require any converters. Data can be collected directly in the system for
storage or transmitted or processed.
• Purely dependent on memory
• Embedded system independent on memory/storage, are used in control and instrumentation domain
where data is collected, processed into meaningful representation and then deletes the collected
data upon the arrive of new data.

12
Data Communication
• Embedded data communication systems are deployed in applications from complex satellite
communication systems to simple networking systems

• The data transmission can be achieved by either a wire-line medium or wireless medium.
Wire-line medium was the most common choice in the olden days of embedded systems

• As technology grew, wireless medium became a standard for data communication in


embedded system. It offered cheaper connectivity solutions.

• The data collection can be achieved using wireless modules (Bluetooth, Zigbee, Wi-Fi, etc.) or
wire-line modules (UART RS-232C, SPI, I2C, CAN, LIN, USB, Ethernet,TCP/IP, PS2, etc.)

• Certain embedded systems act as a dedicated transmission unit between the sending and receiving
terminals to serve as an encrypting and decrypting unit (Like Mobile base station between satellite
and your cell phone).

13
Data (Signal) Processing
• The data collected (voice, image, text, video, electrical signals and other measurable quantities) by
embedded system may be used for various kinds of data processing.

• Embedded system with signal processing functionalities are employed in applications


demanding signal processing such as speech coding, synthesis, audio video codec, transmission
applications, etc.

• A digital hearing aid is a typical example of an embedded system employing data processing. Digital
hearing aid Improves the hearing capacity of impaired persons.

14
Monitoring
• Almost all embedded products coming under the medical domain are with monitoring functions
only.
• They are used to determine the state of some variables using input sensors.
• They cannot impose control over variables.

• An example is electro-cardiogram (ECG) machine to monitor the patient’s heartbeat. The


machine only monitors the heartbeat, but it cannot impose control over the heartbeat.

• Another example with monitoring function are measuring instruments like digital multi-meters,
logic analysers, etc. used in control and instrumentation applications.

• They are used for knowing (monitoring) the status of some variables like current and voltage,
etc.

15
Control
• Embedded system with control functionalities impose control over some variables according to
the changes in input variables.
• A system with control functionalities contains both sensors and actuators.

• Sensors are connected to the input for capturing the changes in the environment or
measuring variable.

• The actuators connected to the output port are controlled according to the changes in the input
variable to bring the controlled variable to the specified range.

• An example of this, is an air conditioner system used to control the room temperature to a
specified limit.

16
Application Specific User Interface
• Buttons, switches, keypads, lights, speakers, display units, etc. are application
specific user interfaces.

• Mobile phone is an example of application specific user interface. In mobile phone, user interface is
provided through the keypad, graphic LCD module, system speaker, vibration alert, etc.

In summary
A designed embedded system serves any one or a combination of the six purposes (Data collection,
Data communication, Data signal processing, monitoring, control or application specific user interface.

17
Real-time Control in Embedded Systems
Importance of real-time performance
• Real-time control is crucial in embedded systems where immediate responses are required.
• Examples include anti-lock braking systems (ABS), electronic stability control (ESC) in vehicles, and
medical devices.

• Examples of real-time applications


1. Automotive: Engine control systems adjust fuel injection and ignition timing in real-time to optimize
performance and fuel efficiency.
2. Industrial Automation: Robotics systems require precise real-time control for accurate movements
and task execution.
3. Healthcare: Implantable medical devices must respond promptly to changes in a patient's condition.

18
Embedded Systems in Consumer Electronics
Smartphones, Smart TVs, and Wearables
• Smartphones and wearables (smartwatches, fitness trackers) are prime examples of highly integrated
embedded systems.
• Smart TVs incorporate embedded systems to handle multimedia processing, connectivity, and smart
features.

Home Automation and IoT Devices


• Home automation systems control lighting, temperature, security, and entertainment devices.
• Internet of Things (IoT) devices interact with each other and the internet to provide advanced
functionalities.

19
Embedded Systems in Automotive
Engine Control Units (ECUs)
• ECUs are embedded systems that control various aspects of the vehicle's engine, such as fuel
injection, ignition timing, and emission control.

Infotainment systems and connectivity


• Modern vehicles feature embedded infotainment systems that provide entertainment, navigation,
and connectivity services.

Self-driving technology and Advanced Driver Assistance


Systems (ADAS)
• ADAS technologies use embedded systems for features like adaptive cruise control, lane departure
warning, and collision avoidance.

20
Embedded systems in medical devices
Implantable medical devices
• Embedded systems are used in pacemakers, defibrillators, and neurostimulators, providing life-saving
treatments to patients.

Medical imaging equipment


• Advanced medical imaging devices, such as MRI and CT scanners, rely on embedded systems for
precise image processing and data acquisition.

Patient monitoring systems


• Embedded systems monitor patient vital signs and provide real-time data to healthcare professionals
for critical decision-making.

21
Embedded systems in industrial automation
Programmable Logic Controllers (PLCs)
• PLCs are essential in industrial automation, controlling processes and machinery in manufacturing
plants.

Robotics and Automated Manufacturing


• Industrial robots depend on embedded systems for precise control of movements and operations.

SCADA systems (Supervisory Control and Data Acquisition)


• SCADA systems monitor and control critical infrastructure, such as power grids and water treatment
plants.

22
Embedded systems in Aerospace and Defense
Avionics and Flight Control Systems
• Avionics include embedded systems responsible for aircraft navigation, communication, and flight control.
• Embedded systems in flight control ensure precise control of aeronautical systems, enabling safe and
efficient flights.

Navigation and Communication Systems


• Embedded systems play a crucial role in spacecraft for precise navigation in space and communication with
Earth.
• Satellite communication systems rely on embedded technology to transmit and receive signals across vast
distances.

Missile Guidance Systems


• Embedded systems are used in missile guidance to achieve accurate target tracking and guidance
during flight.
• These systems significantly enhance the missile's effectiveness and precision.

Dipping into different of engineering fields…

23
Sensing and Actuation in Embedded Systems
Role of sensors and actuators
• Sensors detect and measure various physical properties, converting them into electrical signals for
processing.
• Actuators respond to commands from the embedded system, effecting changes in the physical world.

Examples of sensor-driven applications


1. Home Security Systems: Embedded systems use motion sensors to detect intrusions and activate
alarms.
2. Climate Control: Temperature and humidity sensors adjust heating, ventilation, and air conditioning
systems.
3. Automotive: Embedded systems utilize proximity sensors for parking assistance and obstacle
detection.

24
Connectivity in Embedded Systems
Internet of Things (IoT) and Interconnected Devices
• Embedded systems in IoT devices connect to the internet, enabling data exchange and remote
control.
• IoT applications range from smart homes and wearables to industrial IoT for efficient monitoring and
management.

Wireless Communication Protocols (e.g., Bluetooth, Wi-Fi)


• Embedded systems use various wireless communication protocols, depending on the application's
requirements.
• Examples include Bluetooth for short-range connectivity and Wi-Fi for high-speed data transfer.

25
Security in Embedded Systems
Importance of Embedded Systems Security
• Security is paramount in embedded systems, especially in critical applications like medical devices
and autonomous vehicles.
• Vulnerabilities in embedded systems can lead to severe consequences, including data breaches and
safety hazards.

Safeguarding against unauthorized access


• Encryption and authentication mechanisms protect data and prevent unauthorized access to the
system.
• Secure boot procedures ensure the integrity of the system's software during startup.

26
Energy efficiency and Power Management
Strategies for Energy Optimization
• Embedded systems often run on battery power or have stringent energy constraints.
• Power management techniques, such as dynamic voltage scaling and clock gating, optimize energy
consumption.

Low-power modes and sleep states


• Embedded systems utilize low-power modes or sleep states during periods of inactivity.
• These modes help conserve energy while maintaining the system's responsiveness when needed.

27
Real-world examples of embedded systems
A few case studies from different industries
1. Autonomous Vehicles: Explore the embedded systems powering self-driving cars and their impact on
transportation.
2. Smart Grids: Investigate how embedded systems enhance energy distribution efficiency and enable
smart grid functionalities.
3. Healthcare Implants: Discuss how embedded systems in medical implants improve patient health and
quality of life.

28
Embedded systems development process
Design and requirements
• Define the system's purpose, requirements, and constraints to guide the development process.
• Identify the hardware and software components needed to fulfil the system's objectives.

Development and testing


• Write, debug, and optimize the software code for the embedded system.
• Conduct rigorous testing, including functional and performance testing, to ensure reliability and
accuracy.

Deployment and maintenance


• Deploy the embedded system in the target environment, considering factors like power supply and
physical integration.
• Provide regular maintenance and updates to address bugs, security issues, and evolving
requirements.

29
Software development for embedded systems
Embedded programming language (e.g., C, C++)
• C and C++ are widely used for embedded systems due to their efficiency and direct hardware access.
• Some applications might use higher-level languages like Python for prototyping and development.

Real-Time Operating System (RTOS)


• RTOS ensures timely execution of tasks and handles real-time constraints.
• Popular RTOS examples include FreeRTOS, VxWorks, and QNX.

30
Tools and IDEs for Embedded Systems
Popular embedded development tools
• Integrated Development Environments (IDEs) streamline embedded software development.
• Common IDEs include Eclipse, Keil, MPLAB X IDE, and Visual Studio Code.

• Integrated development environments (IDEs) such Proteus, Atmel


Studio, Microchip Studio, Visual Studio, Keil ARM, MPLAB X IDE, etc

31
Challenges in embedded systems design
Memory and resource constraints
• Limited memory and processing power require careful resource management and optimization.
• Techniques like code size reduction and data compression are used to fit within memory constraints.

Debugging and testing challenges


• Embedded systems often lack standard debugging interfaces.
• Emulators and simulators help debug code without physical hardware.

Security and vulnerability concerns


• Embedded systems may face security threats like unauthorized access, data theft, and malware
attacks.
• Secure coding practices and constant updates mitigate security risks.

32
Trends in embedded systems
Internet of Things (IoT) and smart devices
• The integration of embedded systems with IoT technology expands the capabilities of everyday
devices.
• IoT-enabled devices collect and exchange data, leading to smarter and interconnected environments.

Artificial intelligence and Machine Learning Integration


• The integration of AI and machine learning in embedded systems enables advanced decision-making
and autonomous behaviour.
• AI-driven applications include image recognition, natural language processing, and predictive
analytics.

33
Future of embedded systems
Advancements in hardware and microprocessor technology
• Ongoing progress in semiconductor technology allows for smaller, more powerful, and energy-
efficient embedded systems.
• Next-generation microprocessors continue to drive innovation and open new possibilities.

Expanding application areas and new domains


• Embedded systems continue to find applications in new domains, such as smart agriculture, smart
cities, and wearable healthcare devices.
• The proliferation of 5G networks and edge computing fosters even more connected and intelligent
systems.

34
Conclusion
Recap of key points
• Embedded systems are specialized computing systems dedicated to specific tasks within larger
systems.
• They are crucial in various industries, including consumer electronics, automotive, medical, industrial
automation, aerospace, and defense.
• Embedded systems enable real-time control, sensing, actuation, connectivity, and security in a wide
range of applications.

Importance of embedded systems in modern life


• Embedded systems are at the heart of technological advancements, enhancing convenience, safety,
and efficiency in daily life.
• The future promises further integration of embedded systems with emerging technologies, shaping a
more interconnected and intelligent world.

35

You might also like