0% found this document useful (0 votes)
8 views

Module 1

An embedded system is a specialized electronic system designed to perform specific functions, combining hardware and firmware. It differs from general-purpose computing systems in that it is tailored for specific applications, often with deterministic behavior and power efficiency. The document also covers the history, classification, and core components of embedded systems, highlighting their evolution from early vacuum tube technologies to modern System on Chips (SoCs) and the role of microprocessors and microcontrollers.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views

Module 1

An embedded system is a specialized electronic system designed to perform specific functions, combining hardware and firmware. It differs from general-purpose computing systems in that it is tailored for specific applications, often with deterministic behavior and power efficiency. The document also covers the history, classification, and core components of embedded systems, highlighting their evolution from early vacuum tube technologies to modern System on Chips (SoCs) and the role of microprocessors and microcontrollers.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 49

INTRODUCTION TO EMBEDDED SYSTEM

• WHAT IS AN EMBEDDED SYSTEM?


An embedded system is an electronic/electro-
mechanical system designed to perform a specific
function and is a combination of both hardware
and firmware (software).
GENERAL COMPUTING SYSTEMS vs embedded system

General Purpose Computing System Embedded System


A system which is a combination of a generic hardware A system which is a combination of special purpose
and a General Purpose Operating System for executing a hardware and embedded OS for executing a specific set
variety of applications of applications
Contains a General Purpose Operating System (GPOS) May or may not contain an operating system for
functioning
Applications are alterable (programmable) by the user (It The firmware of the embedded system is pre-
is programmed
possible for the end user to re-install the operating and it is non-alterable by the end-user (There may be
system, and also add or remove user applications) exceptions
for systems supporting OS kernel image
flashing
through special hardware settings)
Example of General purpose system

Embedded system
General Purpose Computing System Embedded System
Performance is the key deciding factor in the selection Application-specific requirements (like performance,
of the system. Always, ‘Faster is Better’ power requirements, memory usage, etc.) are the key
deciding factors
Less/not at all tailored towards reduced operating Highly tailored to take advantage of the power saving
power requirements, options for different levels of modes supported by the hardware and the operating
power management. system
Response requirements are not time-critical For certain category of embedded systems like mission
critical systems, the response time requirement is
highly critical
Need not be deterministic in execution behaviour Execution behaviour is deterministic for certain types
of embedded systems like ‘Hard Real Time’ systems

HISTORY OF EMBEDDED SYSTEMS


