Modules / Lectures
Video Player is loading.
Current Time 0:00
Duration -:-
Loaded: 0%
Stream Type LIVE
Remaining Time -:-
 
1x

Video Transcript:

Let me welcome you to this course that will be conducted jointly by myself and Dr. Kamalika
Datta.
In this course we shall be talking about various aspects of Embedded System Design, in particular
we shall be emphasizing on some hands-on design examples.
As the vehicle of demonstration we shall be primarily working with two different embedded
system platforms; one is based on an ARM based board and the other one will be a standard
Arduino Uno based board.
Now before we proceed with the actual experimentation, it is always good to have some theoretical
background and some motivation behind why we need an embedded system, what are the main
characteristics of an embedded system and what are the design alternatives.
So, in this context the first lecture of this course, is titled Introduction to Embedded
Systems.
Here we shall be primarily talking about embedded systems, what it is basically and some typical
applications, and inside an embedded systems what kind of typical subsystems we normally
get to see.
These are a few things that we shall be discussing as part of this course.
The first thing I want to emphasize is that, we have been very lucky that we have been
born and brought up in an age of computing.
Since our birth many of you have seen computer systems around you, but of course, the scenario
was not the same maybe 4 or 5 decades back.
There has been a fantastic proliferation of electronics, computing systems, low power
devices, and there are various kinds of advancements that have taken place over the years.
The first thing I want to emphasize is that computer systems are everywhere today.
If you look around you; well I am not talking about in a technical environment, not in your
laboratory, not in your college well even in your residence when you wake up from your
sleep.
If you look around you, you will find several instances of some computational devices that
will be sitting somewhere.
This is the kind of environment where we have all grown up.
Traditionally speaking, we have become familiar with computers that are either desktops, laptops,
servers etc. that are more conventional in some sense.
Desktop computers are typically machines where you have learnt your computing on.
Today laptops have become very much affordable, most of us own our personal laptops.
So, laptops are replacing the role that desktops used to have earlier.
Talking about mobile phones this is a very underestimated computing device.
Whatever is inside a mobile phone today, if you think of the computational capability
of the computers that existed 30 to 35 years back, believe me the processes that are inside
a mobile phone are of the tune of 1 million times more powerful as compared to what you
used to see in the large computer systems in those days.
But mobile phones we use for some specific applications, for its use as a phone, sending
messages.
And of course, for recreational purposes we can watch video, we can browse internet, and
there are so many new applications that you can run on mobile phones today.
But what I want to say is that, there is another kind of computing system that is often hidden
from us.
Hidden means we cannot see those computing systems.
Like we know desktop can compute, a laptop can compute, a mobile phone can also compute
in some sense.
But if you look at a refrigerator, if we look at our air conditioning machine, do they look
like a computing machine?
No.
But inside those machines there is some computing brain hidden, that is what I am referring
to as this hidden thing.
These are far more common in our daily life and pervasive, as they are everywhere, and
the point I want to make is that, they are hidden in the environment for which they were
created.
Now, such systems are traditionally referred to as embedded systems.
We mean these are computing systems, but they are embedded inside the environment.
By the term environment we mean the surroundings or actually the scenario for which the system
was designed.
Let me take the example of an air conditioning machine again.
An AC machine is supposed to be housed inside a room normally.
Now this computing system that is sitting inside an AC machine, for that computing system
the AC machine is the environment.
It does not interact with anybody outside that AC machine.
It is responsible for controlling the AC machine, it is responsible for responding to whatever
you are pressing on your remote control, you are given giving some commands to the ac machine
and so on.
These are the kind of commands that those computing machines inside are responsible
to respond to.
Talking about embedded systems again, what are these embedded systems?
I already gave an example.
So, now it must be somewhat clear to you.
Embedded systems are computers they are embedded within other systems.
Now on the right side I have given some pictures.
You see these examples, here you see a washing machine, this is a refrigerator, this is a
laser printer, this is a digital camera, this is an automobile and here you can see a missile
that is flying through the sky.
These are all examples of embedded systems, they are fairly powerful computing systems
or devices inside them of course, the power of these computing systems depend on the specific
application.
For some applications you do not need too much computation power, but for a system like
missile lot of computations need to take place in real time.
As the missile flows in its trajectory, there is continuous feedback from the environment
and there are some corrective actions that need to be taken such that the missile can
follow the correct path and hit the target in a precise way.
So, it depends on the environment.
Now this “other systems” can refer to anything, it is very hard to define in a very
specific way.
But broadly speaking you can say that these other systems are any computing system, which
are not our conventional computers like desktop, laptop, servers etc.
Any computing system that is not one of these, they are sitting somewhere and working with
the environment, they can be classified as embedded systems.
Some typical examples are given here.
And again just as I said depending on the application, processor can be very simple
and inexpensive.
Because there are many devices, let me take an example again.
Suppose you have gone to the market to buy a microwave oven, they are available for prices
ranging for Rs. 3000 and more.
They are pretty cheap in comparison.
There are embedded processors inside micro ovens also.
Now if I say that I need a very powerful Pentium processor to be sitting inside a microwave
oven, the price of that Pentium processor itself will be 5000 rupees including all accessories
and peripherals, then this will be economically not viable.
They have to be very cheap depending on the applications.
Today a very large number of embedded systems are being used all over the world in various
applications, billions of them versus millions of conventional computing units.
So, the number of such embedded computing devices far outnumber the number of conventional
computing devices today.
There are some common features that are present in most embedded systems, let us look at some
of them.
First thing is that they are special purpose or single functional.
Like an air conditioning machine, there is a processor inside, the sole purpose of that
processor is to ensure that the ac machine is working properly, and nothing else.
So, it is not trying to help you in calculation in doing some maths, and so on.
So, it is very special purpose in that sense.
It typically it executes a single program related to the application for which it was
built, and it can take inputs from the environment.
You think of an ac machine; the inputs from the environment means, well the user can send
some commands via the remote control.
The ac machine itself can have some sensors inside it, can sense what is the current room
temperature, what is the current humidity level.
Accordingly it can activate the various subsystems inside in a very optimum way.
You think of a refrigerator there normally there are some control panels.
You can set the temperatures and other factors there.
It depends again on the application, through the environment you can send some commands
to the processor, and the processor will respond accordingly.
Some examples I have given, like microwave oven, washing machine, ac machine.
And for most of these embedded systems there are very
tight constraints on cost, energy and also form factor.
The processor has to be low cost otherwise the system will not be economically viable.
The processor must not consume too much energy from the power source or from the battery
wherever it is working.
Because the processor is hidden from you and it is expected that the user should not worry
too much about energy.
Form factor; you think of an ac machine nowadays that are very sleek, now you cannot afford
to have a computer inside which is very bulky and big because that will make your system
also bulky and big.
So, depending again on the system, your computing system must be made very compact and should
fit inside without any appreciable increase in area.
So, low cost, low power, small size, relatively fast these are some of the characteristics,
and another important thing is that it should have real time response.
You think of ac machine, suddenly due to some reason the temperature of the room has gone
up.
It must turn on the compressor at high power to bring down the temperature.
So, it must respond to these external inputs in real time, it cannot say that well I shall
respond to this after 10 minutes.
Real time means, whenever an input comes, within some specified time the system should
respond to that input.
Most embedded systems respond in real time.
They take inputs from the system environment and should carry out the computations; the
tolerable delay varies from application to application.
So, these are some of the common features.
Now, there are some design constraints as well; some of these are pretty obvious.
The processor should be a low cost thing.
You should not make it too expensive because that will also make your system inside which
it is embedded, it will make that also quite expensive.
You cannot afford to use a very sophisticated processor inside such a machine; like inside
a microwave you cannot afford to put a sophisticated processor like the Pentium, because the cost
of the Pentium itself is pretty high.
Low energy consumption is another property which is pretty common.
Well even for machines which operate from electric power, like a refrigerator if you
put it on and go away, it is expected that it will consume very low power.
And secondly, there are many gadgets which also operate on battery.
For them obviously, energy consumption is a big issue.
And because these processors are very simple, the amount of memory they have is also pretty
small.
So, whatever program you write, whatever computation you do they must fit inside that limited memory
space.
I mentioned many applications demand real time response; within a specified time, the
system should respond to the inputs.
Now, how can we define an embedded system based on whatever we talked about so, far?
Well embedded system can be loosely defined as a microcontroller based system.
This is true for most of the embedded systems.
The processor that is inside has to be low cost it has to be low power, it has to be
small in size.
There is some kind of processor called microcontroller that we shall be talking about throughout
this course, they satisfy all these criteria.
Most of the embedded systems have microcontrollers inside them, they are like a complete computer
in a single chip.
Whatever you need, processor, memory, IO everything is inside a single chip and therefore, it
is very low cost.
So, it should be a microcontroller based system and not general purpose.
It should control a function or a range of limited set of functions.
And another point is that, this is not meant to be programmed by the user.
Like a laptop or a desktop you can write a program, well you can write a program to compute
the factorial of a number, to find the sum of n numbers etc.
But whenever you think of an embedded system inside a device like your ac machine.
You normally do not use it for your day to day computation, you cannot program it yourself.
It comes to you factory programmed, you cannot modify the program, it is a fixed program
system -- you are only using that program.
The user can give inputs for example, through the remote controls, but cannot change the
functionality.
You cannot change an ac machine to something else like a room heater for example.
The user normally cannot make any modifications to the software, but of course, nowadays systems
are becoming more sophisticated; you think of a set top box that you use with your TV
sets.
Set top box are also embedded systems, there are quite powerful processors inside them.
Now sometimes you may have noticed that while watching some programs or when you are switching
it on, it says downloading updates.
Well the software that is running inside the set top box also gets periodically updated
by the service provider.
That facility is provided inside that set top box.
Just like your standard operating systems like windows that frequently needs some updates
to be installed.
That means, you need some modifications to your existing software to make it better in
some sense.
So, normally you cannot program your washing machine or refrigerator or a car, but maybe
tomorrow with the next generation embedded systems coming, you may be able to program
them also.
Like when you drive a vehicle you may program it and customize it according to your need,
but as of today the systems come with very limited choice to the users; may be a few
things user can specify, but not all.
This is a schematic diagram of an embedded system.
The embedded computer is sitting in the middle, which has some hardware, the microcontroller
and some program which is running on its software.
It takes inputs through some sensors, and it can control something through some outputs,
and there are typically some user interfaces like some switches, some small keyboards,
like some touch sensors maybe a remote control, these are all user interfaces and it can also
have some links to other subsystems.
This is a general schematic of an embedded system.
Now, what embedded system is not?
Well it is not a microprocessor sitting inside a traditional computing system.
We call it a computer, we do not call it an embedded system.
Well it is a microprocessor used to control another piece of technology like ac machine,
like microwave, like refrigerator and so on, this is what an embedded system is.
It is embedded inside some other system.
Now as I had said for low cost microcontrollers, that they are single chip devices.
You see here I have shown a picture of a microcontroller that belongs to the PIC family.
This is a PIC microcontroller, this is a layout diagram where processor, memory, IO subsystems
everything is embedded inside the same chip.
Now talking about some applications of embedded systems, you can summarize some of them, but
they are limited by imagination, there is no limit to what you can imagine.
And the number of such applications will only increase day by day.
Today we are talking about IoTs, tomorrow IoT will be everywhere, maybe some of those
devices will be inside your body, you will be carrying those devices along with you.
In the consumer segment you can think of refrigerator, washing machine, AC machine, camera, this
already we have talked about.
Even in your office you use printers and fax machines, photocopying machines, scanners,
biometric scanner, cameras for surveillance, they are all examples of embedded systems.
You think of automobiles; today all automobiles are intelligent in some sense, there are some
computational devices that try to utilize the infrastructure inside those automobiles
in an efficient way.
So, airbags, anti-lock braking systems, engine control, door lock, GPS, everything here these
are controlled by embedded processors.
For communication the mobile phones is the biggest example; you think of the network
switches that we use for communication routers, switch, Wi-Fi hotspots, telephones there are
processors inside each of them today.
Then you can have automatic door locking systems we see it many places; automatic baggage screenings
in airports and railway stations, surveillance systems, intelligent toilets, where there
are some embedded systems inside toilets that can respond to users’ needs automatically
these are all examples of embedded systems.
Again talking about that diagram, this is what embedded system looks like.
We have to have an embedded computer with some hardware, you have to write some software
to do it, and of course there has to be a proper user interface to make it usable.
And user interface has to be simple enough, it should not be a full big large keyboard
where you can type anything and everything.
It will be very specific to a particular application.
This is just like a cartoon I am showing.
This rectangular box is a processor.
Inside the processor you can see so many things.
You can see a digital to analog converter, you can see analog to digital converter, counters,
timers, pulse width modulator, so many subsystems.
In addition to processor, memory, IO ports etc. a typical microcontroller today that
forms the heart of an embedded system can contain analog to digital interfaces, because
most of the inputs from the outside world are analog in nature, they are continuous
in nature, like temperature, humidity, pressure, etc.
With this we come to the end of this lecture.
We shall be continuing with our discussion in our next lecture.
Thank you.
Auto Scroll Hide
Module NameDownload
noc20_cs15_assigment_1noc20_cs15_assigment_1
noc20_cs15_assigment_2noc20_cs15_assigment_2
noc20_cs15_assigment_3noc20_cs15_assigment_3
noc20_cs15_assigment_4noc20_cs15_assigment_4
noc20_cs15_assigment_5noc20_cs15_assigment_5
noc20_cs15_assigment_6noc20_cs15_assigment_6
noc20_cs15_assigment_7noc20_cs15_assigment_7
noc20_cs15_assigment_8noc20_cs15_assigment_8
noc20_cs15_assigment_9noc20_cs15_assigment_9





Sl.No Language Book link
1EnglishDownload
2BengaliDownload
3GujaratiDownload
4HindiDownload
5KannadaDownload
6MalayalamDownload
7MarathiDownload
8TamilDownload
9TeluguDownload