Open course on Embedded Hardware for engineering students
We are assuming that, you are an electronics engineering student.
You already completed the subject 'Microprocessors and Microcontroller
Architecture and Programming'. You also done a lab on the same subject
by writing programs for Microprocessor or Microcontroller kits.
To become a good embedded software developer, first you should be a good C
programmer. Next you should have a decent understanding on the microprocessor
If you are able recollect the chips used in your microprocessor
kit, that will be great. Definitely you will remember 8085/8086 microprocessor
chip used in the kit. If you look at the kit, you will find many other chips
on the kit. There could be half a dozen or more chips on the kit. If you
have properly studied the course, you should know the purpose of each of these
chips. Why these chips are required? what role these chips are playing?
how they are connected to the Microprocessor? What microprocessor will do with
these chips? These are the basic questions you should be able to answere.
If you don't know the answers, don't mind. If you have not yet, studied
the microprocessor course, then also no problem. The purpose of this course is
to introduce you to the microprocessor and computer hardware. If you have
little interest in finding how a computer hardware works, then you can
easily understand the following topics. After going through the following
topics, if you have some questions, send email to the address given in the
Every embedded system is a microprocessor or microcontroller based device.
The microprocessor hardware and software are controlling the device. Take
an example of electronic washing machine. The microcontroller is controlling
the operation of washine machine. The software controls the water inlet valve
to open. When water reaches to the required level, it closes the valve.
Next it starts the motor, and starts a timer. When timer expires it stops
the motor and opens the outlet valve. So that water will drain out. This
is a simple description. But everything is handled by software and hardware.
There is not much difference between the hardware used in an embedded device
and the hardware used in side a computer. Both will contain CPU (microprocessor)
memory chips, IO chips and IO devices. They differ only in their capability.
It is like cars. The working of all cars are same, more or less all will have
the same parts. Same is true with the hardware used in various embedded devices and computers. If you have used 8086 microprocessor kit, note that, the first
IBM-PC (personal computer), is made with 8088 processor. This 8088 is
identical to 8086, except that it got only 8 bit data bus, where as 8086 has
16 bit data bus. So original PC is made with a hardware that is less
capable than your 8086 kit.
Every hardware, either used in computers, or embedded system contains the
following 4 components:
- CPU (Microprocessor)
- Memory Chips (Both volatile and Non-volatile)
- IO or Peripheral Chips (types and count will vary)
- IO or Peripheral devices (types and count will vary)
In the following topics, we are describing the functioning of a very simple
hardware. This is a simple hardware, designed for study purpose. You should
be able to understand this simple hardware easily. Once you understand this,
we will study how real hardware will differ from this simple hardware.
We will also compare this simple hardware with 8086 kit you have used in the
Understanding CPU Part-1
Understanding CPU Part-2
Interfacing ROM with the CPU
Interfacing ROM and RAM with the CPU
Understanding IO and Interfacing Digital IO chip with the CPU
Understanding IO communication and Interfacing UART controller to CPU
Understanding and Interfacing Counter/Timer chip to CPU
Understanding how to load a program into ROM/RAM and run the program
Real microprocessor / microcontroller hardware boards
After going through the above topics, you will get basic understanding of
embedded hardware. Now you know the roles of CPU chip, memory chips and
IO interface chips. In the above topics, we have studied only generic CPU,
and generic memory and IO interface chips. Now in the following topics we
will study real embedded hardware boards. You can get information about each
and every chip used in these boards from the Internet. So if you wish, you
can understand a lot about these boards. In fact you can also write programs
and run on these boards.
The first board we are going to discuss is the Intel 8086 microprocessor
development kit. This kit is prescribed for the Microprocessor Lab in the
Understanding 8086 Microprocessor Development Kit
The 8086 hardware board discussed above is an excellent board to understand
the working of microprocessor hardware. This is because, in this kit,
you can see the 8086 microprocessor, memory chips and various IO interface
chips physically. You can also study and understand, how many pins are present
in each of these chips, how these pins are connected to the microprocessor
bus. You may also look at the hardware schematic diagram to understand how
the pins are connected.
But this 8086 is outdated and no longer used in any of the real embedded
projects. All embedded projects will use only microcontrollers. In the
microcontroller you will get all the chips found in 8086 board and many more
additional IO chips in a single chip. This single chip also very very small
in size, when compared with 8086 microprocessor itself. The following link
covers the ARM7 based microcontroller hardware, which is widely used in
Understanding ARM7 Microcontroller based embedded hardware
For any queries, please send mail to firstname.lastname@example.org.