• In the olden days, embedded systems were built around the old vacuum tube and transistor technologies and
the embedded algorithm was developed in low level languages.
• The first recognised modern embedded system is the Apollo Guidance Computer (AGC) developed by the
MIT Instrumentation Laboratory for the lunar expedition. They ran the inertial guidance systems of both the
Command Module (CM) and the Lunar Excursion Module (LEM).
• The Command Module was designed to encircle the moon while the Lunar Module and its crew were
designed to go down to the moon surface and land there safely. The Lunar Module featured in total 18
engines.
• There were 16 reaction control thrusters, a descent engine and an
ascent engine.
• The descent engine was ‘designed to’ provide thrust to the lunar
module out of the lunar orbit and land it safely on the moon.
• MIT’s original design was based on 4K words of fixed memory (Read
Only Memory) and 256 words of erasable memory (Random Access
Memory).
• By June 1963, the figures reached 10K of fixed and 1K of erasable
memory. The final configuration was 36K words of fixed memory and
2K words of erasable memory.
• The clock frequency of the first microchip proto model used in AGC
was 1.024 MHz and it was derived from a 2.048 MHz crystal clock.
• The computing unit of AGC consisted of approximately 11 instructions
and 16 bit word logic.
Apollo Guidance Computer (AGC)
• Around 5000 ICs (3-input NOR gates, RTL logic) supplied by Fairchild
Semiconductor were used in this design. The user interface unit of
AGC is known as DSKY (display/keyboard).
• DSKY looked like a calculator type keypad with an array of numerals.
It was used for inputting the commands to the module numerically.
• The fi rst mass-produced embedded system was the guidance
computer for the Minuteman-I missile in 1961.
• It was the ‘Autonetics D-17’ guidance computer, built using discrete
transistor logic and a hard-disk for main memory.
• The first integrated circuit was produced in September 1958 but
computers using them didn’t begin to appear until 1963.
• NASA for the Apollo Guidance Computer and by the US military in the
Minuteman-II intercontinental ballistic missile.
CLASSIFICATION OF EMBEDDED SYSTEMS
(1) Based on generation
(2) Complexity and performance requirements
(3) Based on deterministic behaviour
(4) Based on triggering
Classification Based on Generation
First Generation
• The early embedded systems were built around 8bit microprocessors
like 8085 and Z80, and 4bit microcontrollers.
• Simple in hardware circuits with firmware developed in Assembly code.
• Digital telephone keypads, stepper motor control units etc. are
examples of this.
Second Generation
• These are embedded systems built around 16bit microprocessors and
8 or 16 bit microcontrollers, following the first generation embedded
systems.
• The instruction set for the second generation processors/controllers
were much more complex and powerful than the first generation
processors/ controllers.
• Some of the second generation embedded systems contained
embedded operating systems for their operation. Data Acquisition
Systems, SCADA systems, etc. are examples of second generation
embedded systems.
Third Generation
• Powerful 32bit processors and 16bit microcontrollers for their design.
A new concept of application and domain specific
processors/controllers like Digital Signal Processors (DSP) and
Application Specific Integrated Circuits (ASICs) came into the picture.
• The instruction set of processors became more complex and powerful
and the concept of instruction pipelining also evolved. Processors like
Intel Pentium, Motorola
• 68K, etc. gained attention in high performance embedded
requirements.
• Dedicated embedded real time and general purpose operating
systems entered into the embedded market.
• Embedded systems spread its ground to areas like robotics, media,
industrial process control, networking, etc.
Fourth Generation
• The advent of System on Chips (SoC), reconfigurable processors and
multicore processors are bringing high performance, tight integration
and miniaturisation into the embedded device market.
• The SoC technique implements a total system on a chip by integrating
different functionalities with a processor core on an integrated circuit.
We will discuss about SoCs in a later chapter.
• The fourth generation embedded systems are making use of high
performance real time embedded operating systems for their
functioning. Smart phone devices, mobile internet devices (MIDs),
etc. are examples of fourth generation embedded systems.
Classification Based on Complexity and Performance
Small-Scale Embedded Systems
• Embedded systems which are simple in application needs and where
the performance requirements are not time critical fall under this
category.
• An electronic toy is a typical example of a small-scale embedded
system.
• Small-scale embedded systems are usually built around low
performance and low cost 8 or 16 bit
microprocessors/microcontrollers. A small-scale embedded system
may or may not contain an operating system for its functioning.
Medium-Scale Embedded Systems
• Embedded systems which are slightly complex in hardware and firmware (software)
requirements fall under this category.
• Medium-scale embedded systems are usually built around medium performance, low cost 16
or 32 bit microprocessors/microcontrollers or digital signal processors.
• They usually contain an embedded operating system (either general purpose or real time
operating system) for functioning.
Large-Scale Embedded Systems/Complex Systems
• Embedded systems which involve highly complex hardware and firmware requirements fall
under this category. They are employed in mission
• critical applications demanding high performance. Such systems are commonly built around
high performance 32 or 64 bit RISC processors/controllers or Reconfigurable System on Chip
( RSoC) or multi-core processors and programmable logic devices.
• They may contain multiple processors/controllers and co-units/hardware accelerators for
offloading the processing requirements from the main processor of the system.
• Decoding/ encoding of media, cryptographic function implementation, etc. are examples for
processing requirements which can be implemented using a co-processor/hardware
accelerator.
• Complex embedded systems usually contain a high performance Real Time Operating System
(RTOS) for task scheduling, prioritisation, and management.
• PURPOSE OF EMBEDDED SYSTEMS
(1) Data collection/Storage/Representation
(2) Data communication
(3) Data (signal) processing
(4) Monitoring
(5) Control
(6) Application specific user interface
• The Typical Embedded System
• A typical embedded system (Fig. 2.1) contains a single chip controller, which acts as the master
brain of the system. The controller can be a Microprocessor (e.g. Intel 8085) or a
microcontroller (e.g. Atmel AT89C51)
• or a Field Programmable Gate Array (FPGA) device (e.g. Xilinx Spartan) or a Digital Signal
Processor ( DSP)
• Application Specific Standard Product (ASSP) (e.g. ADE7760 Single Phase Energy Metreing IC
from)
• Embedded hardware/software 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 O/p ports of the system, in response to the input signals provided by
the end users or Sensors which are connected to the input ports.
• Hence an embedded system can be viewed as a reactive system. The control is achieved by
processing the information coming from the sensors and user interfaces, and controlling some
actuators that regulate the physical variable. Key boards, push button switches, etc. are
examples for common user interface input devices whereas LEDs, liquid crystal displays,
piezoelectric buzzers, etc.
• For example, if the embedded system is designed for any handheld application, such as a
mobile handset application, then the system should contain user interfaces like a keyboard for
performing input operations and display unit for providing users the status of various activities
in progress.
• CORE OF THE EMBEDDED SYSTEM
(1) General Purpose and Domain Specific Processors
1.1 Microprocessors
1.2 Microcontrollers
1.3 Digital Signal Processors
(2) Application Specific Integrated Circuits (ASICs)
(3) Programmable Logic Devices (PLDs)
(4) Commercial off-the-shelf Components (COTS)
General Purpose and Domain Specific Processors
• Almost 80% of the embedded systems are processor/controller based. The processor
may be a microprocessor or a microcontroller or a digital signal processor, depending
on the domain and application.
• Most of the embedded systems in the industrial control and monitoring applications
make use of the commonly available microprocessors or microcontrollers whereas
domains which require signal processing such as speech coding, speech recognition,
etc.
• Microprocessors
• A Microprocessor is a silicon chip representing a central processing unit (CPU), which is capable of performing
arithmetic as well as logical operations according to a pre-defined set of instructions, which is specific to the
manufacturer.
• In general, the CPU contains the Arithmetic and Logic Unit (ALU), control unit and working registers. A
microprocessor is a dependent unit and it requires the combination of other hardware like memory, timer unit,
and interrupt controller, etc. for proper functioning.
• Intel claims the credit for developing the first microprocessor unit Intel 4004, a 4bit processor which was
released in November 1971. It featured 1K data memory.
• sixteen 4bit general purpose registers and 46 instructions.
• In 1972, 14 more instructions were added to the 4004 instruction set and the program space is upgraded to 8K.
Also interrupt capabilities were added to it and it is renamed as Intel 4040.
• It was quickly replaced in April 1972 by Intel 8008 which was similar to Intel 4040, the only difference was
• that its program counter was 14 bits wide and the 8008 served as a terminal controller.
• In April 1974 Intel launched the first 8 bit processor, the Intel 8080, with 16bit address bus and program counter,
and seven 8bit registers.
• Intel 8080 was the most commonly used processors for industrial control and other embedded applications in
the 1975s.
• Intel 8080, Motorola 6800, Z80 processor,
• Intel, AMD, Freescale, GLOBALFOUNDRIES, TI, Cyrix, NVIDIA, Qualcomm, MediaTek, etc. are the key players in
the processor market
• Microcontrollers
• A Microcontroller is a highly integrated chip that contains a CPU, scratch pad RAM, special and general
purpose register arrays, on chip ROM/FLASH memory for program storage, timer and interrupt control
units and dedicated I/O ports.
Microcontrollers can be considered as a super set of microprocessors. Since a microcontroller contains all
the necessary functional blocks for independent working, they found greater place in the embedded
domain in place of microprocessors.
• Apart from this, they are cheap, cost effective and are readily available in the market. Texas Instrument’s
TMS 1000 is considered as the world’s first microcontroller.
• We cannot say it as a fully functional microcontroller when we compare it with modern microcontrollers.
TI followed Intel’s 4004/4040, 4 bit processor design and added some amount of RAM, program storage
memory (ROM) and I/O support on a single chip, there by eliminated the requirement of multiple
hardware chips for self-functioning.
• Provision to add custom instructions to the CPU was another innovative feature of TMS 1000. TMS 1000
was released in 1974.
• In 1977 Intel entered the microcontroller market with a family of controllers coming under one umbrella
• named MCS-48TM family. The processors came under this family were 8038HL, 8039HL, 8040AHL, 8048H,
8049H, and 8050AH.
• Freescale, Renesas, Zilog, Cypress (Spansion), Infi neon, ST Micro Electronics, EPSON, Texas Instruments,
Toshiba, NXP, Microchip, Analog Devices, Daewoo, Intel, Maxim, Sharp, Silicon Laboratories, HOLTEK,
LAPIS, CYROD, Atmel, etc. are the key players in the microcontroller market.
• Microprocessor vs Microcontroller
Microprocessor Microcontroller
A silicon chip representing a central processing unit (CPU), A microcontroller is a highly integrated chip that contains a
which is capable of performing arithmetic as well as logical CPU, scratchpad RAM, special and general purpose register
operations according to a predefined set of instructions arrays, on chip ROM/FLASH memory for program storage,
timer and interrupt control units and dedicated I/O ports
It is a dependent unit. It requires the combination of other It is a self-contained unit and it doesn’t require external
chips like timers, program and data memory chips, interrupt controller, timer, UART, etc. for its functioning
interrupt controllers, etc. for functioning
Most of the time general purpose in design and operation Mostly application-oriented or domain-specific
Doesn’t contain a built in I/O port. The I/O port Most of the processors contain multiple built-in I/O ports
functionality needs to be implemented with the help of which can be operated as a single 8 or 16 or 32 bit port or
external programmable peripheral interface chips like 8255 as individual port pins
Targeted for high end market where performance is Targeted for embedded market where performance is not
important so critical (At present this demarcation is invalid)
Limited power saving options compared to Includes lot of power saving features
microcontrollers
RISC vs. CISC Processors/Controllers

