Atmel AVR

Da Wikipedia, l'enciclopedia libera.

Stub Questa voce di informatica è solo un abbozzo: contribuisci a migliorarla secondo le convenzioni di Wikipedia.
Microcontrollore ATmega8 in contenitore da 28 pin "Dual in-line package" (DIP)
Microcontrollore ATmega8 in contenitore da 28 pin "Dual in-line package" (DIP)

L'AVR ® è una famiglia di microcontrollori RISC ad architettura Harvard sviluppati dalla Atmel a partire dal 1996. L'AVR fu una delle prime famiglie di microcontrollori a utilizzare una memoria flash interna per memorizzare il contenuto del programma: questo permette di cancellare la memoria di programma e riscriverla con una nuova versione in pochi secondi e anche senza rimuovere il microcontrollore dalla scheda su cui è montato, velocizzando enormemente il processo di correzione e messa a punto del codice. Durante gli anni novanta la maggior parte dei microcontrollori utilizzavano One-Time Programmable ROM, EPROM, o EEPROM.

Indice

[modifica] Caratteristiche generali

Caratteristiche salienti di tutti i dispositivi sono:

  • memoria di programma flash (riprogrammabile per almeno 1.000 volte)
  • memoria Eeprom (riprogrammabile almeno 100.000 volte)
  • memoria ram statica (di dimensioni variabili a seconda del dispositivo)
  • disponibilità di un clock interno calibrato su ogni singolo dispositivo
  • possibilità di bloccare l'accesso al programma per evitare copiature (chiamato Lock Bit)
  • Watchdog con oscillatore interno autonomo [1]
  • POR (Power On Reset: reset [2] automatico quando viene applicata la tensione di alimentazione) e se, durante il funzionamento, la tensione di alimentazione scende sotto una soglia minima prefissata è possibile inserire un reset automatico (in inglese: Brown-out Detection Circuit, circuito di rilevamento dei cali di alimentazione)

[modifica] Le tre famiglie base

In base alle caratteristiche gli AVR si possono suddividere in tre grandi gruppi:

  • I tiny (i dispositivi più piccoli come dice la traduzione del termine) con sigle che iniziano con "ATtiny"
    • 1÷8 kB di memoria (flash) per il programma
    • set di dispositivi hardware periferici limitato (ad esempio linea seriale [3] disponibile solo su alcuni microcontrollori)
    • contenitori disponibili con numero di pin (e quindi di connessioni ingresso/uscita) limitato (da 8 a 32)
  • I mega (con sigle che iniziano con "ATmega")
    • 4÷256 kB di memoria (flash) per il programma
    • set di istruzioni esteso
    • maggior numero di periferiche disponibili (ad esempio presenza di una o più linee seriali, presenza di più PWM, ecc.)
    • contenitori con pin da 28 a 100
  • Dispositivi per applicazioni particolari
    • dispositivi che montano periferiche dedicate (controllore per display LCD, controllore per porta USB, per seriale CAN, ecc.)

[modifica] Note

  1. ^ Questo è importante se è installato un oscillatore (Clock) esterno, in caso di blocco dell'oscillatore esterno il microcontrollore può trovarsi in una condizione che può essere pericolosa (attivazione di un motore o del riscaldamento di una caldaia, ecc). L’oscillatore interno interviene e resetta il microcontrollore spegnendo eventuali dispositivi attivati.
  2. ^ Il reset nei microcontrollori e microprocessori permette di forzare l’hardware interno (tutti i dispositivi fisici) in uno stato ben definito e di puntare alla prima istruzione da eseguire
  3. ^ Sui pin di del microcontrollore è disponibile una linea seriale con livelli logici limitati (tra GND e Vcc): per trasformarla in una seriale che risponda agli standard (RS232 o EIA RS422) si deve aggiungere un circuito integrato dedicato a questa funzione (vedi paragrafo dedicato della voce RS-232).

[modifica] Voci correlate


[modifica] Collegamenti esterni

Architetture RISC
Power | ARM | DEC Alpha | Atmel AVR | Blackfin | MIPS | HP PA-RISC | SPARC | SuperH | Intel i960 | Am29000 | Motorola 88000 | Nios II | MicroBlaze | PicoBlaze | LatticeMico32 | XAP | Clippper
Strumenti personali