Tutorials - PIC 

 

I PIC a 6 pin


Microchip ha realizzato una interessante serie di PIC con un numero limitato di pin, solo 6, di cui 4 utilizzabili come I/O: si tratta della serie PIC10Fxxx.

Al momento (marzo 2013) sono prodotti 8 dispositivi; i primi 6, appartenenti alla famiglia Baseline, divisi in due sotto gruppi, hanno le seguenti caratteristiche:

PIC Memoria Timer
8 bit
Comparatori ADC
8 bit
PWM
10 bit
Stack
level
Set
istruzioni
Packages
Progam RAM
10F200 256 16 1 - - - 2 33 DIP 8
SOT23-6
2x3 DFN
10F202 512 24 1 - - - 2
10F204 256 16 1 1 - - 2
10F206 512 24 1 1 - - 2
10F220 256 16 1 - 2 - 2
10F222 512 23 1 - 2 - 2

Si possono osservare alcuni punti comuni che li differenziano dagli altri PIC (e da altri microcontroller, facendone un unicum):

  • package minuscolo (SOT-23-6) con 4 pin di I/O
  • set di istruzioni Baseline da 33-35 opcodes
  • da 16 a 24 bytes di RAM e program memory da 256 a 512 bytes
  • uno stack a 2 livelli 

Il numero ridotto dei pin è funzione delle dimensioni altrettanto ridotte del componente che è disponibile nel minuscolo SOT23-6 o nell' ancora più piccolo 2x3DFN. E' evidente la collocazione: automatizzare processi semplici e oggetti dove le dimensioni sono la componente più critica.
Nonostante questa vocazione, Microchip mette a disposizione gli stessi chip in DIP a 8 pin per facilitare l' avvicinamento al prodotto anche dell' utente che non vuole partire direttamente con SMD.

Per quanto ci interessa, ovvero anche per una applicazione didattica o hobbistica, questi mini-PIC sono oggetti molto interessanti:

  • sono essenziali, semplici da utilizzare: nascondono poche trappole, mentre non hanno i problemi delle serie maggiori (16F) dei banchi e delle pagine.
  • hanno un set di istruzioni ridotto
  • hanno le periferiche base, I/O e timer, e quindi si possono fare parecchie cose
  • hanno oscillatore interno e non richiedono alcun componente esterno (cristallo, condensatori, resistenze).
  • hanno consumo molto basso e funzionano in una ampia gamma di tensioni, adatti quindi per una alimentazione a batteria
  • costano pochissimo, il che non guasta

Inoltre:

  • hanno lo stesso pin out e quindi sono compatibili a livello hardware per quello che riguarda le risorse comuni
  • hanno la stessa struttura interna per cui sono compatibili anche come software per quello che riguarda le risorse comuni. Un passaggio da un componente ad un' altro può limitarsi a pochissime modifiche del sorgente.

Sono quindi molto adatti per iniziare a fare i primi passi nel mondo dei PIC.


10F3xx

Questi chip non appartengono realmente alla famiglia dei precedenti 10F2xx, di cui condividono solamente le minuscole dimensioni dei package SOT-23 o DFN e richiedono una trattazione a parte.
Infatti, i PIC10F320/322, dispongono di risorse molto superiori ai precedenti e di una struttura molto più complessa e differenziata:

PIC Memoria Timer
8 bit
Comparatori ADC
8 bit
PWM
10 bit
CLC
NCO
CWG
Stack
level
Set
istruzioni
Progam RAM
10F320 256 64 2 - 3 2 1 8 35
10F322 512 64 2 - 3 2 1

8

Se viene mantenuto il package a 6 pin e lo stesso pinout, pure siamo di fronte a chip quanto mai diversi dai PIC10F2xx. Sono, piuttosto che dei Baseline, analoghi ai più recenti PIC16F15xx/18xx, Enhanced Mid-range, dove trovano posto non solo ADC e PWM, ma anche le le nuove funzioni che Microchip sta implementando, ovvero CLC, NCO, CWG, FVR e sensore di temperatura, mentre aumenta la disponibilità di RAM e stack, oltre al set di istruzioni ampliato, per l' appoggio a compilazioni più complesse di quelle possibili negli altri modelli. 


Queste pagine

Certamente la scarsità delle risorse di memoria, stack e istruzioni dei PIC10F2xx fa si che siano oggetti in cui è più indicato un approccio in Assembly che non in un linguaggio superiore, anche se è comunque possibile implementare programmi in C. 
Comunque, hanno un set di istruzioni molto ridotto, che è facile da apprendere anche per chi non conosce l' Assembly.

Li utilizzeremo in vari esempi applicativi proprio perchè riteniamo sia fondamentale che un programmatore di microcontroller abbia una ragionevole conoscenza dell' Assembly e delle risorse hardware del componente che sta usando, altrimenti non avrà alcuna possibilità di maneggiarlo decentemente. E i PIC10F2xx sono ideali per questo.
Non vuol dire, però, che il programmatore in C debba rinunciare o diventare un guru dell' Assembly: semplicemente, con questi componenti "essenziali", vediamo la possibilità di un primo approccio al mondo dei PIC, in grado di dare una idea di base della filosofia di Microchip e dell' uso dei suoi tools di sviluppo, sia con Assembly che con C.

In ogni caso, è interessante considerare che, data l' uniformità della filosofia alla base dei PIC e della struttura analoga di questi processori in particolare, è possibile vedere bene come un sorgente scritto per un tipo potrà essere portato su un' altro senza problemi.  

Gli unici obblighi sono quelli dell' assegnazione del giusto header di definizione del processore e l' impiego delle medesime risorse.Molto spesso i dispositivi di una certa famiglia, pur essendo ampiamente compatibili a livello di codice con altri sviluppati nella stessa filosofia progettuale, per quanto possano essere semplici, nascondono qualche piccola insidia nella corretta configurazione, insidie che, ad una analisi troppo superficiale, sfuggono all' utilizzatore e creano seri problemi nell' uso del componente.

Ecco allora una rapida panoramica e alcune indicazioni per chi li vuole sperimentare.


Avvertenza :

Le pagine seguenti NON sono alternative alla lettura del foglio dati (Data Sheet) del componente che si sta usando!

Non sono neppure un corso su un determinato componente, ma riassunto degli elementi essenziali, allo scopo di dare una panoramica delle sue caratteristiche e possibilità e, principalmente, indicare come superare le "trappole" che, ad una analisi troppo superficiale, sfuggono all' utilizzatore e creano seri problemi nell' uso del componente.

La consultazione del foglio dati e della documentazione messa a disposizione dal costruttore sarà indispensabile per approfondire i singoli argomenti.

Le "trappole" saranno evidenziate con il simbolo , che indica la necessità di fermarsi e comprendere quale è l'azione necessaria per ottenere un determinato risultato.



 

 

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