• The term RISC stands for Reduced Instruction Set Computing. As the
name implies, all RISC processors/controllers possess lesser number
of instructions typically in the range of 30 to 40.
• CISC stands for Complex Instruction Set Computing. From the
definition itself it is clear that the instruction set is complex and
instructions are high in number.
• From a programmers point of view RISC processors are comfortable
since s/he needs to learn only a few instructions, whereas for a CISC
processor s/he needs to learn more number of instructions and
should understand the context of usage of each instruction.
Programmable Logic Devices (PLDs):

• Logic devices provide specific functions, including device-to-device interfacing,


data communication, signal processing, data display, timing and control
operations, and almost every other function a system must perform.
• Logic devices can be classified into two broad categories - Fixed and
Programmable. The circuits in a fixed logic device are permanent, they perform
one function or set of functions - once manufactured, they cannot be changed
• Programmable logic devices (PLDs) offer customers a wide range of logic capacity,
features, speed, and voltage characteristics - and these devices can be re-
configured to perform any number of functions at any time
• Designers can use inexpensive software tools to quickly develop, simulate, and
test their logic designs in PLD based design. The design can be quickly
programmed into a device, and immediately tested in a live circuit
• PLDs are based on re-writable memory technology and the device is
reprogrammed to change the design
Programmable Logic Devices (PLDs) – CPLDs and FPGA
Field Programmable Gate Arrays (FPGAs) and Complex Programmable
Logic Devices (CPLDs) are the two major types of programmable logic
devices.
• FPGA: FPGA is an IC designed to be configured by a designer after
manufacturing.
• FPGAs offer the highest amount of logic density, the most features,
and the highest performance.
• Logic gate is Medium to high density ranging from 1K to 500K system
gates
• These advanced FPGA devices also offer features such as built-in
hardwired processors (such as the IBM Power PC), substantial
amounts of memory, clock management systems, and support for
many of the latest, very fast device-to-device signaling technologies.
• FPGAs are used in a wide variety of applications ranging from data processing
and storage, to instrumentation, telecommunications, and digital signal
processing
CPLD:

