Embedded Hardware and Various Building Blocks
Embedded Hardware and Various Building Blocks
The software embeds into hardware. Hardware consists of number of building blocks in a circuit board
or in ASIC or on the SoC along with the processors. Hardware consists of following building blocks and
devices in a system in general.
1. Power Source :
Various units in an embedded system operate in one of the ranges 5.0V±0,25 V. 3_3 V ±0.3V 2.0 V
±0,2 V and 1.5V± 0 2V.
2. Clock Oscillator and Clocking Unit(s):
The clock controls the time for executing an instruction,The frequency depends on the processor circuit
execution rate.
3. System Timer:
A timer circuit is suitably configured and functions as system dock. The system clock ticks and
generates system-interrupts periodically. The system-clock interrupt enables execution of the system
supervisory functions in the OS at the periodic intervals. System clock ticks can be 60 times in second.
4. Real-Time Clock (RTC):
A real-time clock is required in a system. The clock drives the timers for various timing and counting
needs in a system. The clock also updates time and date in the system. A microcontroller provides the
timer circuits for the counting and tuning devices.
5. Reset Circuit, Power-up Reset and Watchdog-Timer Reset
A circuit for reset enables restart of the system from the beginning using a switch or signal. The reset
can also be performed by using an instruction to the processor. A power-up reset circuit enables restart
of the system from beginning whenever power is switched on in the system. A watchdog-timer reset
enables the restart of system when it is stuck up in certain set of instructions for a period more than
preset time-interval. Reset based on reset-switch, reset-instruction or power-up or power-up reset and
watchdog reset can be from same starting instruction or the different starting instructions.
6. Memory
Various forms of memories are used in a system. Figure shows a chart for the various forms of
memories that are present in systems. These are as follows:
(a) Internal RAM
(b) Internal ROM/PROM/EPROM
(c) External RAM for the temporary data and stack (in most systems)
(d) Internal caches (in pipelined and superscalar microprocessors)
(e) Internal EEPROM or flash
(I) Memory Stick (card): video, images, songs, or speeches and large storage in digital camera, mobile
systems
(g) External ROM or PROM for embedding soft are (in almost all other than microcontrollers-based
systems)
(h) RAM Memory buffers at the ports
A system embeds(locates) the following either in the internal ROM, PROM or in an external ROM or
PROM of microcontroller; boot-up programs, initialization data, strings for an initial screen-display or
initial state of the system, the programs for various tasks, ISRs and operating system kernel. The system
has RAMs for saving temporary data, stack and buffers that are needed during a program run. The
system also has flash for storing non-volatile results.
7 Input, Output and I/O Ports, I/O Buses and I/O interfaces
The system gets inputs from physical devices through the input ports. Following are the examples
A processor identifies each input port by its memory buffer address, called port address. Just as a
memory location holding a byte or word is identified by an address, each input port is identified by the
address. The system gets the inputs by the read operations at the port addresses. The system has output
ports through which it sends output bytes to the real world.
Each output port is identified by its memory-buffer address(es) called port address. The system sends the
output by a write operation to the port address. There are also general- purpose ports for both the input
and output (I/O) operations.
8. Bus
Processor of a system might have to be connected to a number of other devices and systems. A bus
consists of a common set of lines to interconnect the multiple devices, hardware units and systems. It
enables the communication between two units at any given instance. The remaining units remain in an in
connected state during communication between these two. A bus communication protocol specifies the
ways of communication of signals on the bus. At any instance, a pus may be a serial bus or a parallel bus
transferring one bit or multiple data bits respectively. Protocol also specifies ways of arbitration when
several devices need to communicate through the bus. Alternatively, protocol specifies ways of polling
from each device for need of the bus at an instance. Protocol also specifies ways of daisy chaining the
devices so that, at an instance, the bus is -anted to a device according to the device priority in the chain.