KEMBAR78
Week 1 - Introduction Embedded System | PDF | Embedded System | Microcontroller
100% found this document useful (1 vote)
46 views56 pages

Week 1 - Introduction Embedded System

The document provides an introduction to embedded systems, focusing on their design, characteristics, and applications across various domains. It outlines the differences between embedded systems and general computing systems, discusses the historical evolution of embedded technology, and categorizes embedded systems based on complexity and performance. Additionally, it highlights the major application areas and the purposes that embedded systems serve, including data collection, communication, processing, monitoring, control, and user interfaces.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
46 views56 pages

Week 1 - Introduction Embedded System

The document provides an introduction to embedded systems, focusing on their design, characteristics, and applications across various domains. It outlines the differences between embedded systems and general computing systems, discusses the historical evolution of embedded technology, and categorizes embedded systems based on complexity and performance. Additionally, it highlights the major application areas and the purposes that embedded systems serve, including data collection, communication, processing, monitoring, control, and user interfaces.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 56

Introduction to

Embedded Systems
ENEL4ES – Embedded Systems 1 2024
Lecture 0
DR NATHAEL SIBANDA
University of ZULULAND– Electrical, Electronic and Computer Engineering Discipline
Overview of Embedded Systems
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.
It should cover some of
more sophisticated hardware
systems that may be used in
embedded systems.
Peripherals and sub-systems
that you may have not
covered in your previous
courses.
Understanding the Basic Concepts
Like any general computing systems, Embedded systems (ES)
possess a set of characteristics which are unique to the
embedded system under consideration.
In contrast to the general computing systems, Embedded
systems are highly domain and application specific in nature.
That means they are specially designed for certain set of
applications in certain domains like consumer electronics,
measurement systems, industrial control, telecommunication,
etc.
It is not possible to interchange embedded systems with
different applications to a specific domain, unlike our general
computing systems.
Lecture Outline
What is an Embedded System?
Embedded system vs General Computing Systems
History of Embedded Systems
Classification of Embedded Systems
Major application areas and domains of Embedded Systems
Understanding the different purposes of Embedded Systems
Tutorial Questions
What is an Embedded System?
An embedded system or application is computer-based system
that interact directly or dynamically with their environment to
perform a specific function.
It is usual comprises of a combination of hardware and
firmware (software). The embedded part is usually a complete
hardware device with mechanical parts.
 Every embedded system is unique and the hardware as well as
