Embedded Systems

54

Transcript of Embedded Systems

Page 1: Embedded Systems
Page 2: Embedded Systems

The embedded system is a combination of computer hardware,

software additional electrical & mechanical parts

A computer is used in such devices primarily as a means to simplify the system design and to provide flexibility.

Embedded systems employ the use of a RTOS (Real-Time

Operating System).

Introduction to Embedded Introduction to Embedded SystemSystem

Page 3: Embedded Systems

Block Diagram of Block Diagram of Embedded SystemEmbedded System

A/D CPU D/A

MEMORY

SENSOR HUMAN INTERFERENCE

ACUTATORS

SOFTWARE

Page 4: Embedded Systems

RAM ROM

I/O Port

Timer Serial COM Port

CPU

• A smaller computer.• On-chip RAM, ROM, I/O ports...• Example:- Motorola’s 6811, Intel’s 8051 and PIC 16X

A single chipA single chip

Microcontroller Microcontroller

Page 5: Embedded Systems
Page 6: Embedded Systems

The 8051 Microcontroller :The 8051 Microcontroller :

• The 8051 is the first microcontroller of the MCS-51 family introduced by Intel Corporation at the end of the 1970’s.

• The 8051 family characteristics:

The 8051 family characteristics:

4K Bytes ROM 128 Bytes RAM Two timer/counters (16

bit) A serial port 32 input/output port Interrupt controller

Page 7: Embedded Systems

8051 Internal Architecture8051 Internal Architecture

Page 8: Embedded Systems

IC 8051 Pin DescriptionIC 8051 Pin Description

GroundGround

Voltage SupplyVoltage Supply

(+5V)

Page 9: Embedded Systems

IC 8051 Pin DescriptionIC 8051 Pin Description

Port 0 fromPort 0 from Pin-39 to Pin-32Pin-39 to Pin-32

An 8-bit open drain bidirectional port. Used to address both data and address

Page 10: Embedded Systems

IC 8051 Pin DescriptionIC 8051 Pin Description

Port 1 fromPort 1 fromPin-1 to pin-8Pin-1 to pin-8

8-bit bidirectional I/O port with internal pull-ups

Page 11: Embedded Systems

IC 8051 Pin DescriptionIC 8051 Pin Description

Port 2 fromPort 2 fromPin-21 to pin-28Pin-21 to pin-28

Used to access address and I/O

Page 12: Embedded Systems

IC 8051 Pin DescriptionIC 8051 Pin Description

Port 3 from Port 3 from Pin-10 to Pin-17Pin-10 to Pin-17

P3.0 : RxD(serial input port)P3.1 :TxD (serial output port)P3.2 :INT0 (external interrupt 0)P3.3 :INT1 (external interrupt 1)P3.4 :T0 (timer 0 external input)P3.5 :T1 (timer 1 external input)P3.6 :WR (external data memory write strobe)P3.7 :RD (external data memory read strobe)

Page 13: Embedded Systems

crystalcrystal

resetreset

External memoryExternal memory

Add. LatchAdd. Latch enableenable

Program Store Program Store EnableEnable

IC 8051 Pin DescriptionIC 8051 Pin Description

Page 14: Embedded Systems

IC 8051 Daily ApplicationsIC 8051 Daily Applications

Moving message displayDigital clock

Traffic Light7 segment display

Page 15: Embedded Systems

Counter / TimersCounter / TimersTwo 16-bit Counter/Timers: TIMER0, TIMER1Up counters, can interrupt on overflow.

Counts:- CPU cycles (crystal/12). “Timer”.-External input (max. half CPU rate). “Counter”.

Page 16: Embedded Systems

TMOD : Counter/Timer Mode TMOD : Counter/Timer Mode RegisterRegister

Gate C/T M1 M0 Gate C/T M1 M0

GATE : Permits INTx pin to enable/disable counter.

- C/T : Set for counter operation, reset for timer operation.

Timer 1Timer 1 Timer 0Timer 0

TMX1 TMX1 TMX1 Description

RST0

RST1

RST2

RST0

RST1

RST2

RST0

RST1

RST2

13 bit timer

16 bit timer

8 bit auto reload

RST3 RST3 RST3 Split timer mode

Page 17: Embedded Systems

