Corrado D'Achille
Ultimo aggiornamento 12/03/2015
pagina in italiano
italian page
disclaimer
Home Pic



Introduzione ai PIC

Lo scopo di queste pagine è di fornire delle informazioni sulla famiglia di microcontrollori della MICROCHIP©.
Le informazioni fornite presuppongono la conoscenza di alcuni termini di base e di alcuni concetti di informatica.

Cosa e' un microcontrollore

diagramma a blocchi di un PICUn microcontrollore e' un dispositivo elettronico che contiene al suo interno tipi differenti di risorse hardware.
In genere è composto di:
  • Un processore  (CPU)
  • Una logica per la generazione del segnale di riferimento temporale (CLOCK)
  • Una logica per la gestione della fase di partenza (RESET)
  • Una memoria statica, per il codice programma (ROM).
  • Una memoria dinamica, per i dati di programma (RAM)
  • Uno o piu' contatori, per il controllo di intervalli temporali (TIMER)
  • Una logica di gestione delle interruzioni (INTERRUPTER).
  • Delle porte di input/output per la gestione dei segnali da/verso il mondo esterno (I/O PORTs).
Quindi, a differenza di un microprocessore, il microcontrollore non necessita' di dispositivi esterni per il suo funzionamento, ad eccezione dei componenti passivi per la logica di CLOCK e di RESET (Quarzi, condensatori, diodi e resistori).

Come funziona

Il microcontrollore funziona cosi':
  • Dopo aver fornito la tensione di alimentazione viene effettuata la fase di reset. In questa fase tutte le risorse vengono poste nello stato iniziale.
  • Terminata la fase di reset, La CPU comincia a leggere le istruzioni contenute nella memoria ROM e ad eseguirle.
Uso di un microcontrollore

Per usare il microntrollore per i propri scopi e' necessario programmarlo. La programmazione consiste nella generazione di una sequenza di istruzioni che permettono di svolgere la funzionalita' richiesta. L'insieme delle istruzioni costituisce il programma. Il programma puo' essere scritto o in linguaggio ASSEMBLER oppure con un linguaggio ad alto livello (C, PASCAL, BASIC). Il file (o i files) ottenuto dopo opportune operazioni di traduzione, viene inserito nella memoria ROM.
Riassumendo:
  • Definito il tipo di problema da risolvere, si scrive il programma usando un editor di testi.
  • Il programma scritto viene tradotto in un formato compatibile con la memoria ROM del microcontrollore, usando un COMPILATORE.
  • Il file ottenuto viene copiato nella ROM tramite uno strumento hardware chiamato PROGRAMMATORE (In gergo questa operazione si chiama "Bruciatura").
Informazioni sui microcontrollori possono essere reperite ovunque sul web. Ci sono comunque alcuni siti fondamentali:
  • microchip  - e' il sito della microchip, qui si possono trovare datasheets, tools di sviluppo, note applicative. Si possono inoltre richiedere dei campioni gratuiti, oppure acquistare piccole partite di componenti a prezzi interessanti.
  • ic-prog - e' il sito ufficiale del programmatore icprog. Qui potete trovare il software per programmare i pic e le informazioni per comprare o costruire il programmatore.
Organizzare un laboratorio per PIC 
Vediamo ora come si puo' mettere in piedi un piccolo laboratorio per utilizzare i pic.
I tools e gli strumenti necessari sono:
  • Ambiente di sviluppo. E' il software che si usa per scrivere il programma. Dopo vari test ho scelto due tool specifici:
  • MPLAB: e' il tool di sviluppo della MICROCHIP. E' completamente gratuito. Puo' essere scaricato dal sito della microchip.
  • SOURCEBOOST: per scrivere programmi in C. Ha alcune limitazioni ma si rivela molto utile per scrivere piccoli programmi senza dover per forza imparare l'assembler.
  • Programmatore: ne esistono di diversi tipi:
    • PARALLELO; si connette alla porta parallela del PC è molto affidabile, ma per farlo funzionare si deve fornire un'alimentazione esterna
    • SERIALE: si connette alla porta seriale e non necessita dell'alimentazione esterna. Purtroppo i nuovi PC non sempre hanno la porta seriale, ed utilizzando un'adattatore da USB a SERIALE difficilmente si riesce a farlo funzionare.
    • USB: si connette alla porta USB e non necessità di alimentazione esterna. E' molto veloce ed affidabile. La  Microchip© ha nel suo catalogo diversi tipi di programmatori di questo tipo, ma è possibile realizzarne uno in casa con poca spesa.
  • Demo board: una schedina di prova dove inserire il pic per i vari test. E' composta di:
    • Uno zoccolo per il PIC
    • Uno zoccolo per il quarzo,
    • Uno zoccolo per collegare il pic ai circuiti esterni
    • Un circuito di reset,
    • Un regolatore di tensione
    • Un circuito per la programmazione on board.
    • Uno zoccolo per collegare un display LCD.
Questa scheda non e' strettamente necessaria. Ma si rivela utile nei casi in cui si vogliono usare dei componenti standard. Puo' essere sostituita da una di Breadboard per montaggi sperimentali, di quelle con le mollette dove vanno inseriti i fili di collegamento a pressione. Insomma dipende dalle vostre esigenze.
  • Tool di disegno. Un cad per il disegno dello schema elettrico e la progettazione del circuito stampato. Sul web se ne trovano diversi completamente gratuiti. Un tool molto completo (E soprattutto molto GRATUITO) e' eagle della cadsoft.
Cosa trovate nel mio sito   

Partendo da zero ho realizzato un programmatore USB e una demoboard,  i  progetti li trovate nei links indicati.

Disclaimer

Il materiale contenuto in questo sito è fornito AS IS, a solo titolo didattico e senza garanzia alcuna, implicita o esplicita. In particolare l'autore non si ritiene responsabile di alcun danno diretto o indiretto causato dall'uso delle informazioni contenute nel sito. Tutti i nomi di prodotti e ditte sono proprieta' dei legittimi proprietari. L'uso, la modifica e la distribuzione del materiale e', fatti salvi i diritti di terzi, libera e gratuita a condizione di citare la fonte. E' vietato l'uso commerciale di tutto o parte del materiale, salvo espressa autorizzazione scritta.