Professional Documents
Culture Documents
htm
Programador PP2.
Por José Manuel García
Introducción.
Se han presentado en artículos 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 ampliación, 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 programación de dispositivos existente.
Teniendo en cuenta esto, su precio es razonable, unos 15 euros con zócalos estándar
y menos de 50 euros con ZIF (zócalo de fuerza de inserción nula).
1 от 12 01.3.2007 г. 16:59
Programador PP2 http://213.97.130.124/progs/pp2/pp2.htm
El circuito.
El esquema del programador aparece en la figura 1. Su diseño se basa en el
ProPic Programmer, y utiliza las mismas señales del puerto paralelo que él para
comunicarse con el PC. Sin embargo, no se puede decir que sea absolutamente
compatible, ya que algunas señales están 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 grabación de chips
permiten invertir las señales a voluntad (entre ellos el que yo recomiendo, ICPROG).
Por otro lado, se ha corregido un fallo de diseño que hacía imposible que el ProPic
Programmer funcionara correctamente (al menos el esquema disponible de dicho
programador).
2 от 12 01.3.2007 г. 16:59
Programador PP2 http://213.97.130.124/progs/pp2/pp2.htm
Figura 1
Las señales del puerto paralelo utilizadas son D0 para enviar la señal DATA al
PIC (o el dispositivo que se está programando), D1 para la señal CLOCK, D2 para
activar la tensión de alimentación del PIC (Vdd) y ACK para recibir la señal DATA
enviada por el PIC. D3, D4 y D5 activan la tensión de programación en distintas
patillas del zócalo. Esto es necesario para evitar que llegue una tensión 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
tensión).
Los inversores U1A a U1F tienen por objeto aislar el circuito del PC, para
evitar que éste pueda dañarse 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 señales están invertidas,
por lo que habrá que configurar el software de grabación teniendo en cuenta este
detalle, como luego veremos. Quien encuentre un 74LS34 puede ponerlo en el lugar
3 от 12 01.3.2007 г. 16:59
Programador PP2 http://213.97.130.124/progs/pp2/pp2.htm
PIN 1 Vdd: Tensión de alimentación para el PIC, controlada por la señal D2 del
puerto paralelo, para dar o no alimentación al PIC según se necesite.
PIN 2 Vppx: Tensión de programación del PIC, que será activada por
cualquiera de las señales D3, D4 ó D5 del puerto paralelo. Esto garantiza
que, sea cual sea el dispositivo que se programe, el software activará la
tensión de programación.
PIN 3 Data: Señal DATA I/O del PIC. Para enviar datos al PIC se utiliza la
señal D0, y para recibir datos la señal ACK del puerto paralelo.
PIN 4 Clock: Señal de reloj para el PIC, controlada por la señal D1 del puerto
paralelo.
PIN 5 Masa: Señal Vss del PIC, correspondiente a 0V.
PIN 6 Vcc: Alimentación para futuras ampliaciones y adaptadores. Vcc es +5V
siempre que el programador esté encendido.
Realización práctica.
El diseño final aparece en la figura 2 (con zócalo de fuerza de inserción nula) y
en la figura 3 (con zócalo normal). Como se ve, en la zona inferior de la placa hay
4 от 12 01.3.2007 г. 16:59
Programador PP2 http://213.97.130.124/progs/pp2/pp2.htm
bastante espacio desaprovechado. Esta zona se dejó porque sobraba espacio y podrá
aprovecharse en el futuro para posteriores ampliaciones.
Figura 2
5 от 12 01.3.2007 г. 16:59
Programador PP2 http://213.97.130.124/progs/pp2/pp2.htm
Figura 3
Para tener todos los detalles constructivos podéis bajaros el fichero PP2.ZIP
que contiene los siguientes archivos:
Para los más observadores, diré que yo utilicé un zócalo ZIF de 32 patillas que
tenía por ahí, en lugar del de 40, como se ve en las figuras 4 y 5. No hay ningún
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 zócalo para que se puedan
pinchar dispositivos de 40 patillas. También tracé unas líneas con rotulador indeleble
sobre el zócalo que me sirven de guía 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.
6 от 12 01.3.2007 г. 16:59
Programador PP2 http://213.97.130.124/progs/pp2/pp2.htm
Figura 4
Figura 5
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.
7 от 12 01.3.2007 г. 16:59
Programador PP2 http://213.97.130.124/progs/pp2/pp2.htm
Figura 7
8 от 12 01.3.2007 г. 16:59
Programador PP2 http://213.97.130.124/progs/pp2/pp2.htm
Figura 8
Utilización.
El programador PP2 está pensado como un dispositivo de uso intensivo. Puede
estar encendido y funcionando 24 horas al día sin problemas, y por tanto estará
conectado siempre a un puerto paralelo del PC. Sin embargo, si sólo 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 teoría habría que apagar el PC
y el dispositivo cada vez que se vaya a conectar o desconectar. Sin embargo, apagar
el PC cada vez es un trastorno, así que el programador se ha diseñado de forma que
un par de segundos después de apagarlo no quede ningún tipo de tensión residual en
las patillas del conector paralelo. Por otro lado, al utilizar lógica TTL-LS no es
previsible que se produzca ningún daño en él si recibe señales estando apagado. En
definitiva, que si esperamos unos segundos después 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 daños en el puerto
9 от 12 01.3.2007 г. 16:59
Programador PP2 http://213.97.130.124/progs/pp2/pp2.htm
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
alimentación o de programación para dicho dispositivo. Por ello se incluyeron en el
montaje los LEDs D1 y D6, indicadores respectivamente de que está activada la
tensión de alimentación o la de programación. NUNCA se debe insertar o extraer un
dispositivo programable en el zócalo mientras uno de estos LEDs esté encendido.
Tampoco se debe encender o apagar el programador con un dispositivo programable
pinchado en el zócalo, ya que en el encendido o apagado se pueden producir señales
espúreas que podrían incluso borrar el contenido de la memoria del dispositivo.
Si bien cada cual puede utilizar el software de grabación que mejor se adapte a
sus necesidades, yo 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 sección LANGUAGE elegimos ESPAÑOL. A continuación, 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, en 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, deberán dejar todas las señales sin invertir, es decir, todas las casillas en
blanco.
Figura 9
10 от 12 01.3.2007 г. 16:59
Programador PP2 http://213.97.130.124/progs/pp2/pp2.htm
Figura 10
Existe una prestación en este software que permite ver la posición en la que
habría que insertar el PIC en el zócalo, pero sólo es válida para el ProPic Programmer
original, así que no hagáis caso de ella. Sólo queda seleccionar el modelo de PIC que
vamos a grabar o leer, y llevar a cabo las acciones 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 página de ICPROG hay instrucciones sobre el programa.
11 от 12 01.3.2007 г. 16:59
Programador PP2 http://213.97.130.124/progs/pp2/pp2.htm
Figura 11
12 от 12 01.3.2007 г. 16:59