Timer control (TCON)Timer control (TCON)

TF : timer flagTR : timer run

TF1 is SET if timer exceeds the maximum limit i.e. : FFFF H

TR starts and stops the timer

The following instruction indicates the condition for start n stop respectively

SET B TR0 : starts the timerCLR B TR0 : stops the timer

TF1 TRI TF0 TR0

Page 18: Embedded Systems

• Immediate addressing modesADD A, #23h (Add immediate data to Acc)

• Register addressing modesADD A, R2 (Add register to Accumulator)

• Direct addressing modesADD A, 40h (Add data at location 40h to

Accumulator)

• Register Indirect addressing modesADD A,@R2 (Add indirect RAM to Acc)

IC 8051 Addressing ModesIC 8051 Addressing Modes

Page 19: Embedded Systems

Interrupts in 8051Interrupts in 8051

• An interrupt is an external or internal event that interrupts the microcontroller to inform it that a device needs its service

• The advantage of interrupts is that the microcontroller can serve many devices (not all at the same time)

time

Interrupt serviceInterrupt serviceProgramProgram ProgramProgram

Page 20: Embedded Systems

EA - ET2 ES ET1 EX1 ET0 EX0

EX0 Enables or disables external interrupt ET0 Enables or disables timer 0 overflow interruptEX1 Enables or disables external interrupt 1ET1 Enables or disables timer 1 overflow interruptES Enables or disables the serial port interruptET2 Enables or disables timer 2 overflow or capture interrupt -- Not implemented, reserved for future useEA Disables all interrupts

External Interrupts

P3.2 INT0 (external interrupt 0)P3.3 INT1 (external interrupt 1)

Interrupts in Interrupts in 80518051

Internal Interrupts

Page 21: Embedded Systems

CPU

General General PurposePurpose

µPµPRAM ROM I/O

PortTimer

Serial COM Port

Data BusData Bus

Address BusAddress Bus

General-Purpose Microprocessor System

CPU for Computers No RAM, ROM, I/O on CPU chip itself Example--Intel’s x86: 8086,8088,80386,80486, Pentium

Many chips on mother boardMany chips on mother board

General Purpose General Purpose MicroprocessorMicroprocessor

Page 22: Embedded Systems
Page 23: Embedded Systems

The 8085 Microprocessor :The 8085 Microprocessor :

The features of INTEL 8085 are :

It is an 8 bit processor. It is a single chip N-MOS

device with 40 pins. It has multiplexed address

and data bus.(AD0-AD7). It works on 5 Volt dc power

supply. The maximum clock

frequency is 3 MHz while minimum frequency is 500kHz.

It provides 74 instructions with 5 different addressing modes.

Page 24: Embedded Systems

IC 8085 Pin DescriptionIC 8085 Pin Description

Page 25: Embedded Systems

• AD0-AD7 Multiplexed Address and data lines.

• A8-A15 Tri-stated higher order address lines.

• ALE Address latch enable is an output signal. It goes high when operation is started by processor .

• S0,S1 These are the status signals used to indicate type of operation. _• RD Read is active low input signal used to read data from I/O device or memory. _• WR Write is an active low output signal used write data on

memory or an I/O device.

IC 8085 Pin DescriptionIC 8085 Pin Description

Page 26: Embedded Systems

IC 8085 Pin DescriptionIC 8085 Pin Description

• READY This an output signal used to check the status of output

device. If it is low, µP will WAIT until it is high.

• TRAP It is an Edge triggered highest priority , non mask able interrupt. After TRAP, restart occurs and execution starts from address 0024H. • RST 5.5,6.5,7.5 These are maskable interrupts and have low priority than TRAP. _• INTR & INTA INTR is a interrupt request signal after which µP generates INTA

or interrupt acknowledge signal. _ • IO/M This is output pin or signal used to indicate whether 8085 is working in I/O mode (IO/M=1) or Memory mode (IO/M=0 ).

Page 27: Embedded Systems

• HOLD & HLDA HOLD is an input signal .When µP receives HOLD signal it completes current machine cycle and stops executing next instruction. In response to HOLD µP generates HLDA that is HOLD Acknowledge signal.

• RESET IN This is input signal. When RESET IN¯ is low µp restarts and starts executing from location 0000H.