• A complex programmable logic device (CPLD) is a programmable logic device with complexity between
that of PALs and FPGAs, and architectural features of both.
• CPLDs, by contrast, offer much smaller amounts of logic - up to about 10,000 gates.
• CPLDs offer very predictable timing characteristics and are therefore ideal for critical control
applications.
• CPLDs such as the Xilinx Cool Runner series also require extremely low amounts of power and are very
inexpensive, making them ideal for cost-sensitive, battery-operated, portable applications such as
mobile phones and digital handheld assistants.
ADVANTAGES OF PLDs:

• PLDs offer customer much more flexibility during design cycle


• Prototype or production-the PLDs are already on a distributor‟s self
and ready for shipment
• PLDs do not require customers to pay for large NRE costs.
• PLDs allow customers to order just the number of parts required
when they need them.
• PLDs are reprogrammable even after a piece of equipment is shipped
to a customer.
• The manufacturers able to add new features or upgrade the PLD
based products that are in the field by uploading new programming file
Commercial off the Shelf Component (COTS):
• A Commercial off-the-shelf (COTS) product is one which is used „as-is‟
• COTS products are designed in such a way to provide easy integration and
interoperability with existing system components
• Typical examples for the COTS hardware unit are Remote Controlled Toy Car
control unit including the RF Circuitry part, High performance, high frequency
microwave electronics (2 to 200 GHz), High bandwidth analog-to-digital
converters, Devices and components for operation at very high temperatures,
Electro-optic IR imaging arrays, UV/IR Detectors etc
• A COTS component in turn contains a General Purpose Processor
(GPP) or Application Specific Instruction Set Processor (ASIP) or
Application Specific Integrated Chip (ASIC)/Application Specific
Standard Product (ASSP) or Programmable Logic Device (PLD).
• The major advantage of using COTS is that they are readily available in
the market and cheap.
• There is no need to design the module yourself and write the
firmware . Everything will be readily supplied by the COTs
manufacturer.
• The major drawback of using COTs component in embedded design is
that the manufacturer may withdraw the product or discontinue the
production of the COTs at any time if rapid change in technology
• This problem adversely affect a commercial manufacturer of the
embedded system which makes use of the specific COTs
Sensors & Actuators:
• Embedded system is in constant interaction with the real world
• Controlling/monitoring functions executed by the embedded system
is achieved in accordance with the changes happening to the Real
World.
• The changes in the system environment or variables are detected by
the sensors connected to the input port of the embedded system.
• It is achieved through an actuator connected to the out port of the
embedded system.
Sensor:
• A transducer device which converts energy from one form to another
for any measurement or control purpose. Sensors acts as input device
• Eg. Hall Effect Sensor which measures the distance between the
cushion and magnet in the Smart Running shoes from adidas
• Example: IR, humidity , PIR(passive infra red) , ultrasonic ,
piezoelectric , smoke sensors
Actuator:
• A form of transducer device (mechanical or electrical) which converts
signals to corresponding physical action (motion). Actuator acts as an
output device
• Eg. Micro motor actuator which adjusts the position of the cushioning
element in the Smart Running shoes from Adidas.
The I/O Subsystem:
• The I/O subsystem of the embedded system facilitates the interaction
of the embedded system with external world.
• The interaction happens through the sensors and actuators connected
to the Input and output ports respectively of the embedded system.
• The sensors may not be directly interfaced to the Input ports, instead
they may be interfaced through signal conditioning and translating
systems like ADC, Optocouplers etc.
1. I/O Devices - Light Emitting Diode (LED):
• Light Emitting Diode (LED) is an output device for visual indication in any
embedded system.
• LED can be used as an indicator for the status of various signals or
situations.
• Typical examples are indicating the presence of power conditions like
„Device ON‟, „Battery low‟ or „Charging of battery‟ for a battery
operated handheld embedded devices.
• LED is a p-n junction diode and it contains an anode and a cathode. For
proper functioning of the LED, the anode of it should be connected to
+ve terminal of the supply voltage and cathode to the –ve terminal of
supply voltage.
• The current flowing through the LED must limited to a value below the
maximum current that it can conduct.
• A resister is used in series between the power supply and the resistor to
limit the current through the LED.
• The typical value for the current falls within the range of 20mA.
• The current through each segment can be limited by connecting a current limiting
resistor to the anode or cathode of each segment.

