Line 2: Line 2:
 
= Video Tutorials =
 
= Video Tutorials =
 
== AVR Architecture Part 1 ==
 
== AVR Architecture Part 1 ==
{{#ev:youtube|rM7u2k-RbmI}}
+
 
 +
{{#ev:youtube|GC6RSAqZ6eE}}
  
 
== AVR Architecture Part 2 ==  
 
== AVR Architecture Part 2 ==  

Revision as of 19:11, 19 March 2015

Video Tutorials

AVR Architecture Part 1

AVR Architecture Part 2

AVR Architecture Part 3

Why learn AVR Architecture?

Learning architecture of the micro-controller gives deep understanding of how it works. It also enables in writing better software for the same. Also programmers who understand the underlying hardware tend to write better programs.
The entire tutorial series will be based around Atmega32 MCU from Atmel. Hence in this tutorial we will look at AVR architecture in general however all the specifics would point to Atmega32.

Block Diagram

Fig below shows the architecture of the MegaAVR series of controllers. As with any MCU ALU forms the core of the controller. A typical AVR Mega Series MCU has following hardware units inbuilt:

AVR Architecture.GIF
  • The ALU
  • 32 General Purpose Registers
  • Special Function Registers
  • Static RAM
  • EEPROM
  • Flash
  • Timer/Counter
  • Compartor
  • Watch Dog timer
  • Protocols: UART, SPI, I2C
  • Interrupt Handler
  • IO Ports
    • Analog
    • Digital

The ALU

The ALU of an AVR MCU process data 8 bits at a time. It performs the arithmetic and logical operations. The data for the ALU comes from the registers. If you wish to understand how an ALU works go through this ALU_in_Detail tutorial

32 General Purpose Registers

Special Function Registers

Static RAM

EEPROM

Flash

Timer/Counter

Compartor

Watch Dog timer

Protocols: UART, SPI, I2C

Interrupt Handler

IO Ports