History of AVR
AVR was
developed in the year 1996 by Atmel Corporation. The architecture of AVR was developed by
Alf-EgilBogen and VegardWollan. AVR derives its name from its
developers and stands for Alf-EgilBogen VegardWollan RISC
microcontroller, also known as Advanced Virtual RISC.
The AT90S8515 was the first microcontroller which was based on AVR
architecture however the first microcontroller to hit the commercial
market was AT90S1200 in the year 1997.
AVR microcontrollers are available in three 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 (upto 256 KB),
higher number of inbuilt peripherals and suitable for moderate to complex
applications.
3. XmegaAVR –
Used commercially for complex applications, which require large program memory
and high speed.
The following table compares
the above mentioned AVR series of microcontrollers:
Series name
|
Pins
|
Flash
Memory
|
Special
Feature
|
Tiny AVR
|
6-32
|
0.5-8
KB
|
Small
in size
|
Mega AVR
|
28-100
|
4-256KB
|
Extended
peripherals
|
Xmega AVR
|
44-100
|
16-384KB
|
DMA
, Event System included
|
In
our journey with the AVR we will be working on Atmega16 microcontroller, which is a 40-pin IC and belongs to the
megaAVR category of AVR family. Some of the features of Atmega16 are:
- 16KB of Flash memory
- 1KB of SRAM
- 512 Bytes of EEPROM
- Available in 40-Pin DIP
- 8-Channel 10-bit ADC
- Two 8-bit Timers/Counters
- One 16-bit Timer/Counter
- 4 PWM Channels
- In System Programmer (ISP)
- Serial USART
- SPI Interface
- Digital to Analog Comparator.
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 instructions.
Naming
Convention.
The AT refers
to Atmel the manufacturer, Mega means that the microcontroller
belong to MegaAVR category, 16 signifies the memory of the
controller, which is 16KB.
Memory: Atmega16 consist of three
different memory sections:
1. Flash EEPROM: Flash
EEPROM or simple flash memory is used to store the program dumped or burnt by the user on to the
microcontroller. It can be easily erased electrically as a single unit. Flash
memory is non-volatile i.e., it retains the program even if the power is
cut-off. Atmega16 is available with 16KB of in system programmable Flash
EEPROM.
2. Byte
Addressable EEPROM: This is also a nonvolatile memory used to store data
like values of certain variables. Atmega16 has 512 bytes of EEPROM, this memory
can be useful for storing the lock code if we are designing an application like
electronic door lock.
3. SRAM:
Static Random Access Memory, this is the volatile memory of microcontroller
i.e., data is lost as soon as power is turned off. Atmega16 is equipped with
1KB of internal SRAM. A small portion of SRAM is set aside for general purpose
registers used by CPU and some for the peripheral subsystems of the
microcontroller.
· ISP: AVR
family of controllers have In System Programmable Flash Memory
which can be programmed without removing the IC from the circuit, ISP allows to
reprogram the controller while it is in the application circuit.
· SPI: Serial
Peripheral Interface, SPI port is used for serial communication between two
devices on a common clock source. The data transmission rate of SPI is more
than that of USART.
· TWI:
Two Wire Interface (TWI) 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.
· DAC: Atmega16
is also equipped with a Digital to Analog Converter (DAC)
interface which can be used for reverse action performed by ADC. DAC can be
used when there is a need of converting a digital signal to analog signal.
No comments:
Post a Comment
share your thoughts