Professional Documents
Culture Documents
What is a system?
Characteristics of ES
ES architecture
Basic block diagram of MP & MC
User Interfaces
Software
&
Input variables Hardware Output variables
MP or MC
OUTPUT
INPUT
CONTROLLER
FREQUENCY
GENERATOR
Medical area:-
Banking:- ATMs…
Military:- Radar…
etc
Abrham Debasu (Assistant Professor)
Characteristics of ES
Restricted memory
Abrham Debasu (Assistant Professor)
ES architecture
Von Neumann
Harvard Architecture
MC
Memory
Program/Instruction
Bus
Data
Instruction/ Program
MC
Data
Instruction queue
U
AL
Flags
MC Memory
I/O port
BUS
Based on
Bit operation
Instruction set
8 bit MC
(Intel’s 8031,8051, Atmel AVR)
16 bit MC
(Intel 8096)
32 bit MC
(AVR32, ARM)
01 02 03 04
@ @
Mega
Special purpose Classic
Tiny 8
13 16
AT90CAN… AT90S2313
25 32
AT90WM… AT90S2323
44 64
AT90USB… AT90S4433
84 1280
AT mega 32 32K 2K 1K 32
I/O pins
8 to 100 pins for I/O
32 X 8
General Purpose Registers
for alu operations
Status Register
Program PC
memory Register file
ALU
32KB Data
Memory
Instruction
register
Instruction
Decoder
Abrham Debasu (Assistant Professor)
LDI R16,128
LDI R17,128
Add R16,R17
Program counter
Program
Memory
Read Update
Instruction Register
Instruction Decoder
Write Write
ALU
Register File Memory
Process Write
$FFFF EPROM
ROM reading assignment
Abrham Debasu (Assistant Professor)
Review questions
1. What is the basic difference between Von Neumann and Harvard architecture of
embedded system?
3. Draw the building block of an embedded system and briefly explain the working
principle?
Register Mode
X-register 7 0 7 0
R27 R26
Y-register 7 0 7 0
R29 R28
7
Z-register 0 7 0
R31 R30
OP
15 0
OP
@ OP
Register File
OP
It has only 8 bit data type as all the register are 8 bits
HEX numbers
Ex:-
0X15 or $15
Abrham Debasu (Assistant Professor)
Binary numbers Decimal numbers
Ex:- Ex:-
0b01110011 15
0B01110011 16 etc
ASCII
Arithmetic instruction
ADD, SUB, MUL, INC, DEC….
RD must be R16-R31
Note: We cannot load values into registers R0-R15 using LDI instruction
Note: you cannot copy or store an immediate value directly to SRAM. You must be
done via the GPRs
LSL
LSR
ROL
ROR
0
Oscillator
16Mhz
Timer/Counter Register
1
External
PIN Flags
0/1
==
Comparator
Performance
Middleware
Error-free
Task shifting
PIN CONFIGURTION
Reading assignment
Atmega328P
ARDUINO UNO
ARDUINO IDE SOFTWARE
•1 x Arduino
•1 x breadboard
•Regulators
•jumper wires
Memory
U
AL
Flags
Instruction queue
U
AL
Flags
MOV
IN
OUT… etc.
Rule
Must be the same size
Both can not be memory
An immediate value can not be directly move
to segment
OUT
Syntax
OUT <port #>, AX/AL