ultimo aggiornamento 29 aprile 2011 |
|
Il testo è tratto dal sito www.microcontroller.it
Il processore originale installato sulla
scheda era il modello 16F84 un "must" di Microchip negli anni passati : migliaia di pagine di
descrizione ed applicazione e milioni di righe di codice sono
disponibili sul WEB.
Il processore aveva la possibilità di essere riprogrammato tramite la memoria Flash, è stato uno dei microcontrollers più amati dagli
hobbisti.
Microchip ha, e non da oggi, ampie famiglie di prodotti basati su flash
e spazia da 8 a 32 bit, con la disponibilità di funzioni DSP.
Inoltre, alla famiglia 16F (mid-range) va a succedere la famiglia 18F(enhanced),
con performance, disponibilità di memoria, I/O e periferiche che
fornisco una solida base alla programmazione con linguaggi ad alto
livello.
Ma per utilizzare ancora la scheda uPIC Trainer è possibile scegliere
tra uno
dei suoi pin to pin compatibili.
Al momento nella fascia 16F esistono diverse possibilità, ad esempio
16F88, 16F648A e 16F628 o anche 16F819 e 16F676 e 16F1827.
In particolare vediamo in cosa 16F628, uno dei più gettonati candidati,
si differenzia dal vecchio 16F84 :
Più memoria di 16F84 :
Program memory (2K contro 1K) : più spazio per i programmi
Data memory (224 contro 68 bytes) : più spazio per le variabili
EEPROM (128 contro 64 bytes) : più spazio nella memoria non volatile
Più funzioni hardware:
controller seriale USART : 16F84 non aveva UART e ha costretto miriadi di utilizzatori a spendere ore e giorni per scrivere routines per la comunicazione seriale usando normali pin di I/O; sicuramente ottimi lavori ed uno sforzo notevole e apprezzabile, ma che, avendo un USART a disposizione, non ha più alcun senso.
timer (contro 1) : molte più possibilità in tutte le applicazioni che interessano il tempo
hardware PWM : non occorre scrivere routines per usare un pin di I/O generici e l' unico timer disponibile, come succedeva in 16F84 !
hardware compare/capture registers che permettono la gestione di segnali in cui il tempo (frequenza, periodo, ecc) sono fondamenta
doppio comparatore on board con programmable voltage reference : non occorrono comparatori esterni
Più prestazioni :
clock programmabile multimodo, tra cui 4Mhz onboard : lavora sufficientemente preciso senza quarzo
brownout detector
possibilità di programmazione a bassa tensione (low voltage programming) : si programma senza toglierlo dal circuito
pin to pin con 16F84 : l' hardware disponibile va bene senza modifiche
Inoltre ha la possibilità di utilizzare come I/O 3 pins addizionali (MCLR e i due dell' oscillatore) arrivando a 16 I/O in un chip da 18 pin
Compatibilità hardware e software
Stesso pinout di 16F84 : stessi pin, stesse funzioni di base.
Un programma scrittto per 16F84 gira su 16F628 con pochissime o nessuna modifica.
16F628 può essere programmato con lo stesso hardware di 16F84 (anche se richiede un aggiornamento del software del programmatore), ma permette anche la programmazione on board con i pin di low voltage programming mode.
Costo
16F628, essendo in corrente produzione, costa meno di 16F84.
La tabella seguente raccoglie le differenze più importanti tra i due chip.
PIC |
16F84 |
16F628 |
RAM |
68 |
224 |
Program memory |
1024 |
2048 |
EEPROM |
64 |
128 |
Package DIL |
18 pin |
18 pin |
I/O Pin |
13 |
14 (16) |
Comparatori analogici |
- |
2 |
Timer a 8 bit |
1 |
2 |
Timer a 16 bit |
- |
1 |
PWM |
- |
1 |
CCP |
- |
1 |
USART |
- |
1 |
Low Voltage programming |
- |
si |
Oscillator mode |
4 |
6 |
Clock massimo |
20MHz (16F84A) |
20MHz |
Costo |
* 5.75 € |
2.95 € |
* valore indicativo per 1 pezzo alla data di stesura della pagina
Informazioni più dettagliate sono rilevabili dai data sheets,
scaricabili gratuitamente dal sito del produttore.
|
PIC16F84 |
PIC16F628 |
XT oscillator mode |
si |
si |
HS oscillator mode |
si |
si |
LP oscillator mode |
si |
si |
EC External Clock |
si |
si |
RC oscillator mode (RC) |
si |
no |
ER oscillator mode (R) |
no |
si |
INTRC oscillator mode |
no |
si |
Dual Speed Oscillator |
no |
si |
4MHz - 20MHz |
si (PIC16F84A) |
si |
LVP |
no |
si |
In sostanza, F628 può operare in modo:
ER: questo oscillatore è simile a RC, ma richiede solamente una resistenza esterna
INTRC: un oscillatore interno a 4 MHz funziona senza alcun componente esterno e lascia liberi i due pin dell' oscillatore per uso generale come IO (GPIO).
Dual Speed Oscillator: che permette di passare da 4 MHZ a 37 kHz da programma
INTRC , in particolare, è una caratteristica molto interessante che consente di avere non solo meno componenti, ma anche due pin di IO in più. Il che, su un package di 18 pin, non è fatto secondario. Inoltre è molto comoda in fase di sperimentazione o valutazione, nella didattica e nell' auto istruzione, ma anche nella produzione, perchè consente al chip di funzionare senza nessun componente esterno. Inoltre, con riferimento alle periferiche integrate:
|
PIC16F84 |
PIC16F628 |
Watch Dog |
si | si |
Timer 0 8-bits |
si | si |
Timer 1 16-bits |
no | si |
Timer 2 8-bits |
no | si |
Comparators |
no | si |
PWM, Capture, Compare |
no | si |
USART |
no | si |
Voltage Reference |
no | si |
In sostanza, F628, oltre ad avere tre timer invece di uno, dispone di:
Modulo USART: si può comunicare in RS-232 senza la necessità di costruirsi lunghe emulazioni software
Modulo CCP: generazione di PWM, Capture e Compare per impulsi, frequenze, periodi
Modulo Comparatori Analogici: si risparmiano componenti esterni
Modulo Voltage Reference: per le funzioni dei comparatori analogici
Ovviamente i chip sono pin-to-pin compatibili, secondo la saggia politica di Microchip di avere per 1quanto possibile sempre una compatibilità hardware tra chip con lo stesso package.
|
|
La differenza tra le funzioni indicate sui pin evidenzia
solo la
differenza delle periferiche disponibili.
Ovvero, ogni pin svolge la stessa funzione di base di GPIO, a cui
si
possono aggiungere altre funzioni attraverso la programmazione.
Ad esempio, in PIC16F84 il pin 1 svolge la funzione di RA2,, mentre in
16F628 ha la stessa funzione RA2, ma può anche essere programmato come
AN2 (per i comparatori) o Vref.
Il
Pin 10 è non solo RB4, ma anche l' ingresso di selezione dell' LVP.
E così via. Tutti i dettagli sulle funzioni addizionali di F628 si
possono consultare sul relativo fogli dati.
Quindi, dato che 16F628 costa meno, è più performante, ha più funzioni,
può utilizzare il software e l' hardware scritto per 16F84, perché
continuare ad usare 16F84
Elenco revisioni: | |
29/04/2011 | Emissione preliminare |