Tutorials - PIC

 

ICSP-ICD


I segnali in ICSP

In cosa consiste la connessione ICSP ?

Semplicemente si tratta di prevedere sul circuito stampato un semplice connettore a 6 poli che porta i seguenti segnali:

  1. Vpp

  2. Vdd +V

  3. Vss GND

  4. ICSPDATA - PGD

  5. ICSPCLK - PGC

  6. PGM-spare


Nulla di più !

Non serve nient' altro che un semplice connettore ! E' solo un semplice connettore !
Più semplice di così: solo un connettore comune è sufficiente per cambiare totalmente il modo di lavorare.
E questo si può fare sia su breadboard che sul circuito stampato o su  millefori, mentre è di default sulle board di valutazione e di sviluppo di Microchip e praticamente di tutti i costruttori terzi.

Ovviamente ci sarà da seguire un minimo di cura per implementare correttamente questo sistema così semplice e potente.
Vediamo i singoli segnali.

Vpp 

E' la tensione di programmazione, di circa 13.5V per i PIC a 5V. Viene collegata al pin MCLR.
Per i PIC a 3.3V, come 18FJ, 24H e 33F si utilizza una diversa gestione e Vpp è un segnale digitale.
Questo è importante da considerare, in quanto non c'è una sola tensione di programmazione per tutti i PIC, ma cambia a seconda delle famiglie e l' applicazione di una Vpp elevata danneggerà un chip che richiede una tensione minore. Occorre pertanto che il dispositivo di programmazione sia aggiornato al modello di chip che si vuole programmare. 

Vdd

E' l' alimentazione positiva del PIC. Alcuni tools di programmazione/sviluppo, (ad esempio Real ICE) richiedono che la scheda che supporta il PIC sia alimentata; altri, come i PICkit, sono in grado di alimentare direttamente i dispositivi collegati e quindi non è richiesta altra fonte di alimentazione, sia possono lavorare su schede con alimentazione propria. 

GND

La massa comune dell' alimentazione e dei segnali. 

 

PGD

La linea di trasmissione dei dati seriali.  Si tratta di una comunicazione seriale sincrona, bi direzionale; il clock è generato dal dispositivo  programmatore. I dati sono validi al fronte di discesa del clock.
Questa linea serve anche per lo scambio dati durante il debug. 

PGC

La linea del clock che sincronizza lo scambio dei dati. 

L' illustrazione qui sotto schematizza la connessione tra PIC e dispositivo di programmazione

Il dispositivo di programmazione, dipendente da un PC su cui gira il software di controllo, può contenere un microcontroller e un generatore della Vpp. Un firmware residente gestisce le varie funzioni.
PICkit e ICD implementano una struttura di questo genere.


 

Quali sono i pin di ICSP sul chip ?

Questo dipende dal chip.  Se dispone del PORTB, in generale PGD e PGC sono i bit 6 e 7 di questo port.
Per i chip più piccoli la situazione è varia e occorre consultare il foglio dati.
Se non altro si trovano fisicamente in pin con posizioni analoghe, per cui è possibile venire a capo della questione abbastanza rapidamente.

 

Ecco la posizione dei pin ICSP per alcuni chip comuni

Chip Pack PGC PGD PGM Vpp
MCLR
ICSP ICD
Port Pin Port Pin Port Pin Pin
16F84 18 RB6 12 RB7 13 no 4 Si No
16F628 RB4 10 Si No
16F88 RB3 9 Si Si
18F1230 no Si Si
16F690 20 RA1 18 RA0 19 no Si No
16F676 14 12 13 no Si No
18F2321 28 RB6 27 RB7 28  RB3  24 1 Si Si
16F876 Si Si
16F877 40 39 40 RB3  36 Si Si
18F4321 Si Si
12F675 8 GP1 6 GP0 7 no 4 Si No
10F206* 8 GP1 4 GP0 5 no 8 Si Si

* I PIC10Fxxx sono componenti in SOT23 a 6 pin. Nel contenitore in DIP a 8 pin, hanno (chissà perchè) una piedinatura diversa dai PIC12Fxxx.

 


AVVERTENZA

  • Anche se in generale i PIC a 8-14 e 20 pin hanno i pin ICSP in posizione analoga, come pure i 28-40 pin, altri chip possono avere disposizioni differenti (ad esempio i PIC10Fxxx).
     

  • Non tutti i PIC hanno le stesse funzioni: tutti sono programmabili HVP, anche se i più recenti non usano una tensione elevata; alcuni sono programmabili anche LVP.
    Alcuni chip hanno la funzione di debug integrata, altri no e richiedono un adattatore esterno.
     

  • quindi, è più che mai necessario, affrontando un nuovo componente, consultarne il foglio dati per verificare le possibilità e le disponibilità.


Il programmatore per i chip PIC

In base a quanto detto, non serve assolutamente un hardware complesso per programmare i PIC: basta uno dei tanti tools di Microchip, anche quelli più economici, come i Pickit e un supporto fisico per il chip, da collegare in ICSP.
Quindi:


Noi consigliamo vivamente di realizzare il nostro programmatore , ultra semplice, ma realmente essenziale, facilmente realizzabile in casa, economicissimo e sicuramente funzionante, da abbinare con uno dei tools di Microchip, come i Pickit.

 


 

   

 

Copyright © afg. Tutti i diritti riservati.
Aggiornato il 30/03/13.