firmware is highly specialized to the application domain.
These interactions are often facilitated through sensors to
recognize the state of the environment, and actuators to change
or update the environment.
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.
Embedded systems vs General Computing Systems
Criteria General Purpose Computing System Embedded System
Contents A system which is a combination of a generic A system which is a combination of special
hardware and a General Purpose Operating purpose hardware and embedded OS for
System for executing a variety of applications executing a specific set of applications
Operating System It contains a General Purpose Operating System It may or not contain an operating system for
(OS) (GPOS) – like Windows, Linux, MAC OS functioning – Like RTOS
Alterations Applications can be altered (programmable) by The firmware of the embedded system is
the user. It is possible for the end user to re-install preprogrammed and cannot be altered by the
the OS and also add or remove user applications end-user
Key factor Performance is the key deciding factor in the Application specific requirements are key
selection of the system. Faster is better. deciding factors like performance, power
Higher clock frequency, Faster Memory, etc. requirements, memory usage, etc.
Power More Power – Sleep mode, Standby mode, etc. Less Power – Sleep mode, Standby mode, etc.
Consumption
Response Time Not critical Critical for some applications
Execution Need not be deterministic Deterministic for some ES like Hard Real Time
Systems.
A bit of history
First reputed embedded system was in “MinuteMan-I Missiles”
in 1961. The autonetics D-17 control guidance computer built
using discrete transistor logic and a hard disk drive for main
memory.
 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.
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.
A bit of history – generation based…
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.
A bit of history – generation based…
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 Application Specific 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.
Modern History
Today’s embedded systems are very complex or sophisticated.
BeagleBone, Raspberry pi 4 and Pine RockPro64 fully
embedded system that can deploy OS on it.
ARM processors hugely popular.
DSP like DSPic33 series and TMS320xx.
Highly integrated with many peripherals.
Classify based on complexity and performance
There are types of scales of embedded systems
Small-Scale Embedded Systems (ES) – relatively small, low cost
and low performance 8 or 16 bit
microprocessors/microcontrollers for simple applications.
Medium-Scale ES – still small but slightly complex in hardware
and firmware (software), low cost but medium performance 16
or 32 bit microprocessors/microcontrollers or digital signal
processors. Can deploy embedded OS on them.
Large-Scale ES – highly complex hardware and software,
commonly built around high performance 32 or 64 bit RISC
processors/ controllers. Complex embedded systems usually
contain a high performance Real Time Operating System (RTOS)
for task scheduling, prioritization and management.
Major Applications Areas and Domains
Typical application areas and their products in the embedded
system domain are endless. A few important domains and their
products are listed:
Signal processing – software radio & missile guidance
Automotive industry – engine controllers, anti-lock brake
systems (ABS), ignition systems, automatic navigation systems,
etc.
Telecommunications – telephonic switches, cellular phones,
handset multimedia applications, etc
Home automation and security systems - air conditioners,
sprinklers, intruder detection alarms, closed-circuit television
cameras, fire alarms, etc.
Major Applications Areas and Domains
Consumer electronics – microwaves ovens, washing machines,
television sets, cameras, compact disk players, etc.
Medical equipment – Ultrasonic scanners, PET, ECG, EEG
machines, etc.
Banking and Retail – Automatic Teller Machines (ATM),
currency counters, point of sales (POS).
Computer Networking Systems – Network routers, switches,
hubs, firewalls, etc.
Computer Peripherals – Printers, scanners fax machines, etc.
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) processing
Monitoring
Control
Application Specific User Interface
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 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.
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 (RS-232C, USB, 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).
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.
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.
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 a air conditioner system used to control the room
temperature to a specified limit.
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).
A Typical Embedded System
A typical embedded system contains a single chip controller which acts as
the master of the system. The controller can be either a microcontroller,
microprocessor, field programmable gate array (FPGA), Digital Signal
Processor (DSP), or an Application Specific Integrated Circuit (ASIC).
A Typical Embedded System…cont
Embedded systems are basically designed to regulate a physical variable or
to manipulate the state of some devices by sending some control signals to
the actuators or devices connected to the output ports of the system, in
response to the input signal provided by the end users or sensors which are
connected to the input ports.
Software Systems and their metrics
Embedded systems may use any of the following software approaches
1. Simple control loop custom code such as the cyclic execution
2. Non pre-emptive operating systems
3. Pre-emptive operating systems
4. Micro kernels
All of these really need to be “Real Time” systems as nearly all embedded
systems need to respond in real time to external events.
System design and their metrics
A system design is a task of defining a system’s functionality and converting
that functionality into a physical implementation, while satisfying certain
constrained design metrics and optimising other design metrics.
If one takes the central elements of each of embedded system design life-
cycle models, one can proceed to use these following five steps to design a
good system. These are the minimum steps required:
1. Definition of the requirements
2. System specifications
3. Functional design
4. Architectural design
5. Prototyping
Design Metrics 1
Design can pose a lot of different challenges and various options but the major design challenge
is optimizing design metrics.
The Design Challenge: Optimising Design Metrics.
Any design process is subject to a large variety of often conflicting design constraints– a variety
of metrics may be used in any design. Here follows a refresher from previous courses:
NRE (Non-Recurring Engineering) or Design Cost
Unit Cost
Size
Performance
Power (Dissipation / Consumption)
Flexibility
Reliability
Availability
Design Metrics 2
Time to Prototype – Market
Serviceability / Maintainability
Design Adequacy
Ease of Use
Environmental & Regulatory Constraints
Safety
All these constraints are usually in conflict with one another and require design decisions / Trade-
offs
Size vs Cost,
Power vs Performance,
Performance vs Cost
NRE Cost vs Production Cost
Time to Market vs Design Cost vs Design Adequacy
Design Metrics 3
These can be grouped into:
Performance Metrics
Cost Metrics
Power Metrics
Effectiveness Metrics
Characteristics of a Good Metric
 Linearity [nice, but not necessary]