3. I/O Devices – Optocoupler :


• Optocoupler is a solid state device to isolate two parts of a circuit.
• Optocoupler combines an LED and a photo-transistor in a single housing (package)
• In electronic circuits, optocoupler is used for suppressing interference in data
communication, circuit isolation, High voltage separation, simultaneous separation
and intensification signal etc .
4. I/O Devices – Stepper Motor

• Stepper motor is an electro mechanical device which generates discrete displacement


(motion) in response to dc electrical signals
• It differs from the normal dc motor in its operation. The dc motor produces continuous
rotation on applying dc voltage whereas a stepper motor produces discrete rotation in
response to the dc voltage applied to it
• Stepper motors are widely used in industrial embedded applications, consumer electronic
products and robotics control systems
• The paper feed mechanism of a printer/fax makes use of stepper motors for its functioning.
• Based on the coil winding arrangements, a two phase stepper motor is classified into
1.Unipolar
2.Bipolar
• Unipolar: A unipolar stepper motor contains two windings per phase. The
direction of rotation (clockwise or anticlockwise) of a stepper motor is
controlled by changing the direction of current flow. Current in one direction
flows through one coil and in the opposite direction flows through the other
coil. It is easy to shift the direction of rotation by just switching the terminals
to which the coils are connected

• Bipolar: A bipolar stepper motor contains single winding per phase. For
reversing the motor rotation the current flow through the windings is reversed
dynamically. It requires complex circuitry for current flow reversal
• Full Step In the full step mode both the phases are energised
simultaneously. The coils A, B, C and D are energised in the following
order:

