Programmatore universale

Caratteristiche
Questo semplice circuito permette di programmare una grande quantità di microcontrollori e memorie scaricando i dati in modo seriale. Il progetto è derivato da diversi programmatori ed è compatibile con il ProPic2, principalmente può programmare i Microchip PIC a 40, 28, 18 e 8 pin e le EEPROM seriali I2C. Viene collegato al PC attraverso la porta parallela ed utilizza il programma IC-Prog di Bonny Gijzen. L'alimentazione necessaria è di 13 V stabilizzati, necessaria a settare i chip in modo programmazione, ma la maggior parte dei componenti viene programmata correttamente anche con i normali 12 V, internamente viene generata la tensione di 5 V (IC1) per alimentare i chip ed il circuito stesso.
Dalla porta parallela LPT giungono i segnali necessari al funzionamento:

FunzioneParallelaPin LPTInput/Output
DataD02O
DataACK10I
ClockD13O
VddD24O
MClr1D35O
MClr2D46O
VssGND18-25-

Attraverso i buffer non invertenti (IC2), controllati dal PC, arrivano sul connettore CN le linee di segnale e le tensioni di alimentazione di 5 e 13 V. Il chip da programmare viene collegato al connettore CN attraverso una piccola scheda di adattamento o, attraverso dei fili, alla scheda target per la programmazione ICSP (In Circuit Serial Programming). Nel primo caso sarebbe meglio utilizzare zoccoli ZIF, ma dato il loro costo si può ovviare con i normali zoccoli, avendo l'accortezza di allargare i contatti dei pin che non sono necessari alla programmazione, si riduce in tal modo la forza necessaria all'inserzione.
A seconda dei casi devono essere effettuate le seguenti connessioni con il connettore CN e i piedini dei chip:

FunzionePIC 40 pinPIC 28 pinPIC 18 pinPIC 8 pinEEPROM I2C
Data40281375
Clock39271266
Vdd11, 32201418
MClr1--44-
MClr211---
Vss o GND12, 318, 19584, 7

I segnali MClr1 e MClr2 sono equivalenti, ma è necessario averli entrambi per assicurare la compatibilità con il programmatore ProPic2.
I diodi led montati sulla scheda indicano lo stato del programmatore nel modo seguente:

LedColoreFunzione
DL1VerdeAlimentazione scheda 13 V presente
DL2RossoAlimentazione chip 5 V presente
DL3ArancioSegnale MClr chip attivo

Attenzione, ricordare di non collegare o scollegare il chip da programmare mentre i led rosso e/o arancio sono accesi. Si consiglia di connettere il programmatore alla porta parallela prima di accendere il PC e il programmatore stesso.
Per la connessione si può utilizzare un cavo di prolunga per stampanti oppure lo si costruisce appositamente collegando i soli piedini necessari con un cavo a 6 conduttori schermato, utilizzando la rete di schermo per la massa GND.

Schema elettrico


Clicca sullo schema per visualizzare e scaricare la versione ingrandita.

Realizzazione


La figura illustra il tracciato della basetta visto dal lato componenti, le sue dimensioni sono di 50 x 70 cm. Ne consiglio la realizzazione con il metodo della fotoincisione per la presenza di piste sottili e tra loro vicine. Cliccando sulla figura è possibile scaricare la versione pdf del tracciato realizzata con maggiore precisione ed adatta alla stampa.

Dalla figura precedente e aiutandosi con lo schema elettrico si può facilmente desumere la posizione dei componenti che compongono il progetto.
Le linee scure doppie sono dei semplici collegamenti da realizzarsi con spezzoni di filo o con ciò che rimane dei reofori tagliati dai componenti. Le linee più sottili sono invece dei normali resistori ed hanno accanto il proprio identificativo. La R12 viene montata in verticale.
Per il connettore DB25 femmina della porta LPT si può utilizzare un connettore volante incastrando la basetta tra le due file di piedini, saldare poi la fila del lato rame direttamente sulle piazzole e quella del lato componenti si riporta dalla parte opposta mediante degli spezzoni di conduttore che passano attraverso i fori delle rispettive piazzole e quindi saldati.
Il connettore CN è invece realizzato tagliando una striscia di piedini da uno zoccolo per integrati, ciò consente di collegarvi facilmente delle schede adattatrici o normali conduttori.

Configurazione
Dal menù di settaggio di IC-Prog scegliere hardware, selezionare il programmatore ProPic2 e invertire le linee Vcc e MClr. Nello stesso menù è possibile controllare il corretto funzionamento dell'hardware, abilitando le linee si verifica se i segnali presenti sul connettore CN corrispondono. Notare che abilitando Data Out si attiva anche il flag Data In nella parte destra della finestra, infatti le due linee sono interconnesse.

E' consigliabile disattivare eventuali programmi residenti in memoria che potrebbero causare l'errata programmazione o lettura dei chips, che ricordo è basata su un corretto sincronismo dei segnali di controllo e dati.

Gli utenti di sistemi operativi NT (Windows NT,2000,xp) devono installare un apposito driver icprog.sys per far funzionare correttamente il programma, seguire questa procedura:
1. Copiare il file del driver icprog.sys nella cartella SYSTEM32 di Windows o in quella dove è installato IC-Prog;
2. Aprire IC-Prog e andare sul menù SETTAGGI;
3. Scegliere la voce OPZIONI;
4. Aprire l'etichetta MISC;
5. Spuntare la voce ABILITA IL DRIVER NT/2000;
5. Premere OK e riavviare IC-Prog.

Per IC-Prog è disponibile sul web una guida in italiano che fornisce anche utili informazioni dal punto di vista dell'hardware necessario. Consiglio poi di visitare il sito del ProPic2 che da la possibilità di scaricare lo schema elettrico completo del programmatore.

Con la versione 1.05 D di IC-Prog è ora possibile programmare i nuovi PIC16F88, avendo effettuato alcune prove si è riscontrata l'impossibilità di programmare questo chip in quanto esso richiede che la linea MClr venga attivata alcuni istanti dopo la Vdd. Poiché in IC-Prog questa caratteristica non è implementata occorre agire direttamente sull'hardware del programmatore. La soluzione più semplice è quella di creare una apposita scheda di adattamento da collegare al connettore CN seguendo le connessioni riportate nella tabella precedente relative ai chip con piedinatura a 18 pin. Quindi collegare su questa scheda un condensatore elettrolitico da 1uF 16 V tra il piedino 4 (MClr) e massa. Ciò è sufficiente a creare il breve ritardo necessario a portare il PIC16F88 in modalità programmazione al momento dell'accensione. Il problema è stato risolto dalla versione 1.05 E.

Elenco componenti
R1 = R2 = R3 = R5 = R8 = R10 = 10 kohm, 1/4 W
R4 = R7 = R9 = 4.7 kohm, 1/4 W
R11 = R12 = 1 kohm, 1/4 W
R6 = 470 ohm, 1/4 W

C1 = elettrolitico 100 uF, 25 V
C2 = C3 = C4 = C5 = poliestere 0.1 uF

IC1 = 78L05
IC2 = 7407 (su zoccolo 14 pin)
TR1 = TR2 = TR3 = BC557
D1 = D2 = 1N4148
DL1 = DL2 = DL3 = diodi led (verde, rosso, arancio)

LPT = connettore DB25 femmina (per montaggio volante)
POWER = connettore plug per alimentazione
CN = striscia zoccolo 6 contatti

banner Pianeta RadioGianfranco, IZ8EWD Pianeta Radio - pianetaradio@pianetaradio.it (11/2007)