Performance in any application scales in ratio with the metric
Reliability [required]
The metric is a good indicator of performance in any application
Repeatability [required]
Gives the same result every time it is run on the same application
Ease of Measurement [nice, but not necessary]
Should not require special equipment or facilities
Consistency [required]
The metric on any machine will give the same indication of performance
Independence [required]
The metric is independent of the supplier and cannot be influenced by the supplier
Some popular performance metrics
Clock Rate
MIPS – Millions of Instructions per Second
Measures the instruction rate.
Instructions may differ in length
Instruction times may vary with pipelines and predictions
Different instructions can do different amounts of work
FLOPS – Floating Point Operations per Second
Similar issues as with MIPS
Does not predict integer or logic performance
LINPACK
Measures time to solve a fixed set of linear equations
SPEC – System Performance Evaluation Cooperative
Measures time to complete a standard ‘basket’ of applications
Clock Rate for Performance
Processor clock is a common indicator of speed
Popular measure for PC processors (Intel or AMD Processors)
Depends upon the work done per cycle
Early processors took 5-10 clocks per typical instruction due to complex instructions with
complex addressing modes
These became dubbed CISC (Complex Instruction Set Computing)
Reduced Instruction Set Computers (RISC) came along with very few simple instructions and
simple Load/Store addressing
Allowed for single clock cycle per instruction and much faster clocks due to the simple
instructions
Gave rise to the RISC / CISC war of words for many years [External Reading…]
Technology Effect on Clock Rate
As technology improved (Moore’s Law) in speed and density new techniques allowed CISC to
execute at 1 clock per instruction
This blurred the boundary between RISC and CISC (RISC intended to be the faster CISC – Read
up!)
Pipelines allow multiple instructions per cycle
Multi-threaded processors allow many streams per cycle
Parallel operation of instruction units (FP/ Integer / Memory) improves instructions per cycle
Note how Intel moved from 3.4 – 4.0GHz processors to the latest iCore CPUs which run at 1.8-
3.0GHz and yet are faster due to increased parallelism (parallel processing)
Reason why we moved to parallel processing was the bottleneck of Memory and I/O delays.
Suddenly memory and I/O were not fast enough.

Clock rate is only a useful metric if everything is identical except clock speed
Means-based vs Ends-based Metrics
Means-based measure what is put in while Ends-based measure what is got out
Means-based Ends-based
EG. Consider vector dot product code
int N = 100;
for (int s = 0,i = 1; i < N; ++i)

Execution time
Clock rate
{
s = s + x[i] * y[i];
}
This takes N floating point additions and N multiplications to execute ignoring the loop control
code. If we assume an add takes ta cycles and a multiply takes tm cycles then for the total of 2N
FLOPS, the processor takes:
t1 = N(ta + tm) cycles
 Giving a FLOP rate of
