Tutorials - PIC

 

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.


 

 

Copyright © afg. Tutti i diritti riservati.
Aggiornato il 01/04/13.