Atmel AVR
Da Wikipedia, l'enciclopedia libera.
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
[modifica] Note
- ^ 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.
- ^ 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
- ^ 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
Wikimedia Commons contiene file multimediali su Atmel AVR
[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 |

