Zif socket per programmare
PIC
|
In altre
pagine è stato descritto un semplice mezzo per supportare i PIC
durante le operazioni di lettura e scrittura.
Questi si basano sulla considerazione che è comune
agli sperimentatori disporre di un Pickit, magari clone, e di avere la
tendenza a programmare i chip non installati in un circuito, anche se la
connessione ICSP/ICD
lo potrebbe permettere.
Peraltro, nelle realizzazioni basate su chip con basso
numero di pin può essere difficile rispettare le regole di isolamento dal
circuito per i segnali PGC/PGC/Vpp; inoltre può essere necessario leggere al
volo un chip, magari solo per identificare il valore di calibrazione oppure
quando si devono programmare una manciata di
processori uguali è non posibile farlo on-board. Quindi esiste la necessità
di agire sul componente al di fuori dello stampato e a volte può essere comodo disporre di un
programmatore, stand alone .
Allora dobbiamo realizzare o acquistare uno dei tanti
spartani programmatori che dipendono dalla seriale o dalla parallela del PC,
connessioni fonte di problemi e, tra l' altro, non più presenti sulle
macchine più recenti ?
La risposta è no, perchè sfruttando ICSP
possiamo programmare qualsiasi PIC senza un hardware speciale. Semplicemente
usiamo uno dei tools Microchip
(PICkit, ICD, Real ICE) che hanno anche la funzione di
programmatori.
In particolare, utilizzando gli economici Pickit 2 e 3
è possibile realizzare un programmatore stand alone che non necessita di
altra connessione che quella USB, derivando da questa la tensione di
alimentazione del chip.
ZIF socket
Rimandiamo alle pagine precedentemente indicate una trattazione più
dettagliata sui problemi legati alla realizzazione di programmatori troppo
spartani, sulla connessione ICSP e sull' idea portante della realizzazione e
passiamo subito ai fatti.
Volendo un sistema che permetta di programmare chip in package da 8 a 40
pin, è ovviamente necessario utilizzare uno zoccolo adeguato.
Un "programmatore" non è degno del
suo nome se non ha uno ZIF (Zero Force Inserction socket), che,
sicuramente, se utilizzato di frequente, non ha niente a che spartire con i
normali zoccoli per integrati.
Il costo maggiore dello ZIF rispetto allo zoccolo comune, anche di qualità,
è evidente: la facilità di inserire e rimuovere i componenti ripaga
ampiamente la scelta. Niente piedini storti o danneggiati e contatti
affidabili per lungo tempo. Solamente se si vuole
risparmiare al massimo, indifferenti alla comodità di uso e alla qualità,
ovvero se si usa molto, molto raramente il dispositivo, si può giustificare
la scelta di zoccoli non zero force.
|
E zoccoli ZIF come 3M 240-1288-00 o i meno costosi ed altrettanto
validi Aries 40-6554-10 sono reperibili da qualunque store in rete (RS,
Digikey, Distrelec, Farnell, Mouser, ecc.), mentre ne sono reperibili
altri modelli a costi contenuti, come l'economico, ma valido e consigliabile Mikroe-425 di
Microelektronika (nella foto) ed altri.
Su questi è possibile installare DIP sia passo 0.6" che passo
0.3", ovvero quelli utilizzati per i PIC
in contenitore plastico dual in line. |
Quindi la scelta dello ZIF è d'obbligo.
I collegamenti
Se osserviamo l' assegnazione dei pin per l' accesso ICSP/ICD, notiamo che
Microchip ha operato in modo tale da realizzare una certa compatibilità e,
sicuramente, la stessa posizione fisica dei pin in vari packages.
In particolare, i chip a 8, 14 e 20 pin sono perfettamente sovrapponibili
facendo coincidere il pin 1.
Altrettanto per i chip a 28 e 40 pin.
Restano i 18 pin e i PIC10F in DIP-8, che hanno connessione differente.
Possiamo , allora, raccogliere in un solo modulo le varie soluzioni: la posizione
dei pin di accesso è tale per cui un unico zoccolo ZIF 40 è in grado di supportare
chip a 8 a 40 pin.
Il vantaggio che questa disposizione presenta è quello di avere tutti i
tipi di chip orientati nella stessa direzione, il che riduce le possibilità
di errore di inserzione.
Per giustificare le connessioni ricordiamo che durante la programmazione i
pin utilizzati sono solamente PGC/PGD e Vpp, oltre all'
alimentazione. Gli altri vengono posti in tri-state e sono indifferenti ai
segnali applicati, oltre a costituire un carico praticamente trascurabile.
Quindi, per ottenere una modularità e universalità di uso, è stato
introdotto un solo jumper cheevita di applicare la Vpp (che è l'unica a
poter creare problemi) a pin non adeguati quando si inseriscono i componenti a
40 pin.
Non sono stati previsti i dsPIC, che non sono molto comuni
presso lo sperimentatore che non sia dotato di attrezzatura più sofisticata
del fatelo-da-voi, e che richiederebbero altri jumper, ma è comunque possibile modificare le connessioni per
ospitare questi chip.
Realizzazioni
Il circuito proposto è singola faccia
e facilmente realizzabile anche in casa.
Non volendo fare un cs (che è però la soluzione ideale), si potrà utilizzare
semplicemente un cablaggio punto-a-punto su una millefori.
LED e relativa resistenza (smd) sono opzionali, ma molto utili. Si
consiglia di usare LED da
2 mA o meno, con R1 da 3k3 circa. In questo senso, il consumo del LED è
trascurabile rispetto alla possibilità di fornire corrente da parte del
Pickit.
I condensatori, 47-100nF (smd), hanno funzione di stabilizzare l' alimentazione.
Il pull up R2 non è critico e può variare tra 2k e 4k7. Se si pensa di
non avere a che fare con EEPROM 24C/LC, può essere omesso.
Il jumper serve a selezionare la Vpp a seconda dei chip:
Package pin |
JS1 |
8 -14 -18 -20
10F |
1-2 |
28 - 40 |
2-3 |
Il connettore a 6 poli, passo 2.54 (1/10") è del tipo dorato e
piegato a 90 ° per innestarsi direttamente nei PICkit senza alcun adattatore.
Come funziona
Qui vediamo un programmatore stand alone completo realizzato con la
sovrapposizione dello ZIF su un clone di
Pickit2. Nello zoccolo si trova un
PIC10F222.
Per la gestione si potrà usare sia l' ambiente MPLAB, sia il software per l' uso dei PICkit come programmatori
stand alone.
Il collegamento diretto con un Pickit "ufficiale" è immediato:
Ovviamente si potranno utilizzare anche ICD e RealICE, ma in
questi casi occorre fornire la Vdd/Vss dall' esterno.
Altre informazioni sui PICkit:
Su PICkit2:
e su PICkit3:
Può essere di interesse anche:
|