• Wave Step:In the wave step mode only one phase is energised at a
time and each coils of the phase is energised alternatively. The coils A,
B, C, and D are energised in the following order:
Half Step It uses the combination of wave and full step. It has the
highest torque and stability. The coil energising sequence for half step is
given below.
5. The I/O Subsystem – I/O Devices – Relay:

• An electro mechanical device which acts as dynamic path selectors for signals and power.
• The „Relay‟ unit contains a relay coil made up of insulated wire on a metal core and a metal armature
with one or more contacts.
• Relay‟ works on electromagnetic principle.
• When a voltage is applied to the relay coil, current flows through the coil, which in turn generates a
magnetic field.
• The magnetic field attracts the armature core and moves the contact point.
• The movement of the contact point changes the power/signal flow path.
• The Relay is normally controlled using a relay driver circuit connected to the port pin of the
processor/controller.
• A transistor can be used as the relay driver. The transistor can be selected depending on the relay
driving current requirements.
6. The I/O Subsystem – I/O Devices -Piezo Buzzer:

It is a piezoelectric device for generating audio indications in embedded applications.

• A Piezo buzzer contains a piezoelectric diaphragm which produces audible sound in response to the voltage applied to
it.
• Piezoelectric buzzers are available in two types 1.Self-driving 2.External driving
• Self-driving contains are the necessary components to generate sound at a predefined tone.
• External driving piezo Buzzers supports the generation of different tones.

• The tone can be varied by applying a variable pulse train to the piezoelectric buzzer.

• A Piezo Buzzer can be directly interfaced to the port pin of the processor/Controller.
The I/O Subsystem – I/O Devices – Push button switch:

Push Button switch is an input device.


 Push button switch comes in two configurations, namely „Push to Make‟ and „Push to Break‟ 

 The switch is normally in the open state and it makes a circuit contact when it is pushed or pressed in the „Push to
Make‟ configuration.

 In the „Push to Break‟ configuration, the switch is normally in the closed state and it breaks the
circuit contact when it is pushed or pressed
 The push button stays in the „closed‟ (For Push to Make type) or „open‟ (For Push to Break type) state as long as it
is kept in the pushed state and it breaks/makes the circuit connection when it is released. 
 Push button is used for generating a momentary pulse
Keyboard:
• Keyboard is an input device for user interfacing. If the number of keys
required is very limited, push button switches can be used and they
can be directly interfaced to the port pins for reading.
• However, there may be situations demanding a large number of keys
for user input (e.g. PDA device with alpha-numeric keypad for user
data entry).
• Matrix keyboard is an optimum solution for handling large key
requirements. It greatly reduces the number of interface connections.
• The 16 keys are arranged in a 4 column × 4 Row matrix. Figure 2.24
illustrates the connection of keys in a matrix keyboard.
• In a matrix keyboard, the keys are arranged in matrix fashion (i.e. they
are connected in a row and column style). For detecting a key press, the
keyboard uses the scanning technique, where each row of the matrix is
pulled low and the columns are read.
• This process is repeated until the scanning for all rows are completed.
When a row is pulled low and if a key connected to the row is pressed,
reading the column to which the key is connected will give logic 0.
• The software key de-bouncing technique doesn’t require any additional
hardware and is easy to implement. In the software de-bouncing
technique, on detecting a key-press, the key is read again after a de-
bounce delay.
• If the key press is a genuine one, the state of the key will remain as
‘pressed’ on the second read also.
• Pull-up resistors are connected to the column lines to limit the current
that flows to the Row line on a key press.
• Programmable Peripheral Interface ( PPI):
• Programmable Peripheral Interface (PPI) devices are used for extending
the I/O capabilities of processors/controllers. Most of the
processors/controllers provide very limited number of I/O and data
ports and at times it may require more number of I/O ports than the
one supported by the controller/processor. A programmable peripheral
interface device expands the I/O capabilities of the processor/controller.
• 8255A is a popular PPI device for 8bit processors/controllers.
• 8255A supports 24 I/O pins and these I/O pins can be grouped as either
three 8-bit parallel ports (Port A,Port B and Port C) or two 8bit parallel
ports (Port A and Port B) with Port C in any one of the following confi
gurations:
(1) As 8 individual I/O pins
(2) Two 4bit ports namely Port CUPPER (CU) and Port CLOWER (CL)

You might also like