• SID Serial input data is input pin used to accept serial 1 bit data

• VCC & VSS Power supply VCC=+ -5Volt& VSS=-GND reference.

• X1 & X2 These are clock input signals and are connected to external LC or RC circuit. These are divide by two so if 6 MHz is connected to X1&X2, the operating frequency becomes 3 MHz

IC 8085 Pin DescriptionIC 8085 Pin Description

Page 28: Embedded Systems

8085 Internal Architecture8085 Internal Architecture

Page 29: Embedded Systems

Accumulator: It is 8 bit general purpose register.It is connected to ALU. So most of the operations are done in

Acc.

Temporary register: All the arithmetic and logical operations are done in the

temporary register but user can’t access it.

Flag: It is a group of 5 flip flops used to know status of various

operations done.

The Flag Register along with Accumulator is called PSWor Program Status Word.

Arithmetic and Logical Arithmetic and Logical GroupGroup

Page 30: Embedded Systems

S: Sign flag is set when result of an operation is negative.

Z: Zero flag is set when result of an operation is 0.

Ac: Auxiliary carry flag is set when there is a carry out of lower nibble or lower four bits of the operation.

CY: Carry flag is set when there is carry generated by an operation.

P: Parity flag is set when result contains even number of 1’s.

Rest are don’t care flip flops.

Arithmetic and Logical Arithmetic and Logical GroupGroup

S Z - AC - P - CY

Flag is given by :

Page 31: Embedded Systems

General purpose There are six general purpose registers in 8085 namely

B,C,D,E,H,L These are used for various data manipulations.

Special purpose: There are two special purpose registers in 8085:

SP : (Stack Pointer) This is a temporary storage memory 16 bit register. Since there are only 6 general purpose registers, there is a need to reuse them

PC : (Program Counter) It is 16 bit register used to point the location from which the next instruction is to be fetched.

Temporary registers (W,Z): These are not available for user. These are loaded only when there is

an operationbeing performed.

Register GroupRegister Group

Page 32: Embedded Systems

• Immediate addressing:Immediate data is transferred to address or

register.Example : MVI A,20H

• Register addressing:Data is transferred from one register to other.Example : MOV A, C

• Indirect addressing:Data is transferred from address pointed by the

data in a register to other register or vice-versa.

Example: MOV A, M

• Implied addressing:These doesn’t require any operand. The data is

specified in Opcode itself.Example: RAL: Rotate left with carry.

IC 8085 Addressing modesIC 8085 Addressing modes

Page 33: Embedded Systems

Interrupts in 8085Interrupts in 8085

• An interrupt is considered to be an emergency signal that may be serviced. The Microprocessor may respond to it as soon as possible.

Interrupts can also be classified into:• Maskable Interrupts (Can be delayed or Rejected)

• Non-Maskable Interrupts (Can not be delayed or Rejected)

The 8085 has 5 interrupt inputs :

The INTR input INTR is mask-able using the EI/DI instruction pair.RST 5.5, 6.5, 7.5 They are all mask-able.TRAP Is the only non-mask-able interrupt in the 8085

Page 34: Embedded Systems

Interrupts in 8085Interrupts in 8085

The 8085 recognizes 8 RESTART instructions: RST0 - RST7 . Each of these would send the execution to a predetermined hard-wired memory location:

Restart Instruction

Equivalent to

RST0 CALL 0000H

RST1 CALL 0008H

RST2 CALL 0010H

RST3 CALL 0018H

RST4 CALL 0020H

RST5 CALL 0028H

RST6 CALL 0030H

RST7 CALL 0038H

Page 35: Embedded Systems

• The µP operates with reference to clock signal. The rise and fall of the pulse of the clock gives one clock cycle.

• Each clock cycle is called a T state and a collection of several T states gives a machine cycle.

• Important machine cycles are :

I. Op-code fetch.II. Memory read.III. Memory write. IV. I/Op-read.V. I/O write.

Timing and State DiagramTiming and State Diagram

Page 36: Embedded Systems

Timing and State DiagramTiming and State DiagramOp-code fetch cycle :Op-code fetch cycle :

Page 37: Embedded Systems

Seven segments are electronic components that can be used to displaying alphanumeric characters, 7 LED are used (as shown in figure) and is designed from a dot-point with the size.

