You are on page 1of 24

Real-time and embedded systems (COSC3026)

Chapter 4: Embedded
system issues

1
Learning Agenda
 4.1 Memory management
 4.2 Hardware development
 4.3 Software development

2
General Design issues
 Designing embedded systems involves several key
issues and considerations to ensure their efficiency,
reliability, and functionality.
 System Requirements
 Hardware-Software Co-Design
 Processor Selection
 Real-Time Constraints
 Power Management
 Memory Management

3
Memory management
 Memory management is a critical aspect of embedded
system design, as efficient utilization of memory
resources is essential for optimal performance and
reliability
 Memory Types:
 ROM (Read-Only Memory),
 RAM (Random Access Memory),
 Flash memory, and external storage devices.

4
Cont.
 Each type of memory has specific characteristics,
including size, speed, volatility, and cost, which should
be considered during memory management.
 Memory Partitioning:
 Determine how the available memory is partitioned for
different purposes, such as code storage, data
storage, stack allocation, and system resources.
 Define memory regions for specific tasks, ensuring
efficient use of memory and preventing conflicts.
 Code Optimization:
 Optimize the code size to minimize memory usage.
 Use techniques such as code compression, code
sharing, and compiler optimizations to reduce the
memory footprint of the program.
5
Hardware development process
 Throughout the hardware development process, it is
important to follow best practices, adhere to design
standards, and leverage simulation and testing tools to
validate the design.
 Effective collaboration between hardware and
software teams is essential to ensure seamless
integration and optimal performance of the embedded
system.

6
Cont.
 Some of the design issues
 Schematic diagram
 Printed Circuit Board (PCB) Design
 Prototyping and Testing:
 Manufacturing and Assembly
 Etc.

7
Software development
 Limited Resources:
 Embedded systems often have limited resources, such as memory,
processing power, and storage.
 Developers must optimize code size and efficiency to fit within
these constraints.
 Use techniques like code size optimization, data compression, and
efficient algorithms to make the most of available resources.
 Real-Time Constraints:
 Many embedded systems operate in real-time or have real-time
requirements.
 Ensuring timely response and meeting deadlines is crucial.
 Design software with deterministic behavior, prioritize tasks, and
implement real-time scheduling algorithms.
8
Cont.
 Hardware-Software Interaction:
 Embedded systems rely heavily on the interaction between
hardware and software components.
 Close collaboration between hardware and software teams is
necessary to ensure proper integration and functionality.
 Develop hardware abstraction layers (HALs) and device drivers
to provide a unified interface for software developers.
 Debugging and Testing:
 Debugging embedded software can be challenging due to limited
access to hardware and real-time constraints.
 Use debuggers, emulators, and hardware testing tools to identify
and resolve software issues.
 Develop comprehensive testing strategies, including unit testing,
integration testing, and system-level testing, to ensure software
9
Cont.
 Power Management:
 Embedded systems often operate on limited power sources, such as
batteries.
 Software should incorporate power-saving techniques like sleep
modes, dynamic voltage scaling, and intelligent power management.
 Optimize power consumption without sacrificing functionality or
performance.
 Security:
 Embedded systems may be vulnerable to security threats, such as
unauthorized access or data breaches.
 Implement security measures like encryption, authentication, and
secure communication protocols.
 Conduct security assessments and vulnerability testing to identify
and address potential risks.
 Software Updates and Maintenance:
 Embedded systems may require software updates and maintenance
throughout their lifecycle.
10
Real-time and embedded systems (COSC3026)

Chapter 5: Real Time


Communication

11
Learning Agenda
 5.1 Basic concepts and examples of real time communication
 5.2 Real time communication in LAN
 5.3 Bounded access protocol
 5.4 Real time communication over internet
 5.5 Internet of Things(IoT)
 5.6 Sensor and actuators
 5.7 Resource reservation
 5.8 Traffic shaping and policing
 5.9 Scheduling mechanisms-QoS models

12
Definitions,
 Real-time communication refers to the exchange of
information or data in which the transmission and
processing occur instantaneously or within a
guaranteed time frame.
Voice and Video Conferencing: Real-time communication enables
remote participants to engage in audio and video conferences,
simulating face-to-face interactions

Real-Time Messaging and Chat Applications: Applications like WhatsApp,


Slack, or Microsoft Teams facilitate real-time messaging and chat
among individuals or groups

Real-Time Multiplayer Online Games: Online gaming platforms rely on


real-time communication to synchronize game states between players,
enabling real-time interaction, collaboration, and competition
Financial Trading Systems: Real-time communication is vital in financial markets
where traders need up-to-the-second information and rapid order execution 13
Applications

TELEMEDICINE AND
REMOTE
MONITORING:
ENABLES REMOTE
INDUSTRIAL CONTROL
HEALTHCARE SERVICES,
SYSTEMS: SUCH AS TELEMEDICINE
USED IN MANUFACTURING
INTERNET OF THINGS
PROCESSES, ROBOTICS, AND
SYSTEMS:
AUTOMATION
IOT DEVICES OFTEN
REQUIRE REAL-TIME
COMMUNICATION TO
EXCHANGE DATA AND
RESPOND PROMPTLY TO
EVENTS

14
Types of Real-time communication
 Synchronous Communication: participants interact in
real-time, requiring immediate responses
 Voice and Video Calls: Applications like Skype,
FaceTime, or Zoom allow users to engage in real-
time audio and video conversations, enabling
immediate communication
 Instant Messaging: Platforms like WhatsApp,
Facebook Messenger, or Slack facilitate real-
time text-based chat, enabling users to exchange
messages and receive immediate responses

15
Types of Real-time communication

 Asynchronous Communication: Asynchronous


