Hydrabad PPT PDF
Hydrabad PPT PDF
• Embedded Systems
• µP vs µC
• Processor Architecture
• Memories
• I/O
• BUSES
• LAB
vivekn@cdac.in
Why Learn ES
– Lot of hype
vivekn@cdac.in
Embedded Systems Defined ?
• No formal definition
• Generally accepted to be a type of computer designed to
solve a specific problem or task
• A combination of hardware and software, and perhaps
additional mechanical or other parts, designed to
perform a dedicated function.
• In some cases, embedded systems are part of a larger
system or product
vivekn@cdac.in
App1 App2 APP3
HARDWARE HARDWARE
vivekn@cdac.in
Design Consideration
S/W
Cost
Reliability
develop
ment
Size
time
Embedded
Systems
Memory
Flexibility Requreme
nt
Performa
Power
nce
vivekn@cdac.in
General Framework
• Embedded systems typically use a processor combined with other hardware and
software to solve a specific computing problem.
• The processors range from simple (by today’s standards) 8-bit microcontrollers to the
worlds fastest and most sophisticated 64-bit microprocessors.
• Embedded systems range from large computers such as an air traffic control system
to small computers.
vivekn@cdac.in
Embedded System looks like . .
CPU
Memory chips
Serial Interface
Digital I/O
Analog I/O
LAN Interface
I/O controller
chips
vivekn@cdac.in
CPUs
• CPUs can be
– Microprocessors or Micro controllers
vivekn@cdac.in
Micro Processors
• Micro Processor is the Integration of a number of useful function in a
single IC Package
– Execute the stored set of instructions to carry out user defined task
– Ability to access external memory chips for both read and write data from
and to the memory
vivekn@cdac.in
Microprocessor Vs Microcontroller
• Contains ALU, GP Registers, SP, In addition in built ROM, RAM, IO
PC, Clock timing circuit and devices, Timers
interrupts
• Requires more H/W, increase in Requires less H/W, reduces PCB size
PCB size & increases reliability
vivekn@cdac.in
Microcontroller Defined
vivekn@cdac.in
Classification of Microcontrollers
• μc are classified into :
– 8 bit μc e.g.: AVR 8515, Intel 8051, Motorola HC05
– 16 bit μc e.g.: Siemens 80167, Intel 80C196
– 32 bit μc e.g.:MCF5272, Power PC 8xxx
– 64 bit μc e.g.: Texas 64xxx series
• The number of bits indicate the internal data bus of a μc. It shows how
many bits of data the μc can process simultaneously.
vivekn@cdac.in
Processor Architecture
Princeton Harvard
vivekn@cdac.in
RISC vs CISC – Architecture
RISC CISC
vivekn@cdac.in
RISC vs CISC - Organization
RISC CISC
vivekn@cdac.in
RISC vs CISC - Organization
RISC CISC
vivekn@cdac.in
RISC CISC
Feature Low Power RISC PC/Desktop CISC
Memory Management
vivekn@cdac.in
Life cycle of an instruction
• As the instruction moves through the processor it goes through the
following stages.
– Fetch : Instruction fetched from the address stored in the program counter.
– Decode : Instruction decoded and registers read
– Execute : in the ALU
– Write back : Results written back to registers or memory.
vivekn@cdac.in
Non Pipelined Example
F2 D2 E2 W2
Instruction 1 Instruction 2
• 2 instructions take 4ns each
vivekn@cdac.in
Pipeline Example
• Each stage is utilized 1ns 2ns 3ns 4ns 5ns 6ns 7ns 8ns
at every clock cycle. F1 D1 E1 W1
F2 D2 E2 W2
F3 D3 E3 W3
• 5 Instructions are F4 D4 E4 W4
executed in 8ns F5 D5 E5 W5
F6 D6 E6
F7 D7
• Resultant throughput F8
is 1 instruction per
cycle Instruction 1
Instruction 2
Instruction 3
Instruction 4
Instruction 5
vivekn@cdac.in
Big Endian Little Endian
• Stores the most significant part Stores the least significant part
first
first e.g.: Intel
• e.g.: Motorola
e.g.: consider data 0x4567 at
location 0x5050
45
67
67
vivekn@cdac.in
45
Memory Mapped IO IO Mapped IO
• IO devices are treated as like IO devices are separately
interfaced
memory Separate instruction set
• Memory related instructions available
should be used to access IO
memory memory
Input
Input CPU
CPU memory
output
output
vivekn@cdac.in
Memory
vivekn@cdac.in
Types of RAM
• Static RAM (SRAM) and Dynamic RAM (DRAM)
• SRAM retains its contents as long as electrical power is applied to the chip.
If the power is turned off or lost temporarily, its contents will be lost
forever.
• DRAM has an extremely short data lifetime - typically about four
milliseconds. This is true even when power is applied constantly.
• When deciding which type of RAM to use, a system designer must consider
access time and cost.
• Many embedded systems include both types.
vivekn@cdac.in
Types of ROM
• Masked ROM - hardwired devices that contained a preprogrammed set of
data or instructions. The primary advantage of a masked ROM is its low
production cost.
vivekn@cdac.in
Hybrid Memories
• EEPROM(electrically-erasable-and-programmable) - the erase operation is
accomplished electrically. Any byte within an EEPROM may be erased and
rewritten.
• Flash memory devices are
– High density, low cost, nonvolatile, fast (to read, but not to write), and
electrically reprogrammable.
– These advantages are overwhelming and, as a direct result, the use of
flash memory has increased dramatically in embedded systems.
– Flash devices can only be erased one sector at a time, not byte-by-byte.
vivekn@cdac.in
Hybrid Memories
• NVRAM (non-volatile RAM) - An NVRAM is usually just an SRAM with a
battery backup.
– An NVRAM is usually just an SRAM with a battery backup.
– When the power is turned on, the NVRAM operates just like any other
SRAM.
– When the power is turned off, the NVRAM draws just enough power
from the battery to retain its data.
– NVRAM is fairly common in embedded systems, typically limited to the
storage of a few hundred bytes of system-critical information
vivekn@cdac.in
General components of a Microcontroller
• CPU – Heart of the controller. Composed of registers, ALU, instruction decoder and
the control circuitry.
• On Chip Memory – Used to store information
Memory
RAM (Volatile)
ROM(Non Volatile)
1.SRAM
1.PROM
2.DRAM
2.UV-EPROM
3.NV-RAM
3.EEPROM
4.FLASH
vivekn@cdac.in
General components of a Microcontroller
• I/O Ports
– Used to interface with the peripheral devices and the controller.
– Analog I/O and Digital I/O
• Timer/Counter
– For keeping Time and/or calculating the amount of time between
events
– For counting the events
– Baud rate generation
vivekn@cdac.in
FLASH MEMORY
• Flash is believed to be close to perfect memory
• Advantages
– Fast read speeds
– Long-term data retention at much lower cost
• Drawbacks
– Doesn’t allow random bytes to be updated on the fly
– Limitations on number of times it can be re-written
vivekn@cdac.in
Types of Flash Memory
NOR NAND
vivekn@cdac.in
NOR vs NAND
The parallel interconnection of the • The arrangement of these cells is
memory cells helps account for
their fast random read significantly more compact than in
accessibility. NOR.
• The select gates allow higher
programming and erase voltages
to be used without disturbing the
charge stored in unselected cells.
• fast programming and erase times
• Poor random read performance
vivekn@cdac.in
Flash memory read characteristics
vivekn@cdac.in
Flash memory write characteristics
vivekn@cdac.in
The winner is . . .
• NOR provides faster reads and allows random byte access
• NAND writes and erases data faster, costs less per Mb and uses less power
than NOR.
• If the ROM (here flash) is rarely updated, then NOR is obvious choice
• If data is being logged to a flash disk then NAND is the right memory
vivekn@cdac.in
vivekn@cdac.in
vivekn@cdac.in
Bus Mechanisms
• UART/ USART
• SPI – 4 Mbps
• I2C – 1 to 2 Mbps
• CAN – few Mbps
• PCI – 32 / 64 – 133 Mhz
• USB
• Firewire
• Ethernet
• Parallel port (IEEE 1284)
vivekn@cdac.in
How to choose a bus
• Bandwidth
vivekn@cdac.in
DEVELOPMENT ENVIRONMENT
vivekn@cdac.in
Host - Target Development Environment
• The distinguishing feature of embedded software development is host-target
development environment
• All the development tools like Editors, compilers and linkers are available on the host
machine
• Typical host machines are Windows 95/98, NT and Unix workstations where the
above development tools are available
• Application programs will be written on the host, get compiled, linked and get the
executable file
• Target systems are the ones where compiled and linked code is executed
• Target systems being a microprocessor based boards does not offer any development
environment themselves, so an host machine is required
vivekn@cdac.in
Cross Compilers
• Another distinguishing feature of embedded software development is cross
compilers
• Cross compilers are the ones, which runs on a machine based on one type of
CPU and produces a machine instructions for a different kind of CPU
vivekn@cdac.in
Downloading
• Downloading is the process of loading the executable image prepared on
the host system on to a target board
• There are various methods to download the code to a target machine. They
are:
– Serial ports
– EPROM/FLASH
– Floppy disks
– Ethernet
– Across a common Bus
vivekn@cdac.in
Debug Monitor
• Debug monitor is a software that resides in a ROM or EPROM of a target
board during the development process
• When a target board is powered on, the debug monitor program runs and
provides facilities for downloading and debugging the application program
• The debug features provided by the debug monitor are very low level ones
• Once application program is debugged and ready, then the debug monitor
could be replaced by the application program, so that whenever system is
powered on, application program runs directly
• In some cases both debug monitor and application program will reside in
the ROM. First control goes to debug monitor which will pass control to the
application program
vivekn@cdac.in
ASSEMBLY
What’s Right With Assembly Language?
• Speed. ALP’s are generally the fastest programs around.
• Space. ALP’s are often the smallest.
• Knowledge. Your knowledge of assembly language will help you write better
programs, even when using HLLs.
vivekn@cdac.in
LAB
• avr-gcc
• avr-as
• avr-ld
• EXPLORE . . .. .
vivekn@cdac.in
C-DAC Hyderabad
Brief History
⚫Atmel says that the name AVR is not an acronym and does
not stand for anything in particular.
TheDevice
AVR is Overview
a Harvard architecture machine with programs and data stored
separately.
➢ megaAVRs
✓ 4-256 kB program memory
✓ 28-100-pin package
✓ Extended instruction set
✓ Extensive peripheral set
EEPROM Analog
Comparator
I/O lines
Flash in Atmega8
• Since all AVR instructions are 16 or 32
bits wide, the Flash is organized as 4K
x 16.
⚫The micro controller operates based on the Status Register (SREG) and other
internal registers or components. Most important is the Status Register
which holds information on the last instruction and its result and Interrupt
enable status.
The Stack is mainly used for storing temporary data, for storing
local variables and for storing return addresses after interrupts
and subroutine calls.
The Stack Pointer Register always points to the top of the Stack.
Avr instruction set
Branch instruction…..
• The advantage of rjmp over jmp is that rjmp only needs 1
word of code space, while jmp needs 2 words. Example:rjmp
go_here
• rjmp:
"Relative Jump". This instruction performs a jump within a
range of +/- 2k words. Added together, it can reach 4k words
or 8k bytes of program memory
Contd…
• ijmp
• "Indirect Jump" to (Z). This instruction performs a jump
to the address pointed to by the Z index register pair. As
Z is 16 bits wide, ijmp allows jumps within the lower
64k words range of code space (big enough for a
mega128)
• Example:
ldi ZL, low(go_there)
ldi ZH, high(go_there)
ijmp
Contd..
Jmp
.macro stack
ldi r16, 0
loop1: inc r16 ;this code differs slightly
out PortB, r16 ;find it
cpi r16, 10
brne loop1
another assignment>>
PINB(8bit)
PORTB (8bit)
DDRB(8bit)
i/o instructions
⚫some settings.
note>>>>
sbi and cbi don't operate on all I/O registers. The same is
true for sbic/sbis. These can only be used for "classic" I/O
Ports and other peripheral registers with addresses from 0 to
31 (0x00 to 0x1F).
......
● Normal mode
● Capture mode
● Pwm mode
Registers
Modes of operation of timers
vivekn@cdac.in 6/03/2010
Continued...
A bit is transmitted at a
single time
Slower [ ↓]
Sender Reciever Few wires [ ↑ ]
vivekn@cdac.in 6/03/2010
Serial data transmission type
Transmission only in one
direction
Simplex
Data transmitted in one
direction
Direction of data can be
changed
DUPLEX Both direction &
simultaneously
FULL DUPLEX
vivekn@cdac.in 6/03/2010
Serial com transmission mode
Synchronous mode
Asynchronous mode
vivekn@cdac.in 6/03/2010
Asynchronous mode
vivekn@cdac.in 6/03/2010
frame format
vivekn@cdac.in 6/03/2010
Async.. serial transfer
vivekn@cdac.in 6/03/2010
Atmega8 USART facts
vivekn@cdac.in 6/03/2010
Parity Bit
vivekn@cdac.in 6/03/2010
Registers
vivekn@cdac.in 6/03/2010
Registers
vivekn@cdac.in 6/03/2010
vivekn@cdac.in 6/03/2010
Baud Rate register
vivekn@cdac.in 6/03/2010
Equations
vivekn@cdac.in 6/03/2010
Uart Init
vivekn@cdac.in 6/03/2010
Transmit function
vivekn@cdac.in 6/03/2010
Refer>>>
vivekn@cdac.in 6/03/2010
EEPROM
ldi r16, 0xAA ;load with the data we want to write (0xAA)
out EEDR, r16 ;and write it to the data register
EEPROM_read:
● If SS' is held in a high state, all Slave SPI pins are normal
inputs, and will not receive incoming SPI data.