Sie sind auf Seite 1von 9

Programador PP2.

Por Jos Manuel Garca


Introduccin.
Se han presentado en artculos anteriores otros programadores muy simples aunque limitados.
Presentamos ahora un programador semi-profesional, capaz de programar una cantidad ingente de
dispositivos actuales y futuros, gracias a sus posibilidades de ampliacin, desde memorias EEPROM de varias
familias hasta microcontroladores de diversos fabricantes y, en general, casi cualquier dispositivo
programable mediante un protocolo serie. Y todo ello, manteniendo la compatibilidad con el programador en
el que est basado, el ProPic Programmer, por lo que se puede utilizar con la mayor parte del software de
programacin de dispositivos existente. Teniendo en cuenta esto, su precio es razonable, unos 15 euros con
zcalos estndar y menos de 50 euros con ZIF (zcalo de fuerza de insercin nula).
Adems del zcalo incluido en el programador, que permite programar los dispositivos ms habituales,
se ha aadido un conector a travs del cul, mediante adaptadores muy simples, se pueden programar otros
dispositivos menos utilizados, o en encapsulados diferentes, por ejemplo dispositivos para montaje
superficial. A travs de este conector, tambin se pueden programar dispositivos en el propio circuit o (ICSP),
y ser la va para adaptarse a otros dispositivos programables en serie que aparezcan en el futuro. La tabla 1
muestra los dispositivos programables actualmente (los que aparecen en negrita los he probado
personalmente).
Dispositivo:

Zcalo

ICSP

Adapt.

PICs:
12C508, 12C508A, 12C509, 12C509A, 12CE518, 12CE519, 12C671,
12C672, 12CE673, 12CE674, 16C61, 16C62A, 12C62B, 12F629,
12F675, 16C63, 12C63A, 16C64A, 16C65A, 16C65B, 16C66, 16C67,
16C71, 16C72, 12C72A, 16C73A, 16C73B, 16C74A, 16C74B,
16C76, 16C77, 16F83, 16C84, 16F84, 16F84A, 16C433, 16C505,
16C620, 16C621, 16C622, 16C622A, 16F627, 16F628, 16C715,
16F870, 16F871, 16F872, 16F873, 16F874, 16F876, 16F877,
16C923, 16C924, 18F242, 18F252, 18F258, 18F442, 18F452,
18F458

SI

SI

NO

24C01A, 24C02, 24C04, 24C08, 24C16, 24C32, 24C64, 24C128,


24C256, 24C512

SI

NO

NO

59C11, 59C22, 59C13

NO

NO

SI

MDA2062, NVM3060

NO

NO

SI

93C06, 93C46, 93C56, 93C57, 93C66, 93C76, 93C86

NO

NO

SI

AK6480, CXK1011, CXK1012, CXK1013, PDG011, TC89101,


TC89102

NO

NO

SI

P87LPC764, P87LPC767, P87LPC768

NO

SI

SI

SX28AC

NO

SI

SI

25010, 25020, 25040, 25080, 25160, 25320, 25640, 25128, 25256

NO

NO

SI

AT89S53, AT90S1200, AT90S2313, AT90S2323, AT90S2333,


AT90S2343, AT90S4414, AT90S4433, AT90S4434, AT90S8515,
AT90S8535

NO

SI

SI

Tabla 1

El circuito.
El esquema del programador aparece en la figura 1. Su diseo se basa en el ProPic Programmer, y
utiliza las mismas seales del puerto paralelo que l para comunicarse con el PC. Sin embargo, no se puede
decir que sea absolutamente compatible, ya que algunas seales estn invertidas respecto al original. El
motivo es adaptarse a los componentes disponibles, como luego se ver, y no supone un gran problema, ya
que la mayor parte de los programas existentes para grabacin de chips permiten invertir las seales a
voluntad (entre ellos el que yo recomiendo, ICPROG). Por otro lado, se ha corregido un fallo de diseo que
haca imposible que el ProPic Programmer funcionara correctamente (al menos el esquema disponible de
dicho programador).

Figura 1

