Sanet - ST B0CZ9R9GTL
Sanet - ST B0CZ9R9GTL
Sanet - ST B0CZ9R9GTL
Systems
Koso Brown
Copyright 2024© Koso Brown
All rights reserved. This book is copyrighted and
no part of it may be reproduced, distributed, or
transmitted in any form or by any means,
including photocopying, recording, or other
electronic or mechanical methods, without the
prior written permission of the publisher,
except in the case of brief quotations embodied
in critical reviews and certain other non-
commercial uses permitted by copyright law.
Printed in the United States of America
Copyright 2024© Koso Brown
Contents
Introduction .............................................................. 1
Chapter 1 .................................................................. 3
What is an Embedded System? .................................. 3
Chapter 2 ................................................................ 15
What's the process of an embedded system? ........... 15
Chapter 3 ................................................................ 24
Debugging Embedded Systems ................................ 24
Chapter 4 ................................................................ 34
What role does Arduino play in embedded systems? 34
Chapter 5 ................................................................ 39
Embedded systems' purpose.................................... 39
Conclusion............................................................... 52
Introduction
The Apollo Guidance Computer, created in the 1960s
by Dr. Charles Stark Draper at the Massachusetts
Institute of Technology for the Apollo Program, was
the first contemporary embedded computer system
to operate in real-time. The purpose of the Apollo
Guidance Computer was to automatically gather data
and perform computations essential to the Apollo
Command Module and Lunar Module's missions.
2
Chapter 1
4
❖ Healthcare equipment. These might have
embedded mechanisms, such as control and
sensor systems. Industrial and medical
machinery alike need to be extremely user-
friendly to avoid avoidable machine errors
endangering human health. This implies that
they frequently have a more sophisticated OS
and GUI made for a suitable user interface.
❖ Smartphones. These include a variety of
embedded systems, such as input/output
(I/O) modules for the USB (Universal Serial
Bus), cameras, microphones, operating
systems (OSes), and GUI software and
hardware.
❖ Automobiles. Many computers, often as
many as 100, or embedded systems, intended
to carry out various functions within the
vehicle, are a frequent feature of modern cars.
While some of these devices carry out simple
utilitarian tasks, others entertain or engage
the user. Airbags, cruise control, backup
sensors, suspension control, and navigation
5
systems are a few embedded systems found in
consumer cars.
6
So, learning the fundamentals of electronics should
come first. Most likely one of the most crucial points.
Since electronics permeates everything we discuss
here, learning about electrical components—
including how they function and are used—will be
crucial to grasping embedded systems. Since
electronic components are used throughout the
construction of embedded systems, you should learn
as much as you can about them. But the first step in
getting started is to comprehend the items listed
below.
7
Switching devices: relays
8
activates a device known as a relay. The main AC
appliances can then be switched using this relay.
9
LEDs
✓ Expansion
✓ Generation of oscillation
11
various uses in analog circuits such as
oscillators and amplifiers. It is a
straightforward three-terminal device that
may be purchased as an NPN or PNP
transistor. How they conduct and govern
electricity is different.
Diodes
Capacitors
14
the same manner in circuits connected in either
direction. We can control the amount of current that
flows through a circuit by utilizing resistors
Chapter 2
15
The processor could be a microcontroller or a
microprocessor. Microcontrollers are essentially
microprocessors with built-in integrated memory
and external ports. Memory and peripherals are not
built into microprocessors; instead, they are used by
separate integrated circuits. Both are functional, but
because microprocessors have less integrated
circuitry than microcontrollers, they usually need
additional support circuitry. One often uses the term
system on a chip (SoC). On a single chip, SoCs have
several processors and interfaces. They're frequently
16
applied to embedded systems with large volumes.
Application-specific integrated circuits (ASICs) and
field-programmable gate arrays (FPGAs) are two
examples of SoC kinds.
17
Features of embedded systems
The primary attribute of embedded systems is their
task-specific nature.
Moreover, embedded systems may include the
following features:
18
purpose;
❖ Often comprises firmware, software, and
hardware;
20
The sensor receives input from the outside world,
converters make it legible for the CPU, and the
processor then converts that data into output that the
embedded system may use.
Embedded system types
A few fundamental types of embedded systems exist,
with varying functional needs. They are as follows:
21
two examples of this.
❖ Embedded networks are wired into a
network to supply output to other systems.
Point of sale (POS) systems and home
security systems are two examples.
❖ Mobile embedded systems are compact
systems made to be carried around. Take
digital cameras as an illustration.
❖ Preemptive multitasking or
multithreading has synchronization and
job-switching techniques, and it is frequently
used in conjunction with an RTOS.
❖ Cooperative multitasking is essentially an
application programming interface (API) that
has a basic control loop.
❖ Interrupt controlled systems possess a
primary loop and a secondary loop. Tasks are
initiated when loop disruptions occur.
23
❖ Simple control loops are called subroutines,
which are used in embedded programming or
hardware to control a particular component.
Chapter 3
24
Certain programming languages are efficient enough
to operate on microcontrollers, allowing for on-chip,
basic interactive debugging. Furthermore, a JTAG or
comparable debugging interface can be used to
control CPU debuggers on CPUs, which in turn
controls program execution.
However, programmers frequently require tools that
connect an independent debugging system via a
serial or other connection to the target machine. In
this example, debugging software on a desktop
computer is analogous to the programmer seeing the
source code on the screen of a general-purpose
25
computer. Alternatively, and more commonly,
software can be used to simulate the physical chip on
a PC. In essence, this enables debugging the
software's performance as though it were operating
on a real, physical chip.
In general, testing and debugging of embedded
systems have gained increased attention because
many devices that use embedded controls are
intended for use, particularly in scenarios where
dependability and safety are of utmost importance.
26
An embedded design is quite easy to construct. All
that will be included is the microcontroller unit,
which will handle the tasks of driving the display,
reading sensors, and switching output devices
(relays). The controller's software controls how the
device reads the temperature sensor, outputs the
value, and performs all of these functions. Unlike
typical analog or digital circuits, an embedded
controller cannot operate directly. Rather, an
embedded microcontroller requires a program to be
stored in its memory that will handle device control.
An IC that can be reconfigured is the microcontroller.
27
The microcontroller's pins are capable of doing many
tasks such as input, output, analog input, and more.
The behavior of the microcontroller's pins can vary
depending on the software that has been written.
Understanding microcontroller architecture is
necessary to become proficient in microcontroller
coding. We can begin developing the programs for
the microcontroller once we have thoroughly studied
its architecture. However, many people are unable to
directly plunge into embedded systems due to this
significant constraint. The Arduino board enters the
scene at this point. We don't need to understand
anything about the underlying hardware—referred to
as the microcontroller board—to program an
Arduino board. Soon, we'll go into more detail on the
Arduino board.
28
How is an embedded system constructed?
Thus, an embedded system is constructed with this
kind of microcontroller at its core. All of the relevant
input and output devices are either directly
interfaced with the microcontroller in an embedded
system or connected to it through a driver circuit.
The components depicted in the diagram below may
comprise all or some of an embedded system,
depending on the specific application.
29
What are the different components of Embedded
Systems?
30
A controller is an embedded system's central
component. It is the responsibility of a controller to
process inputs and produce outputs. The internal
controller of a temperature controller is responsible
for reading the switches and the temperature value.
Next, control output devices by comparing the
temperature value with a predetermined point. All of
these functions are not available to controllers out of
the box; instead, software must reside inside each
controller to perform these functions. Software
programming for embedded devices becomes more
in demand as a result.
✓ Microprocessor
31
✓ Microcontroller
Outputs This is the only reason any system is
designed. We must provide results. Typically, a range
of driver circuits that can produce output action are
used to generate outputs. If microcontrollers are
utilized, their output can only produce modest
signals. either +3.3v or +5v as the output voltages.
Since these voltages are so low that they are unable
to directly drive any output device, we require an
output driver to turn on and off devices. The
examples of embedded system outputs below,
together with the corresponding drivers,
32
driver)
33
Chapter 4
36
However,
✓ It is inexpensive.
✓ Open-source and cost-free
✓ It is possible to prototype quickly.
37
✓ Almost all interfaces have a large number of
clean libraries accessible.
38
Chapter 5
40
Independent Embedded system
Described as autonomous or stand-alone, an
embedded system functions independently and
doesn't need a host system, such as a computer, to do
so. It does not require a connection to any other
network or system to gather input data, process it,
and carry out the necessary operation. Microwaves
and other appliances that measure temperature are
common examples.
41
Mobile Embedded System
Any embedded system employed in a compact,
portable device is referred to as a mobile embedded
system. They are present in digital cameras, watches,
music players, and cell phones in addition to other
devices. They are typically rather basic and need little
power and memory.
Debugging
Lastly, a software tool for testing and debugging is the
42
debugger. It is in charge of going over the code,
eliminating bugs and other mistakes, and
emphasizing the precise places where they happened.
Debuggers enable programmers to quickly fix issues.
Emulator
This part operates the embedded system in a
simulation environment and makes it act like a real-
life system. In short, it helps guarantee optimal
written code performance by simulating software
performance. To get a sense of how the code will run
in real-time, utilize the emulator.
Assembler
This differs slightly from the procedure that a
compiler uses. Written code is translated straight
43
into machine language by the compiler. Conversely,
the assembler translates source code into object code
first, and then object code into machine language.
Text Editor
The first piece of software required to construct an
embedded system is a text editor. Writing source
code in the C and C++ programming languages is
done with this editor and then saved as a text file.
Compiler
Creating an executable program is the main duty of
this component. The machine needs to comprehend
the code once it has been prepared in the text editor.
44
The compiler assists in this by converting the written
code into low-level machine language. Machine code,
assembly language, and object code are a few
examples of low-level languages.
Self-serve terminals
Interactive self-service kiosks provide consumers
with services and information in settings where it is
impractical for a human employee to be present.
Imagine a ticket office serving patrons of a 2 a.m.
showing at a largely deserted theater. There are many
45
different types of self-service kiosks, such as snack
vending machines and filling stations equipped with
self-checkout systems. Airports, department stores,
healthcare facilities, public buildings, and several
more places have these kiosks. The processing power
needed for these kiosks to give clients an interactive
experience is provided by embedded systems.
Manufacturing
Robots are used in many procedures in factories
today that call for high-precision precision work,
hazardous work environments, or both. Robots used
46
in typical automated tasks must be equipped with
sensors, actuators, and software that enable them to
"perceive" their surroundings and produce the
necessary results effectively and safely. To do this,
robots are outfitted with embedded systems that
connect them to a variety of subsystems.
47
Automated Teller Machines
Globally employed in the banking industry,
automated teller machines (ATMs) are sizable
computerized electronic devices. An ATM uses a
network connection to communicate with the host
bank computer during a transaction. The information
processed during the transaction is stored by the
bank computer, which also checks the data entered.
Simultaneously, the ATM displays transaction data
from the bank computer and processes user inputs
from the field using embedded devices.
Home Entertainment
Televisions and other entertainment devices are
commonplace in households all around the world.
When it comes to reading inputs from ports like the
antenna, DisplayPort, HDMI, and Ethernet,
embedded systems are essential. In addition, remote
controls send out infrared signals that televisions can
read. Even the operating system on smart televisions
supports streaming media and the internet. These
48
tasks are critical to embedded systems, which are
becoming more and more popular as new methods
for improving the intelligence of home entertainment
are found.
49
cards. To maintain the mechanism's functionality
and allow them to communicate with one another, all
of these components have embedded systems.
Automotive
In automobile applications, embedded systems
improve user experience and overall safety. Adaptive
speed control, pedestrian detection, auto breakdown
warning, merging assistance, airbag deployment,
anti-lock brake systems, and in-car entertainment
systems are some prominent instances of embedded
systems in operation.
Medical Equipment
Embedded medical devices are state-of-the-art tools
used for patients who need continuous monitoring.
For example, embedded sensors collect health
information from implants, heart rate, and pulse rate.
After that, this data is sent to a private cloud, where
a medical expert can manually review it or an alarm
system can review it automatically.
GPS
50
To provide a global navigation system, the global
positioning system (GPS) synchronizes location,
velocity, and time data using satellites and receivers.
GPS systems are frequently seen in cars and portable
electronics. To utilize the global positioning system,
all "receivers" (i.e., devices that receive GPS data) are
integrated with embedded systems.
51
Conclusion
Embedded devices can be found in everything from
printers and routers to EV charging stations,
elevators, and point-of-sale machines. To put it
simply, they are present everywhere in the modern
world. Despite their diminutive size, they are robust,
designed with purpose, and have a quick processing
speed. They propel apps' superior real-time
performance. Moreover, embedded systems are
growing more capable and intelligent, which expands
their use in edge computing, the Internet of Things,
graphics rendering, and other areas.
52
53
54