• Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

What is an AVR?

ElectroMaster

Administrator
Overview

An AVR is a microcontroller which was developed by Atmel, and uses a Modified Harvard architecture 8-bit RISC single chip. The AVR was one of the first microcontroller families to use flash memory located on-chip for program storage, as opposed to One-Time Programmable ROM, EPROM, or EEPROM used by other microcontrollers at the time.

And for your reference, AVR is not an acronym and does not stand for anything in particular.

Basic Families

AVRs are generally classified into four broad groups:

  • tinyAVR — the ATtiny series
    • 1–8 kB program memory
    • 6–32-pin package
    • Limited peripheral set

  • megaAVR — the ATmega series
    • 4–256 kB program memory
    • 28–100-pin package
    • Extended instruction set (Multiply instructions and instructions for handling larger program memories)
    • Extensive peripheral set

  • XMEGA — the ATxmega series
    • 16–384 kB program memory
    • 44–64–100-pin package (A4, A3, A1)
    • Extended performance features, such as DMA, "Event System", and cryptography support.
    • Extensive peripheral set with DACs

  • Application specific AVR
    • megaAVRs with special features not found on the other members of the AVR family, such as LCD controller, USB controller, advanced PWM, CAN etc.

  • Atmel At94k FPSLIC (Field Programmable System Level Integrated Circuit)
    • An AVR core on-die with an FPGA. The FPSLIC uses SRAM for the AVR program code, unlike all other AVRs. Partly due to the relative speed difference between SRAM and flash, the AVR core in the FPSLIC can run at up to 50MHz.

External Links


Where to Buy

 
Last edited:

microtexan

New Member
Man, you've been busy with some new ideas. Good show old man.
Thanks.
 
Last edited:

Nigel Goodwin

Super Moderator
Most Helpful Member
Overview

An AVR is a microcontroller which was developed by Atmel, and uses a Modified Harvard architecture 8-bit RISC single chip. The AVR was one of the first microcontroller families to use flash memory located on-chip for program storage, as opposed to One-Time Programmable ROM, EPROM, or EEPROM used by other microcontrollers at the time.
As I understand it the early AVR's were EEPROM, and ATMEL called them 'FLASH' solely for advertising purposes, it was much later when they started using actual FLASH memory. MicroChip followed suite, and started calling their EEPROM based chips FLASH as well.
 

3v0

Coop Build Coordinator
Forum Supporter
Yes two students from Norway rather then Finland. The origin or AVR was pointed out to me my an ETO member from Norway.

Wikipedia say
The original AVR MCU was developed at a local ASIC house in Trondheim, Norway, where the two founders of Atmel Norway were working as students. It was known as a μRISC (Micro RISC)[citation needed]. When the technology was sold to Atmel, the internal architecture was further developed by Alf and Vegard at Atmel Norway, a subsidiary of Atmel founded by the two architects.
 

wkrug

Active Member
There are different ways to program an AVR Controller.
1. ISP: There are a lot of In System Programable Adapter for AVR Controllers in the Internet. Give that for search item in an search engine an you'll find it.
This Programmers are most cheap and can program an AVR Controller in the target board.
The Controller must have an internal or external clock source to work with this mode.
The used ports ( Reset, MISO, MOSI, SCK most ) never shoud be connected to active output Ports of periphal Chips. The minimum load at this Ports must be higher then 4700 Ohms.
At some Controllers e.g. ATMEGA128 are used other Ports for SPI - Look into the Datasheet to look for.
I think that is the most used variant to program an AVR at home.

2. Parallel High Voltage Programming: That goes with special Programmers. The Controller must been demountet from the target board and putted in into the programmer. All AVR Controllers i know, support this Method.
STK 500 Board supports this Method e.g.

3. JTAG: It is possible to programm such an Controller by the JTAG Interface.
The Jtag interface pins should been taken to a Connector at the target board.
Normally this Interface ist used to debug the Software of an Controller, while an running application. But the AVR can also be programmed with this Interface too. Some Ports are exclusive used for the Jtag Interface an can't be used for other things!
This Method works only on the bigger AVR >ATMEGA8.

4. Bootloader: In this Method an Bootloader will be programmed onto the AVR, by one of the Methodes 1...3.
Then an according program on PC will be started.
That program activates the Boot loader software at the Controller and loads down the application program into it.
Because the Bootloader is only software, all of thinkable comunication ways between AVR and PC are possible. It appends from the Bootloader Software and the according download program.
 

spectrum

Member
Not to open any contest, eh, but just to point out something:

- JTAG is only for some special model, generally JTAG is not available on AVR.
- About high voltage "parallel" programming, for sure it's not supported on small 8 pin AVR cores.

My suggested simple method is 1) above, ISP, just provide a connector on board for it, simple SPI and at my humble opinion, the simplier and probably widely used way.

Then, you can code a small bootloader to be resident, in a special flash sector, eventually protected, that uses the interface you like for the update (UART, SPI, I2C etc).
 

Pommie

Well-Known Member
Most Helpful Member
Whilst the information above might now be out of date, it was correct at the time - no surprise that things have changed in 11 years.

Mike.
 

spectrum

Member
Ops, sorry, i read 12-feb ... and not the year. Will be more careful. Yes, a lot of things are changed, included Atmel has been bought from Microchip. But still all the build tools are free.
 

Latest threads

EE World Online Articles

Loading

 
Top