Las seales del puerto paralelo utilizadas son D0 para enviar la seal DATA al PIC (o el dispositivo que
se est programando), D1 para la seal CLOCK, D2 para activar la tensin de alimentacin del PIC (Vdd) y
ACK para recibir la seal DATA enviada por el PIC. D3, D4 y D5 activan la tensin de programacin en
distintas patillas del zcalo. Esto es necesario para evitar que llegue una tensin tan alta (13V) a una patilla de
un PIC que no est preparada para soportarla (en otros programadores se obvia este problema, presuponiendo
que el PIC aguantar esa tensin).
Los inversores U1A a U1F tienen por objeto aislar el circuito del PC, para evitar que ste pueda daarse
por error. Originalmente, en lugar de inversores se utilizaron buffers no inversores de tipo 74LS34, pero la
dificultad de encontrar dicho chip me decidi a substituirlo. Como contrapartida, todas las seales estn
invertidas, por lo que habr que configurar el software de grabacin teniendo en cuenta este detalle, como

luego veremos. Quien encuentre un 74LS34 puede ponerlo en el lugar de U1, en cuyo caso el programador
ser totalmente compatible con el ProPic Programmer, y por tanto no habr que invertir ninguna seal en la
configuracin del software.
La conmutacin de la alimentacin del PIC se consigue mediante los transistores T1 y T2 y los
componentes adyacentes. T3 se encarga de activar el LED que indica que el PIC est alimentado. T8 y los
componentes que lo rodean sirven para acoplar las seales DATA IN y DATA out del puerto paralelo a la
seal DATA IN/OUT del PIC. Vpp1, Vpp2 y Vpp3 se conmutan mediante los bloques construidos en torno a
T6-T7, T9-T10 y T11-T12 respectivamente. Cuando se activa cualquiera de estas seales, gracias a los diodos
D3, D4 y D5 se activa tambin la seal Vppx y se enciende el LED D6, indicador de que la tensin de
programacin est activada.
La fuente de alimentacin es muy simple. La tensin que viene del transformador se rectifica y se filtra
mediante PR1 y C1. U2 estabiliza esta tensin a unos +13V para obtener la tensin de programacin, Vpp, ya
que su patilla de masa est a aproximadamente +1V respecto a la masa del circuito, gracias a D8 y D9. A
partir de esta tensin y mediante U3 obtenemos Vcc (+5V).
El conector CON2, cuya funcin ser permitir tanto la programacin de dispositivos en el prop io
circuito (ICSP) como el acoplamiento de adaptadores para algunos dispositivos, utiliza 6 de sus pines para las
siguientes seales:
PIN 1
PIN 2

PIN 3
PIN 4
PIN 5
PIN 6

Vdd: Tensin de alimentacin para el PIC, controlada por la seal D2 del puerto paralelo, para dar
o no alimentacin al PIC segn se necesite.
Vppx: Tensin de programacin del PIC, que ser activada por cualquiera de las seales D3, D4
D5 del puerto paralelo. Esto garantiza que, sea cual sea el dispositivo que se programe, el
software activar la tensin de programacin.
Data: Seal DATA I/O del PIC. Para enviar datos al PIC se utiliza la seal D0, y para recibir
datos la seal ACK del puerto paralelo.
Clock: Seal de reloj para el PIC, controlada por la seal D1 del puerto paralelo.
Masa: Seal Vss del PIC, correspondiente a 0V.
Vcc: Alimentacin para futuras ampliaciones y adaptadores. Vcc es +5V siempre que el
programador est encendido.

Realizacin prctica.
El diseo final aparece en la figura 2 (con zcalo de fuerza de insercin nula) y en la figura 3 (con
zcalo normal). Como se ve, en la zona inferior de la placa hay bastante espacio desaprovechado. Esta zona se
dej porque sobraba espacio y podr aprovecharse en el futuro para posteriores ampliaciones.

Figura 2

Figura 3

Para tener todos los detalles constructivos podis bajaros el fichero PP2.ZIP que contiene los siguientes
archivos:

PP2.DOC
FOTOLITO.TIF
SERIGRA 1.TIF
SERIGRA 2.TIF
PICPOS.TIF
LISTA.HTM
SCH.GIF
CABLEADO.GIF
ICPROG.GIF