R = 2N/N(ta + tm) = 2 / (ta + tm) FLOPS per cycles
FLOPS Metric Example 1
If we now change the code to
int N = 100;
for (int s = 0, i = 1; i < N; ++i)
{
if(x[i] != 0 && y[i] != 0)
s = s + x[i] * y[i];
}
to eliminate the computation where one element is zero.
Then if the proportion of non-zero pairs is ‘f’ and the test takes tt cycles then the execution time is now:
t2 = N*(tt + f*(ta + tm))
and the FLOPS rate for the code is now
R2 = 2Nf / N[tt + f(ta+tm)] = 2f / [tt + f(ta+tm)] FLOPS per cycle
Now if for example: tt=4, ta=5 and tm=10 and f=10% (rather a sparse vector) and if the processor clock is 250Mhz
(cycle time=4ns)
then t1 = N*60nS
and t2 = N*4ns * (4+0.1*(5+10)) = N*22nS
Giving a speedup ratio of 60/22 = 2.73 times
FLOPS Metric Example 2
Looking at the FLOPS / Cycle Rates however,
R1 = 2 / 60nS = 33 MFLOPS
Whereas
R2 = 2 * 0.1 / 22nS = 9.09 MFLOPS [Mega-FLOPS]
This indicates that the addition of the test has slowed the processor down giving a speedup ratio
of 9.09 / 33 = 0.275
IE. The addition of zero tests to the program indicated a slower MFLOPS rate but a higher overall
performance.
While somewhat contrived, this does indicate the potential for FLOPS rates to give incorrect
results.
Processor vs System Performance
Computing Systems are composed of many elements
– CPU: ALU, FPU, Bus width, Bus speed
– Memory: Main, L1 Cache, L2 Cache, RAM, EEPROM, FLASH, Registers …
– Disk drive, controller, interface, channel
– Video controller / memory / DMA / Bus / DAC
Changing the speed of one part may have a minor effect
EG. If the processor speed is doubled but the memory speed stays the same then it may mean a
zero speed improvement overall if memory is the limiting factor [The bottleneck effect].
Amdahl’s law
Amdahl’s Law - used to find the maximum improvement possible by improving a particular part of
a system

αTold (1-α)Told

αTold (1-α)Told/q

The performance improvement to be gained from using some faster mode of execution is
limited by the fraction of the time the faster mode can be used.
Here
α is the fraction of the system that can be enhanced and
q is the speedup ratio for that part that is enhanced
This gives a ‘speedup ratio’ of

Speedup = Told/Tnew = Told/(α + (1-α)/q)* Told = q / (qα + (1-α)) = q / (1 + α(q- 1))


Amdahl’s law Example
EG. A system has a disk drive of 3600rpm replaced by a 7200rpm drive which effectively doubles
the speed of the disk subsystem.
If a data intensive application uses the disk 85% of its time, what will be the application
performance improvement?
Here, α=0.15 (the unaffected part – parallel computing or faster instruction used) and q=2
Hence, speedup = 2/[1 + 0.15(2 − 1)] = 1.74
However, for a computationally intensive application that uses the disk drive for 5% of the time
Then, speedup = 2/[1 + 0.95(2 − 1)] = 1.025
This illustrates clearly how one needs to tailor improvements to suit the application.
Example of CPU speedup
An application makes use of Floating Point Square Root (FPSQR) operations for 20% of its
function but 50% of all its operation is in Floating Point in general (FP).
If we can either add a special FPSQR unit that is 10 times faster or just double (2x) the speed of
the FP unit,
Which gives the best overall improvement
With the FPSQR unit
Speedup (FPSQR) = 10 / (1 + 0.8(10 - 1)) = 1.22
Whereas
Speedup (FP) = 2 / (1 + 0.5(2 – 1)) = 1.33
i.e. A speed doubled unit can improve overall performance better than a unit with a 10 times
speed improvement.
Computer Performance Summary
Performance is very difficult thing to measure absolutely due to so many internal factors or
variables. Thus, the excess or abundance of these performance metrics such as MIPS, FLOPS,
SPEC, Clock Rate [Hz], LINPACK, etc.
Every one of those metrics is not only depended on the hardware but also on the test
application.
These factors that affect performance can be tabulated for ease:
CPUtime = seconds/program
sec./prog. = (seconds/clock cycle)*(clock cycles/instruction)*(instructions/program)
Factors Instruction count Clock cycles per instruction Clock cycles
(CPI) [Average Mix]
Program X X
Compiler X X
Instr. Set Architecture (ISA) X X
Organization X X
Technology X
Design Economics – Times to Market
Time to market and Product Lifetime
The time required to market these new developments has been shorten drastically due to the
newer technologies that allow us to do fast prototyping.
This new developmental cycle comes with a shorter marketing time, drastic end of life and
introduces fluctuating demands.
Product Lifetime Revenue
Assume a simplistic Revenue Lifetime model with lifetime 2W,
fixed ramp up and ramp down rates.
Starting on-time gives us a peak revenue defined by the area
underneath,
R1 = 𝑊𝑊 ∗ 𝑃𝑃 whereas W is weeks and P is peak revenue.
Starting on delayed-time (D) gives us a fraction of the peak
revenue defined by the area,
𝑊𝑊−𝐷𝐷
R2 = 𝑊𝑊 − 𝐷𝐷 ∗ 𝑃𝑃 ∗
𝑊𝑊
Thus, we can find the ratio of two revenues and the impact it
makes on the final revenue,
𝑅𝑅𝑅
= ( 𝑊𝑊 − 𝐷𝐷 2 )/𝑊𝑊 2
𝑅𝑅𝑅
E.g. If we assume a lifetime of 1 year (W = 26 weeks) and a delay
of only 4 weeks (D = 4), we can find the ratio of the revenue gain
and lost,
𝑅𝑅𝑅 26 −4 2
= = 71.5%
𝑅𝑅𝑅 262
of the peak revenue gained or 28.5% revenue lost.
Hence, in short life product timing is critical.
Design Economics: Fixed vs Variable Costs
Fixed costs (NRE and other) cover the design and production setup – all costs until first retail
Variable costs (Unit costs) cover the component, assembly, distribution, marketing, service, etc.
– cost related to production.
Total cost to company, Company cost = Fixed cost + Variable cost * N where N is number of
products produced.

