venerdì 3 maggio 2013

Adattatore per Programmazione PIC (vari formati/piedinature)

Come molti, mi sono avvicianato al mondo dei microcontrollori grazie alla semplicità d’uso e la facilità di reperimento dei PIC (Microchip).
Ho iniziato a fare piccole cose e pian pianino ho avuto la possibilità di divertirmi con progetti più complessi. Nella mia esperienza hobbistica non ho mai incontrato problemi insormontabili per questi micro (a parte qualche volta la potenza di calcolo) e sono sempre stato convinto che una scheda a microcontrollore dovesse avere anche il connettore per la programmazione ed il debug del micro a bordo.
Questo permette di scaricare direttamente il firmware e di poter andare in debug, la cosa negativa é che alcuni piedini del micro rimangono utilizzati dal debugger e non sono utilizzabili al fine del progetto (a patto di non montare jumper).
In questo periodo ho avuto la possibilità di utilizzare PIC di taglio medio/piccolo per fare dei semplici prototipi e per delle piccole automazioni (di debug) del sistema ponti. Per queste cose non ho voluto scomodare gli STM32, ed ho utilizzato quanto disponibile in casa e dato che é molto più pratico un micro su contenitore DIN per il montaggio su breadboard sono ricaduto sui cari PIC.
Ecco che mi sono dovuto ricredere sulla mia convinzione iniziale di avere sulla scheda anche la programmazione ed il debug del micro.
Essendo PIC di taglio piccolo, é essenziale avere tutti i pin a disposizione, ma a questo punto come programmare agevolmente i PIC?

Il primo passo é stato quello di collegare “al volo” i piedini del micro con l’ICD2. Ma dato che la frequenza delle volte che mi serviva una cosa del genere stava salendo, mi sono convinto nel fare una semplice schedina che con diversi zoccoli DIN permettesse la programmazione dei PIC nei vari package.
In giro per la rete ho trovato diverse soluzioni, ho preso degli spunti tra le varie informazioni che ho trovato ed ho realizzato la mia schedina (ne migliore ne peggiore di altre).
La programmazione é possibile solamente se si configura l’ICD2 per dare alimentazione al microcontrollore. Per non dimenticare questo passaggio, volevo montare un LED rosso di segnalazione, ma per pigrizia non l'ho ancora fatto. Nella parte destra della scheda ho montato dei normalissimi pin strip che riportano tutti i pin di programmazione.

La disposizione é compatibile con quella del pickit2 e la riporto sotto:
1- Vpp/MCLR
2- VDD Target
3- Vss (GND)
4- ICSPDAT/PGD
5- ICSPCLK/PGC

In questo modo é possibile programmare i micro sia con il PicKit sia con l’ICD2.
I PIC hanno diverse piedinature, le più utilizzate a livello hobbistico e le più diffuse sono 8/14/18/20/28 e 40 tutte rigorosamente in package DIN. Lo scopo é proprio quello di poter programmare PIC con queste piedinatura con la stessa scheda adattatore.
Per verificare quali fossero i piedini di programmazione dei PIN con le varie iedinature ho preso a campione dei datasheet dal sito ufficiale Microchip.

Il pinout dell’icd2 é:
1- Non connesso
2- ICSPCLK/PGC
3- ICSPDAT/PGD
4- Vss (GND)
5- VDD Target
6- Vpp/MCLR


La scheda é un adattatore, non contiene logica o alimentazione. Parliamo di una connessione fisica dei segnali che vengono dall’ICD2 su ogni pin di ogni zoccolo DIN (i PIC con lo stesso numero di piedini, hanno i PIN di programmazione nella stessa posizione indipendentemente dalla famiglia e del modello).
Per la piedinatura dei PIC di varie “dimensioni” potete fare riferimento al datasheet.
Non sono presenti gli zoccoli da 8 e 14 pin in quanto hanno la stessa piedinatura del 20 pin, rispettando il pin 1.
I componenti:

Ecco la foto del lavoro ultimato:


Sugli zoccoli DIN ho tagliato i pin non necessari per evitare contatti che potrebbero inficiare negativamente sul funzionamento.
Vi prego di non fare caso agli zoccoli che nel caso del 18 pin e del 20 pin li ho dovuti tagliare (sempre nell’ottica di utilizzare quello che era disponibile immediatamente e nel raggio di 20mt).

Saluti
Sergio IW6CQF

Nessun commento:

Posta un commento