Este documento en formato Word 2000.


Trazado de las pistas para crear un fotolito.
Serigrafa de componentes con zcalo ZIF.
Serigrafa de componentes con zcalo normal.
Posicin en que debe colocarse cada tipo de dispositivo.
Lista de componentes y presupuesto en formato HTML.
Esquema del circuito.
Esquema de cableado.
Configuracin de ICPROG para este programador.

Para la construccin de la placa de circuito impreso se seguirn los pasos normales. Slo apuntar la
importancia de que el zcalo ZIF (en caso de que se utilice) entre con suavidad en su sitio, ya que si entra
forzado, luego no funcionar correctamente, lo cual es una pena teniendo en cuenta su precio. Los conectores
deben quedar slidamente fijados para evitar que se rompan con el uso. No es necesario utilizar zcalo para
U1, aunque es muy recomendable, puesto que este es el componente que har de fusible en caso de que
cometamos un fallo en la utilizacin del programador.
Para los ms observadores, dir que yo utilic un zcalo ZIF de 32 patillas que tena por ah, en lugar del
de 40, como se ve en las figuras 4 y 5. No hay ningn problema en hacerlo, ya que las patillas que faltan no se
utilizan, aunque es una tarea para manitas, ya que habr que hacer ciertos retoques en el zcalo para que se
puedan pinchar dispositivos de 40 patillas. Tambin trac unas lneas con rotulador indeleble sobre el zcalo
que me sirven de gua a la hora de insertar un dispositivo, algo que recomiendo encarecidamente, ya que si se
pincha un PIC en el lugar incorrecto, el resultado puede ser la muerte del programador, del PIC, o de ambas
cosas.

Figura 4

Figura 5

Una vez terminada la placa, hay que fijar en la caja el transformador de alimentacin (yo utilic un
toroidal porque ya lo tena, pero si lo vais a comprar es mejor usar uno normal, que es ms barato e
igualmente vlido). El transformador puede ser de cualquier tensin de salida, entre 15V y 24V, y de al menos
200mA. Se montar tambin el interruptor de encendido, el cable para enchufar a la red elctrica y,
opcionalmente, un portafusibles. El cableado se har con arreglo a la figura 6.

Figura 6

En la figura 7-A se puede ver una vista del programador ya preparado para cerrarlo. En la figura 7-B se
aprecia un detalle del punto de soldadura de los cables que vienen del secundario del transformador. Da igual
la postura en que se suelden, ya que al ser corriente alterna no tiene polaridad.

Figura 7

Finalmente, en la figura 8 aparece el programador terminado. Como se puede apreciar, se ha substituido


la chapa de aluminio original de la caja por la placa de circuito impreso. Como se ve en la foto, yo recort y
pegu en la zona libre de la placa la plantilla que indica el lugar donde debe colocarse cada tipo de dispositivo
para programarlo. Se puede encontrar esta plantilla para las dos configuraciones posibles del programador en
el fichero PICPOS.TIF. Estas plantillas estn pensadas para ser pegadas en este lugar, por lo q ue incluyen
tambin la indicacin del significado de cada LED.

Figura 8

Utilizacin.
El programador PP2 est pensado como un dispositivo de uso intensivo. Puede estar encendido y
funcionando 24 horas al da sin problemas, y por tanto estar conectado siempre a un puerto paralelo del PC.
Sin embargo, si slo se dispone de un puerto paralelo, habr que conectarlo y desconectarlo con frecuencia,
para lo cual es bueno conocer ciertos detalles. El puerto paralelo no est preparado para conectar y
desconectar dispositivos en caliente, es decir, que en teora habra que apagar el PC y el dispositivo cada
vez que se vaya a conectar o desconectar. Sin emb argo, apagar el PC cada vez es un trastorno, as que el
programador se ha diseado de forma que un par de segundos despus de apagarlo no quede ningn tipo de
tensin residual en las patillas del conector paralelo. Por otro lado, al utilizar lgica TTL-LS no es previsible
que se produzca ningn dao en l si recibe seales estando apagado. En definitiva, que si esperamos unos
segundos despus de apagar el programador, podemos conectarlo o desconectarlo del puerto paralelo sin
problemas. Eso s, si se conecta o desconecta estando encendido, se pueden producir daos en el puerto
paralelo del PC, as que habr que ser muy prudente en este sentido.
Por otro lado, por motivos parecidos, nunca se debe insertar o extraer un dispositivo programable
estando presentes en el programador las tensiones de alimentacin o de programacin para dicho dispositivo.
Por ello se incluyeron en el montaje los LEDs D1 y D6, indicadores respectivamente de que est activada la
tensin de alimentacin o la de programacin. NUNCA se debe insertar o extraer un dispositivo programable
en el zcalo mientras uno de estos LEDs est encendido. Tampoco se debe encender o apagar el programador
con un dispositivo programable pinchado en el zcalo, ya que en el encendido o apagado se pued en producir
seales espreas que podran incluso borrar el contenido de la memoria del dispositivo.

