Вы находитесь на странице: 1из 33

AVR

Microcontrôleur RISC 8-bit avec architecture


HARVARD modifiée
Système complet dans un seul boitier
Mémoire intégrée (FLASH, SRAM & EEPROM)
Périphériques intégrés
Technologie avancée (%processeurs 8 bit)
Développée par Atmel en 1996
8 Bit tinyAVR
Petit boitier – ( 6 pins )
8 Bit megaAVR
Large choix de configurations et boitiers
8 / 16 Bit AVR XMEGA
Technologie de Seconde Generation
32 Bit AVR UC3
Plus Forte puissance de calcul
C’est quoi l’Architecture Harvard?
Un petit rappel - VON NEUMANN…
John Von Neumann avec son « ordinateur !»
Chemins distincts pour instructions & données
Accès simultané aux instructions & données
Possibilités d’optimisation du matériel pour le type
d’accés et la largeur du bus.
Des instructions spéciales peuvent accéder aux
données de l'espace programme.
32 registres 8 Bit
Prenant le adresses 0 à 31 de l’espace données
La plupart des instructions peuvent accéder à
n'importe quel registre et compléter en un cycle
Les 3 dernières paires de registres peuvent être
utilisées comme 3 registres d'index 16 bits
Pointeur de pile 32 bits
7 0 addr

R0 0x00
R1 0x01
R3 0x02
R4 0x03
R5 0x04

R6 0x05

•••
R26 0x1A x register low byte
R27 0x1B x register high byte
R28 0x1C y register low byte
R29 0x1D y register high byte
R30 0x1E z register low byte
R31 0x1F z register high byte
Stockage d'espace de programme non volatile
largeur de 16 bits

Certains compasants ont une section de


démarrage verrouillable séparée

Au moins 10 000 cycles d'écriture / effacement


ATmega 48 ATmega 88/168/328
0x000 0x000
Application Flash Application Flash

0x1FFF
0x3FFF
0x7FF
Boot Flash
0x7FFF
Data space storage
8 Bit width
0x0000 – 0x001F
32 Registers
64 I/O Registers 0x0020 – 0x005F

160 External I/O Reg 0x00060– 0x00FF

0x0100
Internal SRAM
(512/1024/2048x8) 0x02FF/0x4FF/0x8FF

External SRAM
Mémoire programmable et effaçable
électriquement
Largeur de 8 bits

Nécessite une séquence d'écriture spéciale


Stockage non volatile pour les données
spécifiques au programme, les constantes, etc.

Au moins 100 000 cycles d'écriture / effacement


DEVICE FLASH EEPROM SRAM
ATmega48A 4K Bytes 256 Bytes 512 Bytes
ATmega48PA 4K Bytes 256 Bytes 512 Bytes
ATmega88A 8K Bytes 512 Bytes 1K Bytes
ATmega88PA 8K Bytes 512 Bytes 1K Bytes
ATmega168A 16K Bytes 512 Bytes 1K Bytes
ATmega168PA 16K Bytes 512 Bytes 1K Bytes
ATmega328 32K Bytes 1K Bytes 2K Bytes
ATmega328P 32K Bytes 1K Bytes 2K Bytes
Registres E/S visibles dans l’espace mem. Données
E/S accessibles utilisant même instructions que données
Compilers traitent les E/S comme données
Instructions de manipulation de Bit
Mise à 1/Mise à 0 un seul bit E/S
Valide seulement pour adresses basses
Directement connecté aux 32 registres à
usage général
Opérations entre registres exécutés dans un seul
cycle d'horloge

Prise en charge des fonctions arithmétiques,


logiques et de bits

Multiplicateur intégré - 2 cycles


131 instructions
Arithmetique & Logique
Branchement
Bit set/clear/test
transfert de données
commande de la CPU
Register ↔ register en 1 cycle
Register ↔ memory en 2 cycles
Instruction de Branchement 1-2 cycles
appel & retours de sous-programmes 3-
5 cycles
Certaines opérations peuvent prendre plus de
temps pour la mémoire externe
Le module de commande d'horloge génère les signaux
d’horloges pour la mémoire et les périphériques E/S
Sources d'horloge interne multiples
Source d'horloge externe à quartz (20 MHz maximum)

À défaut un oscillateur RC interne de 8 MHz est utilisé


avec une prédiviseur par 8 donnant une fréquence
d'horloge de 1 MHz
Donnant une précision de +/- 5 à 10% seulement
Timer/Counter Timer/
Oscillator Counters

IO
Crystal Modules
Oscillator

ADC
System AVR
External Clock Clock Clock
Mux Prescaler
Clock
CPU Core
Control

Low Freq Crystal ÷8


Oscillator RAM

Calibrated RC FLASH &


Oscillator EEPROM
Plusieurs modes de mise hors tension
Mode de mise hors tension
Réveil après RESET externe ou RESET du chien de garde
Mode économie d'énergie
Réveil sur temporisateur
Plusieurs modes de veille

Les modules inutilisés peuvent être arrêtés


23 Bits E/S à usage général
Temporisateurs/compteurs 2*8 bit & 1* 16 bit
Compteur temps réel (oscillateur dédié)
6 sorties PWM
Convertisseur A/N à 6 ou 8 canaux(depend du boitier
USART série
Interfaces série SPI & I2C
Comparateur analogique
Watchdog timer programmable
Trois Ports E/S
Port B, Port C & Port D
Pins identifiées par PBx, PCx or PDx (x=0..7)
Caque peut configurée individuellemnt:
Input avec pull-up interne
Input sans pull-up (trois état ;tristate)
Sortie « bas » 0
Sortie « haute » 1
La plupart des pins ont des fonctions
alternatives
les périphériques internes utilisent les
fonctions alternatives
Chaque pin ne peut être attribuée qu'une seule
fonction à la fois
Alternate Pins For PDIP Package
8/16 Bit register
Increments or decrements on every clock cycle
Can be read on data bus
Output feeds waveform generator
Clock Sources
Internal from clock prescaler
External Tn Pin (Uses 1 port pin)
Multiple Operating modes
Simple timer / counter
Output Compare Function
Waveform generator
Clear/set/toggle on match
Frequency control
Pulse Width Modulation (PWM)
DATA BUS
IRQ

Waveform
= Generator OCnA
TCCRnA OCRnA

Clock
Tn Select
TCNTn

IRQ

TCCRnB OCRnB
Waveform
= Generator OCnB

DATA BUS

Вам также может понравиться