<< pin configuration of seven segment

Seven Segment DisplaySeven Segment Display

Page 38: Embedded Systems

Port Relations Microcontroller with pin >> 7 Segment

7 pins of the microcontroller are used to shape the character of your LED display

Seven Segment DisplaySeven Segment Display

Microcontroller

Page 39: Embedded Systems

Table 1. Configuring the Character 7 Segment Data Table 1. Configuring the Character 7 Segment Data

Seven Segment DisplaySeven Segment Display

Page 40: Embedded Systems

8051 Microcontroller

Design Softwares

Page 41: Embedded Systems

Software’s Used

Keil

µVision

Top View Simulator

Express PCB

Page 42: Embedded Systems

Keil µVision IDEKeil µVision IDE

The µVision IDE from Keil combines project management, make facilities, source code editing, program debugging, and complete simulation in one powerful environment. The µVision development platform is easy-to-use and helping you quickly create embedded programs that work. The µVision editor and debugger are integrated in a single application that provides a seamless embedded project development environment.

Page 43: Embedded Systems
Page 44: Embedded Systems

Top View SimulatorTop View Simulator• Topview Simulator gives

an excellent simulation environment for MCS 51 Microcontroller. 

A beginner can learn about 8051 based embedded solutions without any hardware. An experienced designer, you may find most of the required facilities built in the simulator that enabling  you to complete your next project without waiting for the target hardware. 

Page 45: Embedded Systems

Top View SimulatorTop View Simulator

A Top View Simulator Program

Page 46: Embedded Systems

Express PCBExpress PCB

Express PCB allows you to design schematics and PCB's. It is ideal for those that are looking to design anywhere from a two to four layer circuit board. A drop and drag design allows users to pick the components of the circuit board and drop it onto the circuit board in the software program. The designer can then place various pins in the circuit board to show where things need to be connected. It also has the ability of the program to show the designer where there are flaws in their design.

Page 47: Embedded Systems

This way we can include resistors

This way we can include different

kind of IC’s

Express Express PCBPCB

Page 48: Embedded Systems

DC Motor interfacing DC Motor interfacing with with MicrocontrollersMicrocontrollersDC motors are always preferred over stepper motors.

There are many things which we can do with our DC motor when interfaced with

microcontroller.

For example:For example:• we can control the speed of motor, • we can control the direction of rotation, • we can also do encoding of the rotation made by DC motor i.e.

keeping track of how many turns are made by our motors etc.

Usually H-bridge is preffered way of interfacing a DC motor.Usually H-bridge is preffered way of interfacing a DC motor.

L293D is most used H-Bridge driver IC. L293D is most used H-Bridge driver IC.

Page 49: Embedded Systems

Working of H-BridgeWorking of H-BridgeThe name "H-Bridge" is derived from the actual shape of the

switching circuit whichcontrol the motion of the motor. It is also known as "Full Bridge".

Basically there are four switching elements in the H-Bridge as shown

Page 50: Embedded Systems

Truth Table For H-Bridge

Truth Table

High Left High Right Low Left Low Right Description

On Off Off OnMotor runs clockwise

Off On On OffMotor runs

anti-clockwise

On On Off OffMotor stops

or decelerates

Off Off On OnMotor stops

or decelerates

Working of H-Working of H-BridgeBridge

Page 51: Embedded Systems

Stepper MotorStepper Motor

Of all motors, step motor is the easiest to control. It's handling simplicity is really hard to deny - all there is to do is to bring the sequence of rectangle impulses to one input of step controller and direction information to another input. Direction information is very simple and comes down to "left" for logical one on that pin and "right" for logical zero.

Motor control  is also very simple - every impulse makes the motor operating for one step and if there is no impulse the motor won't start. Pause between impulses can be shorter or longer and it defines revolution rate. This rate cannot be infinite because the motor won't be able to "catch up" with all the impulses (documentation on specific motor should contain such information)..

Page 52: Embedded Systems

Interfacing of Stepper motor Interfacing of Stepper motor with 8051with 8051

Page 53: Embedded Systems

Clock-wise Rotation of the Clock-wise Rotation of the CoilsCoils

1 2 3 4

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

Truth table

Page 54: Embedded Systems

Akshat Rohatgi