• 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?

Thread starter #1
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:
#2
Man, you've been busy with some new ideas. Good show old man.
Thanks.
 
Last edited:

Nigel Goodwin

Super Moderator
Most Helpful Member
#5
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
#10
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
#12
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.
 

Latest threads

EE World Online Articles

Loading

 
Top