Por tanto, la situacin correcta para insertar o extraer un dispositivo programable es con el LED D7
(POWER ON) encendido y los LEDs D1 (Vdd) y D6 (Vpp) apagados. Esta situacin slo se consigue con el
programador encendido y con el software de grabacin correctamente configurado y funcionando.
Si bien cada cual puede utilizar el software de grabacin que mejor se adapte a sus necesidades, y o
recomiendo ICPROG 1.05A, que es freeware y funciona perfectamente (de hecho, no me ha fallado una sola
vez con este programador). Se puede bajar de su website. Una vez instalado, en el men SETTINGS
OPTIONS, en la seccin LANGUAGE elegimos ESPAOL. A continuacin, en el men AJUSTES
escogemos TIPO HARDWARE (se puede hacer directamente pulsando F3) y aparece la ventana de la figura
9. Todas las opciones deben quedar como en la figura 9, salvo el puerto, e n el que habr que marcar el que
hayamos utilizado, pulsando OK para finalizar. Si se ha utilizado para U1 el 74LS34 en lugar del 74LS04,
debern dejar todas las seales sin invertir, es decir, todas las casillas en blanco.

Figura 9

Podemos verificar, al menos en parte, el funcionamiento del programador, gracias a una utilidad que
incluye el programa. Seleccionando en el men AJUSTES la opcin PRUEBA HARDWARE, aparece la
pantalla de la figura 10. Si el programador est conectado al puerto paralelo y encendido, y todo est correcto,
al marcar la casilla Habilitar VCC debera encenderse el LED D1 (Vdd) del programador. Ahora, al marcar
la casilla Habilitar MCLR debera encenderse el LED D6 (Vpp) del programador, y la casilla Data In
debe adoptar el mismo estado que marquemos en la casilla Habilitar Data Out. No podemos verificar el
funcionamiento de la seal Clock si no es usando un voltmetro para medir en el programador, pero si
funcionan las dems seales, podemos suponer que esta funcionar tambin.

Figura 10

Existe una prestacin en este software que permite ver la posicin en la que habra que insertar el PIC en
el zcalo, pero slo es vlida para el ProPic Programmer original, as que no hagis caso de ella. Slo queda

seleccionar el modelo de PIC que vamos a grabar o leer, y llevar a cabo las accio nes deseadas. El programa
trabaja igual con ficheros .BIN .HEX. Para grabar un PIC, abrimos el fichero mediante el men ARCHIVO
y seleccionamos PROGRAMAR TODO en el men COMANDO (o pulsamos F5). Para leer un PIC,
seleccionamos LEER TODO en el men COMANDO (o pulsamos F8) y luego podemos salvarlo a un fichero
mediante el men ARCHIVO. En la pgina de ICPROG hay instrucciones sobre el programa.
Por ltimo, quiero recalcar la importancia de insertar el dispositivo programable en la posicin correcta ,
dada la tendencia de los transistores T7, T10 y T12 a incinerarse cuando no se hace as. En la figura 11
aparecen las plantillas que indican la posicin correcta para cada dispositivo, en el zcalo ZIF, o en el zcalo
estndar.

Figura 11

Das könnte Ihnen auch gefallen