communication allows participants to communicate without
requiring immediate responses
 Email: Although not real-time in the strictest sense,
email enables asynchronous communication where
messages can be sent and received at different times,
allowing participants to respond at their convenience
 Discussion Forums: Online forums or message boards
provide asynchronous communication where users can
post messages and receive responses at different
times

16
Cont.
 Real-Time Data Streaming: Real-time
communication is often used for streaming
data, where information is transmitted and
displayed immediately
 Live Media Streaming: Platforms like
YouTube Live, Twitch, or Netflix live
streaming allow users to watch videos or
live events in real-time as the content is
being streamed
 Sensor Data Streaming: IoT applications
often require real-time data streaming,
such as monitoring environmental
conditions, tracking vehicle locations, or
gathering real-time information from
sensors

17
Cont.
 Real-Time Collaboration: Real-time communication
facilitates collaboration among multiple users
working together simultaneously
 Collaborative Document Editing: Tools like Google
Docs or Microsoft Office 365 enable multiple
users to edit the same document simultaneously,
with changes being reflected in real-time
 Virtual Whiteboarding: Platforms like Miro or
Mural provide real-time collaboration on digital
whiteboards, allowing users to brainstorm, draw,
and annotate together in real-time

18
Cont.
Real-Time Notifications: Real-time
communication is used to deliver immediate
notifications or alerts to users
 Push Notifications: Mobile applications use
push notifications to provide real-time
updates, such as message alerts, news
updates, or social media notifications
 System Alerts: Monitoring systems or
security systems generate real-time alerts to
notify users of critical events or anomalies
19
Real time communication in LAN
Instant Messaging and Chat: LANs
Voice and Video Calls: LANs can
often employ instant messaging and
support real-time voice and video
chat applications for real-time
communication within the network
communication within the network

Screen Sharing and Remote


Multiplayer Gaming: LANs are
Desktop: LAN-based screen sharing
often used for local multiplayer
and remote desktop applications
gaming, where players connect their
allow users to share their screens or
gaming devices within the network
control remote computers in real-
to play games together in real-time
time

Video Streaming and Media


Sharing: LANs can be utilized for
real-time video streaming and media
sharing within the network

20
Internet of Things(IoT)

Connectivity: IoT devices are connected to the internet, usually through wireless
technologies such as Wi-Fi, Bluetooth, cellular networks, or Low-Power Wide-Area
Networks

Sensors and Actuators: IoT devices are equipped with various types of sensors to collect
data from the surrounding environment

Data Collection and Analysis: IoT devices continuously gather data from their
environment through sensors

Cloud Computing and Edge Computing: IoT devices often rely on cloud computing
infrastructure for storage, processing, and analysis of the collected data

Applications and Use Cases: IoT has a wide range of applications across various
industries

21
Sensor G
a
B
io
m
s
et
a
ri
n
c
d
S
C
e
h
n
e
P s
m
r o
ic
o rs
al
xi :
S
m M
e
it G e
A n
y P a
c s
S S s
c o
e S u
el rs
n e re
er :
s n p
P o D
o s h
re m et

Humidity Temperature
rs o y

Light Sensors:
ss et e
: rs si
u er ct
D : ol
re s: th
te D o

Sensors: Measure Detect the Sensors: Measure ct


th
e
S M
e e
n a
et
er
m
e
p
re
gi
c
al

ambient or object
s s s

the amount of
p in p

presence or
o u e
re e ar
rs re n
e th a

temperature
: a c
n e m

moisture or intensity of light


c
e
o
M c
e c
a el
lo
c
at
e
a
n
et
er
s

humidity in the air


s er d
r io s
u at c
p n u
re io o
r a c
p n n
o n h
re o c
xi d a
ss r e
m p s
u c nt
it o h
re h ra
y si e
o a ti
o ti ar
r n o
f o t
f g n
o n ra
o e o
bj o te
rc s f
e f ,
e in s
ct d bl
v p
s e o
el e
o vi o

Motion Sensors: r
in
di
o
ci
ty
c
e
s
ci
fi
c
d
p
re

Detect movement
g
vi ss
a
d u
s
u re
e
or changes in al
s
s
o
r
,
o
r

position
fi
c
n
h
g
e
er
m
p
ic
ri
al
nt
s
s

22
Resource reservation
Types of Resources: Resources
Timing Guarantees: Resource
that can be reserved include CPU
reservation aims to provide timing
processing time, memory,
guarantees for critical tasks or
network bandwidth, I/O devices,
applications
and other system resources

Quality of Service : Resource Reservation Protocols: Various


reservation is often used to reservation protocols and
enforce QoS requirements in mechanisms have been developed
networks or systems to implement resource reservation

Admission Control: To ensure


that resource reservations do not
exceed the available capacity,
admission control mechanisms are
used

23
Traffic shaping and policing

Traffic Shaping: Traffic shaping, also known as bandwidth shaping or rate shaping, is a
technique used to control the outbound network traffic by smoothing and regulating its
flow

Buffering: Traffic shaping involves the use of buffers to temporarily store and regulate
outgoing traffic

Delay and Latency: Traffic shaping can introduce delay or latency to the traffic flow as
packets are held in buffers before transmission

Smooth Traffic Flow: The primary objective of traffic shaping is to create a smoother
traffic pattern by controlling the transmission rate

Congestion Avoidance: By regulating the traffic rate, traffic shaping helps prevent
congestion by avoiding sudden spikes or excessive bandwidth usage

Traffic Policing:Traffic policing, also known as rate limiting or traffic rate control, is a mechanism
used to enforce traffic limits and policies on incoming or outgoing network traffic

24

You might also like