There is a trade-off between Fixed and Variable costs to maximize profits where,
Profit = Price*N – Company cost
For lower N, it is best to minimize Fixed costs
while
For higher N, it is best to minimize Variable costs
Fixed costs
Also known as NRE costs, these must be gradually written off over the lifespan of the product which are
factored into every unit estimated to be sold.
They cover:
1. Design Costs
2. Prototype Manufacturing Costs
3. Production Setup Costs
4. Marketing
5. Accounting
6. Personnel Management (HR)
7. Facilities
Mostly outside the scope of this course apart from 1 (Design costs).
Design costs significantly affected by: [Read up: Self-study]
1. Using custom, semi-custom or standard components (processors /controllers).
2. Using simple vs advance design tools and systems.
Design Cost Items
Personnel costs needed to cover:
1. Architectural Design
2. Logic capture
3. Simulation and Functional Testing
4. Layout of components and system (Hierarchy)
5. Timing Verification
6. Test generation procedures
Also system costs:
1. Computing
2. Programming
3. Computer Aided Design (CAD) and Electronic Design Automation (EDA) tools
4. Training for EDA tools
Design Costs Example
Assume you want a newly developed product, it takes:
1. 7 digital designers @ $70K pa + $30k overhead each
2. 3 analogue designers @ $100K pa + $30k overhead each
3. 5 support personnel @ $40K pa + $20k overhead
4. 2 fabrication runs on the IC at $500k per run
5. 2 years to develop
Total cost then becomes:
C = [ 7*(70+30) + 3*(100+30) + 5*(40+20) ]*2 + 2*500 [700 + 390 + 300]*2 + 1000
=3780 or $3.78m
• Add computers each @ $10k and EDA tools for Digital ($10k) and Analogue ($100k) and we add
[(7+3+5)*10 + 7*10 + 3*100]*2 giving $1.04m
• Total Development or Fixed Cost = $4.8m
• Sell 10 million units and this is cheap, sell 1 000 and its not
Processor Development Costs
Full custom IC development is hugely expensive but it has lower unit costs.

Semi-custom Application Specific Integrated Circuits (ASIC) make use of MGA*, PGA*, PLD*,
PLA*, etc. Reduce development time but increases the unit costs.

Field Programmable Gate Arrays (FPGAs) increase unit costs further but can reduce
maintenance costs.

MPUs* and MCUs* reduces design costs further at expense of unit costs.

*Masked Gate Array, Programmable Gate Array, Programmable Logic Device, Programmable Logic
Array, Microprocessor Units, and Microcontroller Units.
Design Reuse
One of the biggest design costs reduction techniques, reuse.

Adds enhanced reliability.

