Programmatore per pic e eeprom

-Programmatore per pic e eeprom-

Il programmare proposto l'ho testato personalmente con risultati entusiasmanti.
L'elettronica è derivata dal programmatore jdm, e può programmare microcontrollori della microchip tipo: 12C508, 16C84, 16F84, e memorie eeprom tipo: 24C16, 24C32. Con semplice adattatore anche eeprom 4wire come i tipi 93Cx6.
Schema elettrico del programmatore:

I collegamenti all'interfaccia RS232 sono riferiti al connettore 25 poli, se si utilizza il più comune 9 poli riporto i pin equivalenti:

TxD -> pin 3 (trasmit data)
RtS -> pin 2 (receive data)
CTS -> pin 8 (Clear To Send)
DTR -> pin 4 (Data Terminal Ready)
GND -> pin 5 (Signal Ground)

Personalmente per il collegamento ho utilizzato un normale cavo citofonico lungo circa 2m, in teoria può essere anche piu lungo.
Al posto dei BC547B indicati ho utilizzato degli equivalenti BC546.
Lo zoccolo per IC Z9 è del tipo con pin torniti per garantire una maggiore durevolezza.
Il risultato finale è nella foto:

Nella foto è installata una eeprom tipo 24C02 che va posizionata esattamente come si vede.
Per realizzare questo prototipo ho speso impiegato ore di paziente lavoro.

-Come programmare pic e eeprom-

Per realizzare il software da caricare sul pic occorre scrivere, con un qualsiasi editor di testo, il file .asm, questo va successivamente passato al software MPASM scaricabile, con tanto di manuale, dal sito Microchip. Il file .asm va scritto in formato assembler, le istruzioni utilizzabili dipendono dal tipo di pic utilizzato (14bit per pic16xxx 12bit per pic12xxx). Per le istruzioni asm scaricare i manuali (in formato pdf) della microchip come riferimento.
Configurare MPASM secondo le esigenze (tipo di pic usato vedi manuale), per compilare il file .asm.
Se non ci sono errori, MPASM genera il file .hex, cioè il codice esadecimale che andrà scaricato nel microcontrollore.
A questo punto occorre un software che gestisca la comunicazione tra RS232 e l'hardware di programmazione; cioè un software che deve generare i segnali elettrici per gestire la programmazione del chip. Per questo si dovrà scegliere nel suo set il tipo di chip che si sta utilizzando. Ho utilizzato per questo icprog.exe scaricato da www.h2deetoo.demon.nl (many compliments to author), che funziona benissimo con il mio W98 e Pentium500Mhz.
Vedi relativi setting:

Icprog.exe può programmare 12C508, 16C84, 16F84, memorie eeprom tipo: 24C16, 24C32 ed altro ancora.
P.S.: con alcuni software ci potrebbero essere problemi di tempistica dei segnali generati vista la sempre maggiore velocità dei nuovi pc. Per utilizzare PIP-02.exe avevo dovuto rispolverare un 286 a 20 Mhz !

-Tempo dopo...-

Con alcuni PIC ho incontrato dei problemi di programmazione, nel senso che questi non si a resettavano (erase) ne tantomeno si sovrascrivevano (programm) , in pratica riuscivo solo a leggerne il contenuto (verify). Credo che nel circuito jdm vi sia un problema di tempistica dei segnali tra VCC e MCLR così ho realizzato il circuito di seguito schematizzato.

Per la realizzazione ho utilizzato componenti SMT, non per particolari ragioni tecniche ma perchè li avevo disponibili.

Per la programmazione ho utilizzato comunque ICPROG settato come per il precedente circuito JDM abilitando l'opzione: Enable MCLR as VCC.
Ho programmato con successo microchip 16F84 e eeprom 24C02, 24C32, 24C256.

[ HOME ]