Embedded Systems - Information Document
Embedded Systems - Information Document
The document also serves the purpose of explaining any topic that I wish to revise.
Unit 1 – Introduction to Embedded Systems.
Harvard Architecture:
Arithmetic
Logic Unit
Instructions
Control Unit Data Memory
Memory
Input /
Output Ports
Here, only the Instructions Memory Bus is Uni-directional, wherein data only travels from the
Memory to the Control Unit.
Rest other buses are Bi-directional.
Arithmetic
Logic Unit
Memory
(Instructions and
Data Memory)
Figure 2:
Block
All buses are Uni-directional.
The memory has two buses, one for Address and one for Data.
Date of Addition: 28th August 2024.
1. Processor Power:
a. Processor Power is the capability of an Embedded processor to execute tasks
smoothly.
b. Processor Power has many aspects, such as Clock Speed, Power consumption, Core
Count and Processor Architecture.
c. Processor Power is an important characteristic which determines how quickly an
Embedded system can respond to inputs and provide outputs.
2. Memory:
a. Memory is the capacity of data or instructions storage supported by an Embedded
System.
b. The memory stores mainly the Firmware of Embedded system.
c. This characteristic determines the scalability of firmware.
3. Operating System:
a. Operating System is a system of many hardware and software components to
maintain tasks, execution of instructions in a proper manner with limited resources.
b. Embedded Systems mostly run on Real-Time Operating Systems to provide
responsive performance.
4. Reliability:
a. Reliability refers to the dependence of users on the Embedded System to respond in
every situation and not fail often.
b. For example, a highly reliable embedded system fails rarely and manages to serve
the user for the majority of its lifespan.
c. Reliability defines the realistic assessment of the probability of system failure.
5. Performance
6. Power consumption
7. NRE cost
8. Unit cost
9. Size
10. Flexibility
11. Prototype time
12. Time to market
13. Maintainability
14. Correctness
15. Safety
Features of 8051:
Features of PIC:
Features of ARM:
Small-scale Embedded systems are simple systems which have limited hardware and
software capabilities. They typically use an 8-bit or 16-bit microcontroller.
These systems are mostly battery-operated systems and are small in size. These systems are
embedded in a single board.
For example, toys and simple thermostats are small-scale embedded systems.
TMOD –
TMOD stands for Timer Mode. This is a Special Function Register (SFR) which is used to set
the mode or method in which a Timer operates.
This register is 8 bits wide and is divided into 4-bit fields, with each field controller one timer.
Below is the Format of TMOD register, as well as the description of each bit.
Bit 7 .. .. .. .. .. .. Bit 0
GATE1 C/T1 T1M1 T1M0 GATE0 C/T0 T0M1 T0M0
TCON –
TCON stands for Timer Control. This register controls the operating state(s) of a Timer.
In short, TCON is a register used for defining, or knowing the ‘state’ of Timer.
Below is its format:
The TCON register is divided into 4 fields, each contain a control bit for Timer 1 and Timer 0
alternatively.
The first field (bit 7 and bit 6) is for the Timer 1’s state.
The second field is for Timer 0’s state.
The third field is again for Timer 0, but this time for controlling the Timer 1’s Interrupt Type.
The fourth field is again for Timer 1, but this time for controlling the Timer 0’s Interrupt Type.
In short, 13-bit was used in predecessor processors of 8051 such as 8048. Timers could not be 16-bit
in earlier times. Thus, to maintain backward compatibility, 13-bit was added to make code from older
devices portable to newer devices.
GATE bit makes it so that the Timer is only started by TR bit when INT of respective number is
activated.
When GATE is not activated, the Timer runs upon setting TR bit, regardless of whether INT bit is Low
or not. When GATE is activated, TR bit will not start the Timer until and unless INT bit is Low. (INT is
active low)
These crystals offer exact baud rate values, hence these are used in applications where serial
communication is used quite often.
Unit 3 – Communication Standards and Protocols
Serial Communication:
Serial communication is in which any byte that is to be transferred is first converted into a sequence
of bits (8-bits), and then the bits are individually transmitted through a single communication
channel such as Co-axial cables, single copper tracks / wires.
The communication type is cheap to implement due to requirement of only a single channel. This
makes it preferred for long-haul communications.
Recently, serial communication has become common in short distance communications as well, due
to improved: signal integrity, transmission speeds. For example, the famous PCI method has been
replaced by PCI Express due to superiority of serial mode of data transfer.
Serial communication systems may also use modulation techniques to transfer several bits at a time,
thus acting like a semi-parallel system. For example, PCIe uses (Pulse Amplitude Modulation Four
levels) PAM4 (groups two bits to a single symbol), to replace the regular NRZ or PAM2 type signal,
which transmits one bit at a time.
RS-232 stands for Recommended Standard 232. The name ‘Recommended Standard’ was defined as
a draft initially for serial communication between computers and modems, and actually, the standard
was taken over by EIA (Electronic Industries Alliance) to renamed to EIA-232, then managed by TIA,
thus TIA-232, and as ANSI accrediated TIA, the standard was also known as ANSI TIA-232.
With main information in concern, RS stands for Recommended Standard, and it was indeed the
recommended standard that was to be used in serial communication between computers, hence the
name, and 232 means the standard number.
Unit 4 – Interfacing of Input and Output devices
In this chapter, we will study about the method of interfacing various common electronics modules.
This module allows us to display readable characters, through an arrangement of a Backlight and a
Liquid Crystal Display layer which blocks light as per applied electrical signal. The dark regions which
appear as a result are formed in such a way that they become human-readable.
The LCD Module has 16 pins. Each pin is necessary for the functioning of the module.
First pin starts with Ground (GND). The following pins are in the sequence below:
i) Vcc
ii) Vee
iii) RS
iv) R/W
v) E
vi) DB0 till DB7 (8 data pins total)
vii) LED +
viii) LED –
Vcc is the positive supply (Collector voltage) which is required by the LCD module’s microcontrollers
and logical functioning. LED Backlight has no resemblance with this pin.
Vee is the Contrast adjustment supply voltage (Emitter voltage) which determines the brightness
difference between Foreground (LCD characters) and background (Backlight). High contrast means
clearer definition of characters.
RS stands for Register Select and through this pin, selection of the type of data sent at DB pins is
declared. Through this pin, LCD is instructed about the type of operation to perform using the bits
received at its DB pins. When R/S is Low, the LCD module selects the Command register, which
considers the data byte as a command and performs a lookup for the command, followed with the
execution of the command. When R/S is High, LCD declares the bits as Data, and displays the
corresponding memory location’s character on the screen.
R/W stands for Read or Write, through which we inform the LCD about the type of operation we wish
to perform. When this pin is Low, LCD considers Write related instructions and coordinates with the
user accordingly. When the pin is High, LCD memory is available for the user to read; the user is able
to request the content of mentioned memory location.
E means Enable, which Enables the input of bits at the Data Byte (DB) pins. When this pin is held
Low, bits at DB port are not latched and considered. When this pin is High, bits at the DB port are
considered by the LCD and processed. This pin is typically held Low to prevent noise spikes at DB
Port, causing malfunctions. The Enable pin is held high right before sending data at DB port, and
immediately held Low after.
LCD Commands
LCD Commands instruct an LCD about the functioning of character formation. It instructs the
configuration of display, configuration of character size, cursor visibility, lines to activate, bit-interface
to use (4 or 8 bit) and more.
1) 0x01: This command instructs the LCD module to clear the DGRAM (a RAM which stores
characters in display), then move the cursor to the starting position.
2) 0x38: This command performs multiple functions at once. It sets the bit-interface to the
regular 8-bits, instructs the LCD module to display Two Rows, and sets the character style to
5x7 dot matrix.
3) 0x0F: This command activates the Display, displays the cursor, and instructs LCD to make the
Cursor blink.