Reduces specification and design costs.

Reduces debugging and testing costs.

May result in increased resource requirements such as faster processor, large memory, more
power, etc. when compared to a fully optimized custom design but nearly always considered
worthwhile.
Power Metric
Factors affecting power consumption
1. Technology (CMOS vs TTL vs PMOS/NMOS)
2. Technology dimensions (14 nano meters vs 1 micro meters …)
3. Speed (1MHz vs 4GHz…)
4. Voltage (5v, 3.3v, 1.8v)
5. Active time vs sleep time (Power down modes)
6. Input/output (I/O) drive power
7. Circuit size and complexity
Technology
CMOS draws no static power as 1 device always off but it does have to charge 2 gates per stage
in dynamic mode.

PMOS (NMOS) and TTL draw current when on (Drain Load Current Source) for a static drain but
have lower dynamic currents since only one gate to charge or none for TTL.

Small dimensions of a physical component means a smaller capacitance and low voltages. Thus,
reduces charging currents and voltages for significant power reduction per device.

Low speeds cause less charge changes to save power.


E.g. a PIC16F690 running at 32KHz uses similar current to an alkaline battery leakage current
(~10 micro amperes).
Dimensions of Technology
Currently, we have the 10th generation intel processor with dimension of 14nm.

At this dimension voltages of 1.2V are used. Field-Effect Transistors (FETs) have small Vt values.

Aside: 30 000v/cm (air breakdown) => 30mv/nm


Current processor: 1.2v/14nm is far greater than air breakdown

Low voltage gates need low energy to charge them (low current)

Low voltage, low current => low power consumption.

The only problem going down in size, it’s difficulty of making or producing them. In the near
future, we will have a 10 nano-meter processor.
Processor Clock Speed
CMOS consumes power almost exclusively on state change
Hence power consumption is a direct function of clock speed and gate count – so set processor
speed to minimum required.
Typical PIC16F690 drain current (Idd) vs processor speed (Fosc)
Active Time vs Sleep mode
Programmable processors nearly all have several levels of power drain control
Active, sleep, suspend mode, etc.
Use of sleep mode in conjunction with an Real Time Clock (RTC) is obvious for a Data logger that
logs temperature every 4 hours.

What about a terminal keyboard?


1. A user can hit maybe 10-20 keys a second?
2. A CPU may be running at 100MIPS
3. The keyboard handler code may be around 100 instructions per key
4. So CPU usage is 20 keys*100 instr. = 2000 IPS or 2KIPS
5. Utilization = 2 / 100 000 (KIPS/KIPS) = 0.002%
6. Sleep between keys could reduce power consumption 50 000 times!!!.
I/O Power Down
Peripherals consume power, whether:
Integrated on the CPU or as external and separate devices.

Turning off peripherals when not required or in-use saves power


E.g. our modern laptop computers
1. USB can be disconnected
2. WiFi can be disabled or slowed down
3. LAN can be turned off
4. Screen can be dimmed or turned off
5. Disks are stopped when not in use
6. Processor speed is reduced when demand is low
Circuit Size and Complexity
This is obvious!!!

Don’t use a Intel or AMD processor where an 8 bit AVR/PIC/ARM will do


1. Intel or AMD processor consumes more power about 40 – 50 Watts
2. AVR/PIC/ARM can consume lesser power about 1 milli-Watt

Applies to peripherals as well


WiFi consumes 100mW at full speed vs ZigBee with a micro-Watt as an average power
consumption.
Answer these questions and submit online
What is an embedded system? Explain the different applications of embedded
systems [5 marks]
Difference between embedded systems and general computing systems [5 marks]
Describe the various purposes of embedded systems. Explain any two in detail
with illustrative examples [10 marks]
A digital multi-meter is an example of an embedded system for
(1) Data communication, (2) Monitoring, (3) Control, (4) None of these, (5) All of these
Which of the following is not true about embedded systems?
(1) Built around specialized hardware
(2) Always contain an operating system
(3) Execution behaviour may be deterministic
(4) All of these
(5) None of these

You might also like