Configurazione

Debug del PIC18

Il PIC18 non ha una tastiera ed un monitor; per programmare il microcontrollore ed effettuare il debug del codice è quindi necessario utilizzare un normale PC, il software MPLAB X ed un In-Circuit Debugger (ICD), come già scritto nella pagina precedente.

Questa pagina presenta alcuni concetti da conoscere per poter iniziare a scrivere il primo programma.

L'installazione del software è banale. Unica avvertenza: serve una macchina di una certa potenza, dato che MPLAB X non è esattamente un software leggero.

Il collegamento hardware

Il collegamento tra PC e ICD è oggi effettuato esclusivamente via USB. L'installazione di MPLAB X include tutti i driver necessari ed anche gli aggiornamenti del firmware del ICD.

Il collegamento tra ICD e microcontrollore è fatto tramite una specifica interfaccia. Sono necessari, in genere, 5 fili:

I PIC18 con hardware ICD

Alcuni processori includono tutto l'hardware necessario per effettuare il debug. In questo caso è sufficiente collegare direttamente il circuito integrato al ICD.

In genere è consigliabile riservare i pin di programmazione/debug solo a questo uso. Se serve, utilizzando gli accorgimenti descritti nei fogli tecnici, è però possibile anche il loro uso generico.

Nella foto di apertura è visibile un PIC18F2431 collegato direttamente ad un ICD 3, tramite il connettore nell'angolo basso a sinistra della breadboard. Da sinistra possiamo vedere:

Qui sotto, lo schema corrispondente, utilizzato in diversi esempi. Lo stesso circuito è adatto per la programmazione, per il debug e per l'uso senza connessione al PC (quest'ultimo previa alimentazione, ovviamente). Sono presenti anche alcuni LED ed un pulsante.

Uno schema dimostrativo con PIC18F2431, LED e pulsante

Un circuito simile, che utilizza un PIC18F2xK20 è PICdemo.

I PIC18 senza hardware ICD

Alcuni PIC18, soprattutto quelli con un minor numero di pin, non hanno l'hardware dedicato al debug: in questo casi occorre utilizzare appositi adattatori, indicati con il termine debug header. In pratica si tratta di versioni modificate del microcontrollore, con alcuni piedini in più. Il circuito si inserisce al posto del microcontrollore reale e si comporta allo stesso modo, permettendo il collegamento al PC.

E' buona norma inserire tra la debug header ed il circuito uno zoccolo, per evitare di piegare o rompere i pin, piuttosto delicati. Questo potrebbe causare, in verità non molto spesso, problemi elettrici di funzionamento, causati dalla maggiore lunghezza dei collegamenti.

I vantaggi dell'uso di debug header: 

Gli svantaggi:

Occorre precisare che la debug header serve solo per il debug; se dovete solo programmare un dispositivo potete farne a meno...

Nella fotografia di apertura è visibile la debug header del PIC18F14K50, di colore rosso, sulla destra.

La creazione di un nuovo progetto

Ciascun programma deve essere incluso in un progetto.

La procedura è guidata:

  1. Inizia ovviamente con Create New Project. Le scelte di default (Microchip embedded e Standalone Project) sono quelle corrette, almeno all'inizio.
  2. Occorre quindi scegliere il PIC18 (è facile sbagliare: molte sigle si assomigliano) e, se richiesto, la debug header
  3. Quindi viene richiesto il modello In-Circuit Debugger. Se è già collegato, viene identificato automaticamente
  4. Il compilatore/assemblatore da utilizzare (in seguito XC8). Spesso sono presenti più versioni, potrebbe essere conveniente scegliere quella più aggiornata
  5. Il nome del progetto

Di seguito le finestre principali:

 La finestra principale di MPLAB X / Netbeans

Configuration Bits

I Configuration Bits definiscono alcune opzioni di funzionamento dell'hardware del microcontrollore.

Si tratta di aspetti piuttosto tecnici in quanto la loro impostazione richiede conoscenze di dettaglio sul funzionamento del PIC18. Tre le possibili strade da seguire, in funzione delle competenze possedute:

L'impostazione dei Configuration Bits deve essere descritta all'interno del codice sorgente attraverso la direttiva #pragma config, da inserire possibilmente in uno specifico file.h, da includere nel progetto (#include "configurationsbits.h") (nota 1)

I bit sono specifici per il singolo PIC18, molti possono essere all'inizio ignorati, mantenendo le configurazioni standard proposte. Tra quelli che è opportuno conoscere/modificare possono essere citati, a mero titolo di esempio:

#pragma config OSC = xxx
Imposta la sorgente di clock. Opzioni comuni sono il clock interno (IRC), un cristallo al quarzo (HC), un gruppo RC esterno, un oscillatore esterno (EC), molti con alcune varianti. E' inoltre possibile attivare o meno un PLL interno
#pragma config WDTEN = ON | OFF
Permette di attivare o meno un "cane da guardia". Se non se ne comprende il significato, meglio disattivarlo
#pragma config MCLRE = ON | OFF
Specifica se il pin esterno dovrà essere utilizzato come reset o meno
#pragma config LVP = ON | OFF
Permette di programmare il dispositivo usando o meno la tensione Vpp. Da notare che con alcuni PIC e con alcuni programmatori questa opzione deve essere OFF

Note


Data di creazione di questa pagina: settembre 2014
Ultima modifica: 30 marzo 2016

Una pagina simile: Configurare hardware e software (in Assembly)


Licenza Creative Commons Attribuzione 4.0 Internazionale


Pagina principaleAccessibilitàNote legaliPosta elettronicaXHTML 1.0 StrictCSS 3

Vai in cima