Una introduzione ai
Microcontroller PIC
|
Con quale PIC iniziare ?
Allora, quale PIC scegliere?
O meglio, con quale PIC iniziare ?
Questa è una domanda che molti, all' inizio della loro carriera di
sperimentatori di PIC si pongono.
Ma è una domanda non molto sensata.
La questione di quale PIC scegliere sarà posta con giusto senso da chi sta
sviluppando una particolare applicazione e di conseguenza ha ben chiare le
specifiche del progetto. Ovvero numero di I/O, frequenza di funzionamento,
funzioni integrate, tensione di lavoro, costo, ecc.
Allora la scelta potrà essere guidata nella marea di dispositivi disponibili
fino a trovare con sicurezza proprio il componente che serve.
In tal caso si potranno prendere in considerazione i seguenti punti:
- Numero degli I/O richiesti
- Tipo di periferiche integrate (USART, PWM, Timer, ecc)
- Dimensione della memoria RAM e/o programma
- Consumo energetico
- Dimensioni meccaniche
- Costo
La frequenza di funzionamento diventa un parametro relativo solo ai PIC
delle famiglie Base e Mid in quanto per gli altri si tratta in generale di
dispositivi che superano i 20 MHz.
Anche il costo ha senso quando il numero dei pezzi da produrre è tale per
cui anche una minima differenza in centesimi diventa sensibile fattore di
selezione.
Questo può anche essere legato al package ed alle sue dimensioni: un sistema
montato in SMD occuperà meno spazio e una superficie di circuito stampato
minore, con costo minore.
E così via.
Tutti i parametri indicati, e altri ancora, sono indicizzabili nelle pagine
di selezione dei chip sul sito del produttore, il che permette una rapida
selezione on line.
Ma tutte queste considerazioni sono del tutto relative per chi sperimenta o
in sede di istruzione.
In tal caso i fattori di scelta saranno basati su altre considerazioni.
1 - Disponibilità di esempi e tutorial
Cercando a caso sulla rete, si troverà che il più gettonato è il
PIC 16x84.
Questa però non è una buona scelta : 16F84 e tanto più 16C84 sono
componenti ottimi, ma pesantemente datati, se non obsoleti, essendo stati realizzati
parecchi anni fa.
E' questo il motivo per cui un numero elevato di utilizzatori lo ha scelto e ci ha lavorato e scritto
una ampia messe di applicazioni e pagine prelevabili dal WEB; ma da quando
queste pagine sono state scritte ad oggi, ne è passato del tempo. Quindi, la scelta di
un componente di vecchia generazione non è la migliore, perchè bisogna
considerare che una particolarità della struttura PIC è quella di una buona
portabilità del software da un modello all' altro. 16x84 era un
componente semplice, con un ragionevole numero di funzioni che lo hanno reso
ideale per iniziare a metter le mani nei PIC, ma è molto più interessante (
e oltretutto meno costoso) scegliere un dispositivo analogo di una generazione
più attuale, ad esempio il PIC 16F628, che dispone di migliori prestazioni.
Così come possiamo considerare "datati" tutti i
PIC16F di una certa età, come 876/877 o lo stesso 628, che possono essere sostituiti
pin to pin con un enhanced 18F, con indubbi vantaggi.
La scelta di un componente datato potrà essere valida solo in
relazione alla disponibilità di esempi e tutorial tali da far pendere la
scelta iniziale su questi componenti.
Se, al contrario, sono disponibili tutorial su componenti più
recenti, non ha alcun senso limitarsi con oggetti che non rappresentano lo
stato dell' arte del momento.
2 - Disponibilità di supporti per lo sviluppo
Per quanto riguarda il software di sviluppo, non ci sono problemi:in commercio c'è
molto, ma la preferenza è da dare all' MPLAB
distribuito gratuitamente sul sito della Microchip.
Si tratta di un ambiente integrato che comprende il compilatore Assembler MPASM
e il simulatore MPSIM , oltre ad un LINKER, con funzioni di editor, comando di programmatori, di
emulatori, di ICE, ecc.
Anche se sono reperibili in rete altri assemblatori, sia gratuiti che a
pagamento, questo a nostro parere ben completo e, come detto, è completamente gratuito, costantemente aggiornato ed essendo fatto dalla Mamma
dei PIC, non può che essere più che adeguato.
Oltre tutto è linkabile con vari
compilatori di terze parti.
Ugualmente sempre da Microchip è disponibili un C in versione studenti a
costo zero, che si integra con l' ambiente MPLAB.
Sempre in rete si trova molto altro, compresi ambienti programmazione ad
oggetti e linguaggi BASIC, PASCAL, FORTH, ecc.
Nella scelta di questi prodotti di terze parti va allora controllato per quali
componenti sono adatti.
3- Disponibilità di supporti hardware
Se è sempre possibile auto costruire, sia la stessa Microchip che un
elevato numero di terze parti rendono disponibili la più ampia scelta di
supporti hardware per lo sviluppo.
Anche qui è opportuno verificare bene di cosa si tratta e quali sono i loro
limiti.
In particolare per quanto riguarda i cloni dei tools di sviluppo, che
sconsigliamo sempre e vivamente a chi comincia, in quanto il costo degli
originali è talmente basso da rendere poco sensata la scelta di un
non-originale.
Inoltre, iniziando, sarà opportuno avere a disposizione non il chip più
scarno, ma quello più completo: a fronte di una iniziale (ma facilmente
superabile) difficoltà di lettura della documentazione e di orientamento tra
le varie funzioni integrate, si avrà a disposizione un supporto in grado di
permettere la sperimentazione di quasi tutto quello che i PIC possono fare.
Quindi sono da ritenersi prive di senso le considerazioni:
- Costo. Assoluto non sense quando si tratta di istruzione o
sperimentazione, dato che i chip differiscono tra di loro per cifre sull'
ordine degli euro, se on di frazioni di euro. Questo, come detto prima, se ha senso per una
produzione che interessa centinaia o migliaia di pezzi, sul singolo pezzo
non ha valore. Interesserà ben di più la disponibilità di capacità di
memoria, di periferiche, di I/O.
- Complessità. Un chip complesso potrà opporre alla prima lettura
delle caratteristiche una certa difficoltà, ma è apparante. In quanto si
tratta, con una analogia, di avere a disposizione una biblioteca con
moltissimi volumi da consultare: se servono, li andrò ad utilizzare, se
non servono resteranno lì, per ora inutilizzati.
Se, invece scegliessi un chip "povero" sarei rapidamente
limitato nelle funzioni sperimentabili, nel numero degli I/O, nell'
ampiezza della memoria (fatto fondamentale nel caso di impiego di
linguaggi evoluti, noti consumatori di memoria).
A partire da quanto detto, su questo sito si stanno sviluppando esempi
e tutorial che fanno base su PIC della famiglia Enhanced. Ed è facile
dimostrare che è ben più facile lavorare su questi che non sui Mid-range.
Vediamo cosa ci può servire per cominciare.
|