Microcontrollore
Da Wikipedia, l'enciclopedia libera.
Un microcontrollore o microcontroller, detto anche computer single chip è un sistema a microprocessore completo, integrato in un solo chip, progettato per ottenere la massima autosufficienza funzionale ed ottimizzare il rapporto prezzo-prestazioni per una specifica applicazione, a differenza, ad esempio, dei microprocessori impiegati nei personal computer, adatti per un uso più generale.
I microcontroller sono la forma più diffusa e più invisibile di computer. Comprendono la CPU, un certo quantitativo di memoria RAM e memoria ROM (può essere PROM, EPROM, EEPROM o FlashROM) e una serie di interfacce di I/O (input/output) standard, fra cui molto spesso bus (I²C, SPI, CAN, LIN). Le periferiche integrate sono la vera forza di questi dispositivi: si possono avere convertitori ADC e convertitori DAC multicanale, timer/counters, USART, numerose porte esterne bidirezionali bufferizzate, comparatori, PWM.
Sono contenuti in una quantità di apparecchi ed elettrodomestici, come ad esempio, videoregistratori e la quasi totalità dei televisori costruiti dopo il 1984, nelle macchine fotografiche e nelle videocamere, nei lettori CD e DVD, nei forni a microonde, nei controlli automatici di macchine industriali, in molte lavatrici e frigoriferi di ultima generazione, nelle centraline di controllo delle motociclette e delle automobili, (anche molte decine di microcontrollers in una sola automobile) negli antifurto elettronici, nei registratori di cassa dei negozi, negli sportelli Bancomat, nelle centraline dei semafori (vedere anche Sistemi embedded)
La loro capacità di calcolo è molto limitata, a dispetto della velocità ragguardevole che possono raggiungere e di solito eseguono lo stesso programma (firmware) per tutta la durata del loro funzionamento. In rari casi (difetti molto gravi) il fabbricante del dispositivo che questi controllano può disporre un aggiornamento del firmware.
Negli ultimi anni il loro uso è aumentato grazie all'estrema versatilità ed al costo bassissimo, diffondendosi anche fra gli hobbisti e gli appassionati di elettronica.
Il 1° microcontrollore della storia fu il piccolissimo 8048 della Intel coin solo 1kB di ROM segmentata in pagine ed appena 64 Bytes di RAM, basato sull'architettura Harvard (bus dei dati e del codice separati).
Indice |
[modifica] Sistemi di sviluppo amatoriali e professionali open source per i microcontrollori
[modifica] ACK (Amsterdam Compiler Kit)
L'Amsterdam Compiler Kit [1] è un cross-complatore GPL destinato agli ambienti Unix
I processori trattati sono:
- 6500 Il 6502 è il noto processore dell' Apple ][ e del Vic 20, il 6510 del Commodore 64
- 6800
- 6805
- ARM
- 8080
- Z80
- Z8000
- i86
- i386
- 68000 : Nei microcontrollori complessi tipo il 68302,il solo 68000 viene programmato ed il RISC viene lasciato ad altri strumenti
- 68020
- NS32016
- S2650
- SPARC
- VAX4
- PDP11
L'efficienza del compliatore è nella media dei compilatori commerciali proprietari, e quando possibile si consiglia l'uso del GCC o dell'SDCC
[modifica] GCC (Gnu Compilers Collection)
Il compilatore con cui è scritto il sistema operativo Linux è intrinsecamente un efficientissimo cross-compilatore ed è capace di gestire una grande quantità di controllori, ecco alcuni kernel da cui possono derivare delle famiglie:
- 68000 : Nei microcontrollori complessi tipo il 68302,il solo 68000 viene programmato ed il RISC specializzato viene lasciato ad altri strumenti
- Mips
- ARM
- AVR32
- PowerPC
- HC12
- 8086
- Z8000
La grande flessibilità del GCC rende necessario un attentissimo settaggio dei parametri nella IDE per evitare problemi di funzionamento
[modifica] SDCC (Small Device C Compiler)
l'SDCC (Small Devices C Compiler) [2] è un porting Open Source GPL per i microcontrollori delle sole famiglie Z80, 8051, 68HC11, PIC è stato separato dal progetto GCC per poter ottimizzare meglio il lavoro dei microcontrollori, dove serve una grande efficienza del compilatore e contemporaneamente vivere in un ambiente molto povero di risorse RAM e ROM.
Nonostante il piccolo numero di target disponibili, il compilatore è molto quotato e nella maggior parte delle situazioni dà risultati migliori dei sistemi di sviluppo professionali a pagamento, a spese dell'assenza di IDE integrata.
Senza settaggi specifici il compilatore genera il codice per il controllore 8051
[modifica] JAL (Just Another Language)
Il JAL (compilatore) [3] è un dialetto GPL del Pascal destinato ai microcontrollori PIC.
[modifica] IDE
Code::Blocks è un'IDE (GPL) e quindi non è un compliatore in sé, bensì un ambiente di programmazione in grado di editare il codice e lanciare il compliatore rendendo molto più efficiente e produttivo lo sviluppo software.
L'interfaccia non permette l'integrazione con il software del programmatore di memorie EPROM Willeprom
[modifica] Voci correlate
[modifica] Altri progetti
- Wikimedia Commons contiene file multimediali su Microcontrollore