Contenu connexe Similaire à Introduction to Avr Microcontrollers (20) Introduction to Avr Microcontrollers1. Introduction to AVR Microcontrollers
by:
Eng. Mohamed Tarek.
© 2015 by Eng. Mohamed Tarek. 1
2. Micro-controller vs. Micro-processor
Micro-controller
• Basically a microcontroller can be described as
a computer on a chip. a single chip containing
a CPU, non-volatile memory (RAM), volatile
memory(ROM), a timer and an I/O control unit.
• A microcontroller apart from the above mentioned
components usually also include serial
communication capabilities, interrupt controls and
analog I/O capabilities.
• Used for a few dedicated functions determined by
the system designer.
© 2015 by Eng. Mohamed Tarek. 2
4. Micro-controller vs. Micro-processor
Microcontrollers don’t work alone in the circuit it must
interfaces with other on chip devices like Sensors,
Switches, Leds, LCD, Keypad and DC Motor
Microcontroller can accept inputs from some
components and provide outputs to other components
within any given system.
Differences in requirements, make the manufacturers
produce different microcontrollers with different
memory sizes, number of I/O lines and number of
integrated peripheral devices. Other wise they are all
similar to use.
© 2015 by Eng. Mohamed Tarek. 4
6. Micro-controller vs. Micro-processor
Micro-processor
• Just a CPU has to add externally memory, clock,
input/output interfaces, timer and all other
needed peripheral. This is the reason
a microprocessor has so many pins.
• The difference between a microcontroller and
a microprocessor is that the microprocessor is
a general purpose computer while a microcontroller
is a computer dedicated to one or just a few tasks.
© 2015 by Eng. Mohamed Tarek. 6
8. Micro-Controller Components
Processor
The processor refers to the Central Processing Unit (CPU) of the
microcontroller. It contains the Arithmetic Logic Unit (ALU), Control
Unit, Instruction Decoder and some Special Registers (Stack
Pointer, Status Register, Program Counter, etc.).
Volatile Data Memory(RAM)
This is memory used by the microcontroller for temporary data
storage, system setup and peripherals configuration registers.
Memory in this category includes SRAM and DRAM. AVR
microcontrollers utilize SRAM.
© 2015 by Eng. Mohamed Tarek. 8
9. Micro-Controller Components
Non-Volatile Program Memory
This is memory used by the microcontroller to store programs. Data
can also be stored in this memory but the access time is much
slower than that of RAM. Memory in this category includes ROM,
PROM, EPROM, EEPROM and FLASH. The AVR microcontrollers
utilize Flash for program storage, some AVR controllers contains a
bit of EEPROM as well to store non volatile data.
Timer Module
Most microcontrollers have at least one timer/counter peripheral.
Timer/Counter modules are used to perform timing or counting
operations in the controller. These include time stamping, measuring
intervals, counting events, etc.
© 2015 by Eng. Mohamed Tarek. 9
10. Micro-Controller Components
Interrupt Module
Interrupts enable the microcontroller to monitor certain events in the
background while executing and application program and react to
the event if necessary pausing the original program. This is all
coordinated by the interrupt module.
Digital I/O Module
This module allows digital/logic communication with the
microcontroller and the external world. Communication signals are
that of TTL or CMOS logic.
Analog I/O Modules
These modules are use to input/output analog information from/to
the external world. Analog modules include Analog Comparators
and Analog-to-Digital Converters.
© 2015 by Eng. Mohamed Tarek. 10
11. Micro-Controller Components
Serial Modules
These modules are used for serial communication with the external
world. An example is the USART peripheral which utilizes the
RS232 standard. Serial Peripheral Interface(SPI) and Inter
Integrated Circuit(I2C).
© 2015 by Eng. Mohamed Tarek. 11
12. How to select a Micro-Controller
Number of I/O ports.
Peripherals required (Timers, ADC, USART,SPI and
EEPROM).
Memory requirements.
Maximum clock speed.
Real-Time considerations.
Number of interrupts required
Power Consumption / sleep modes.
Availability and Cost.
Vendor Support.
Development Environment.
12© 2015 by Eng. Mohamed Tarek.
13. Microcontroller Vendors
Microcontroller Vendor is the manufacture of
the microcontroller chip it self.
© 2015 by Eng. Mohamed Tarek. 13
Vendor Families Derivative
AVR ATmega16
8051 AT83EB5114
PIC PIC16F877A
V850 V850ES
HC12 MC9S12XEP100
TM4C TM4C123GH6PM
14. AVR History
AVR was developed in the year 1996 by Atmel
Corporation.
The architecture of AVR was developed by Alf-Egil
Bogen and Vegard Wollan.
AVR derives its name from its developers and stands for
Alf-Egil Bogen Vegard Wollan RISC microcontroller.
Also known as Advanced Virtual RISC.
The first microcontroller to hit the commercial market
was AT90S1200 in the year 1997.
© 2015 by Eng. Mohamed Tarek. 14
15. AVR Micro-controllers Categories
1.TinyAVR
• Less memory
• small size
• suitable only for simpler applications.
2.MegaAVR
• These are the most popular ones.
• having good amount of memory (up to 256 KB) higher number of
inbuilt peripherals.
• suitable for moderate to complex applications.
3.XmegaAVR
• Used commercially for complex applications, which require large
program memory and high speed.
© 2015 by Eng. Mohamed Tarek. 15
18. What’s special about AVR?
AVR micro-controllers are fast executes most of the
instructions in single execution cycle.
AVRs are about 4 times faster than PICs.
They consume less power and can be operated in
different power saving modes.
Free IDE.
Available in Egyptian market.
© 2015 by Eng. Mohamed Tarek. 18
19. What’s special about AVR?
Comparison between the three most
commonly used families of microcontrollers:
© 2015 by Eng. Mohamed Tarek. 19
22. What’s special about AVR?
AVR follows Harvard Architecture
• the processor is equipped with separate memories and buses for
Program and the Data information. Here while an instruction is
being executed, the next instruction is pre-fetched from the
program memory.
© 2015 by Eng. Mohamed Tarek. 22
24. Flavors of ATmega16
There are two flavors for ATmega16 microcontroller:
1. ATmega16: Operating frequency range is 0 – 16 MHz.
2. ATmega16L: Operating frequency range is 0 – 8 MHz.
If we are using a crystal of 8 MHz = 8 x 106 Hertz =
8 Million cycles, then AVR can execute 8 million add
instructions per second.
© 2015 by Eng. Mohamed Tarek. 24
26. ATmega16 Architecture
I/O Ports
ATmega16 has four (PORTA, PORTB, PORTC and PORTD) 8-bit
input-output ports.
Timers/Counters
ATmega16 consists of two 8-bit and one 16-bit timer/counter.
Watchdog Timer
Present with internal oscillator. Watchdog timer continuously
monitors and resets the controller if the code gets stuck at any
execution action for more than a defined time interval.
ADC Interface
ATmega16 is equipped with an 8 channel ADC with a resolution of
10-bits.
© 2015 by Eng. Mohamed Tarek. 26
27. ATmega16 Architecture
Analog Comparator
The Analog Comparator compares the input values of two analog
signals.
Interrupt Unit
Consists of 21 interrupt sources out of which four are external. The
remaining are internal interrupts which support the peripherals like
USART, ADC, Timers etc.
USART
Universal Synchronous and Asynchronous Receiver and
Transmitter interface is available for interfacing with external device
capable of communicating serially (data transmission bit by bit).
© 2015 by Eng. Mohamed Tarek. 27
28. ATmega16 Architecture
TWI(Two Wire Interface )
Also called Inter-integrated Circuits can be used to set up a network
of devices, many devices can be connected over TWI interface
forming a network, the devices can simultaneously transmit and
receive and have their own unique address.
SPI (Serial Peripheral Interface)
Used for serial communication between two devices on a
common clock source.
ISP(In System Programmable )
Flash Memory which can be programmed without removing the IC
from the circuit.
© 2015 by Eng. Mohamed Tarek. 28
29. ATmega16 Architecture
Internal Calibrated Oscillator
• ATmega16 is equipped with an internal oscillator for driving its
clock. By default ATmega16 is set to operate at internal
calibrated oscillator of 1 Mhz.
• The maximum frequency of internal oscillator is 8Mhz.
• ATmega16 can be operated using an external crystal oscillator
with a maximum frequency of 16MHz
© 2015 by Eng. Mohamed Tarek. 29
30. ATmega16 Architecture
Memory: ATmega16 has three different memories
• Program flash EEPROM memory: ATmega16 is available with
16KB of in system programmable Flash EEPROM.
• SRAM(data memory) :ATmega16 is equipped with 1KB of
internal SRAM.
• Byte Addressable EEPROM: ATmega16 has 512 bytes of
EEPROM used to store non-volatile data.
Note: A small portion of SRAM is set aside for general
purpose registers used by CPU and for the peripheral
subsystems of the microcontroller.
© 2015 by Eng. Mohamed Tarek. 30
35. ATmega16 Active Low Reset circuit
R= 4.7KΩ
C= 0.1µf or 100nf
© 2015 by Eng. Mohamed Tarek. 35
36. Micro-controller clock
Clock signal is a particular type of signal that oscillates
between a high and a low state, Circuits use the clock
signal for synchronization may become active at either
the rising edge, falling edge, or, in the case of double
data rate, both in the rising and in the falling edges of the
clock cycle.
Microcontroller clock generator source could be internal
or external.
Microcontroller external clock sources could be RC
oscillator or Crystal oscillator but internal clock source
could by RC oscillator only.
36© 2015 by Eng. Mohamed Tarek.
41. ATmega16 External Crystal Oscillator
Example configure the µC to deal with 16Mhz Crystal
• CKSEL3 1
• CKSEL2 1
• CKSEL1 1
• CKSEL0 1
• CKOPT 0
© 2015 by Eng. Mohamed Tarek. 41
42. How to program AVR Microcontroller using ISP
Connection between Microcontroller and PC
Parallel Port
© 2015 by Eng. Mohamed Tarek. 42
43. AVR Useful Tutorials
http://maxembedded.com/
http://extremeelectronics.co.in/
http://www.embedds.com/avr-tutorials/
http://avr-tutorials.com/
© 2015 by Eng. Mohamed Tarek. 43
45. Contact Details
Eng. Mohamed Tarek.
Embedded Software Engineer
Mob: 01115154316
Mail: mtarek.2013@gmail.com
45
My Embedded Diploma Contents :
http://www.mediafire.com/download/94n11ai9ovo1xri/Embedded+Diploma+
Contents.pdf
Facebook Group :
https://www.facebook.com/groups/Embedded.Systems.Programming/
© 2015 by Eng. Mohamed Tarek.