Programador PIC y EEPROM JDM
DISPOSITIVOS LÓGICOS MICROPROGRAMABLES Programador PIC y EEPROM JDM

Índice / Introducción Programación de PIC con ic-prog Programador JDMD

Programador PIC y EEPROM JDM

Índice de contenidos

Introducción

Web oficial: http://www.jdm.homepage.dk/newpics.htm

Este programador, también conocido como PIC-Programmer 2, ha sido y es ampliamente utilizado y funciona bien. Fué desarrollado por Jens DyekjŠr Madsen (JDM) entre 1996 y 1998. Los programadores TE-20, TE-20SE, JDMD, JDMI,, así como otros, están basados en él. Se utiliza con el Ic-Prog o WinPIC seleccionando JDM Programer.

Este programador es alimentado por el puerto RS232 del PC y funciona con niveles RS232 de al menos ▒8.6V.

Dispositivos que soporta JDM

Esquema original

Las tensiones necesarias, Vpp (tensión de programación) y Vdd se obtienen a traves del puerto. La tensión se estabiliza con diodos zener y condensadores.

Aspecto de un prototipo del programador JDM (PIC-Programmer 2):

El programador JDM soporta ICSP, In-Circuit Serial Programming, esto es, permite programar al PIC en el propio circuito de utilización.

IMPORTANTE: Mientras se utiliza el programador no debe utilizarse la alimentación del circuito de utilización, la alimentación necesaria es aplicada por el propio programador.

Funcionamiento

Características del puerto serie RS232:

El puerto serie de 25 patillas no suele encontrarse ya en los PC's de sobremesa, donde sólo se presenta el de 9 patillas. Al utilizar el JDM deberá tenerse en cuenta.

Más información sobre el puerto serie en La comunicación serie.

Conector DB9

Pat. Señal Dir Descripción JDM Uso en JDM
1 CD Carrier Detect - Detección de portadora - -
2 RXD Receive Data - Recepción de datos - -
3 TXD Transmit Data - Transmisión de datos TXD (2) Vdd, Vpp
4 DTR Data Terminal Ready - Terminal de datos preparado DTR (20) Salida serie
5 GND System Ground - Masa de señal GND (7) +Vdd
6 DSR Data Set Ready - Dispositivo preparado - -
7 RTS Request to Send - Petición de envio RTS (4) Reloj y Vss
8 CTS Clear to Send - Preparado para transmitir CTS (5) Entrada serie
9 RI Ring Indicator - Indicador de llamada entrante - -

La dirección (Dir) es DTE (PC) relativa a DCE (Dispositivo).

La columna JDM indica la patilla en el conector de 25 patillas.

El puerto RS232 está superado por el puerto USB y tiende a desaparecer. De hecho los portátiles no suelen disponer de este tipo de puerto.

La corriente de salida del puerto serie RS232 está limitada, lo que protege al PIC si se inserta incorrectamente.

Este programador por puerto serie hace uso de las siguientes señales:

La tensión de la entrada de reloj está limitada mediante D3 y D4 sin que sea necesaria ninguna resistencia limitadora.

Los diodos a Vdd internos del PIC protegen también las entradas. Los dispositivos 24CXX no tienen ningún diodo a Vdd, y D4 es absolutamente necesario.

Q2 aumenta el voltaje de salida a niveles RS232. Entonces funciona como base común. R2 es una resistencia pull-up que no resulta fundamental debido a la corriente limitada del puerto RS232. Q2 también limita la tensión de la entrada al PIC cuando DTR es de nivel alto. Entonces funciona como un seguidor de emisor y se reduce la tensión de la entrada a Vdd-0.7V.

Cuando DTR se pone a nibel bajo, Q2 trabaja invertido y la ganancia sólo es aproximadamente 5. La resistencia equivalente es aproximadamente 10K/5 = 2K. Esto reduce la corriente de entrada de datos al PIC junto con la resistencia R2. Cuando DTR cambia de nivel bajo a nivel alto, Q2 cambia de modo invertido saturado a seguidor de emisor activo. Esta causa un pico sobre los datos, pero el pico está extinguido cuando cambia el reloj. Esto garantiza que las eeprom no pasen al modo de prueba.

Q1 trabaja en cierto modo como seguidor de emisor también, pero se satura cuando es activo. En ese caso su tensión CE es muy baja. El transistor activa o desactiva la tensión para MCLR.

TXD alimenta a C2 para que alcance 13V a través de la unión base-colector de Q1. El tensión en C2 está limitado por el zener D6 y es aproximadamente 5.1V+8.2V = 13.3V. Cuando TXD está a nivel alto la tensión en MCLR no excede esta tensión. La base sube a una tensión mas alta, pero Q1 se satura y la salida no excederá la tensión de colector.

C2 proporciona la Vpp y la Vdd a través del diodo zener D6. Pero Vdd sólo aparece si el voltaje en C2 es aproximadamente de 13V. Si tiene 8V, entonces será posible controlar la alimentación mediante RTS y DTR. La alimentación C2 se reduce aproximadamente a 8V por medio de TXD, DTR y RTS mantenidas a nivel alto durante aproximadamente 0.5s.

El diodo extra, D5, limita la tensión sobre TXD. En principio se utiliza para alimentar la eeprom cuando DTR y RTS están a nivel alto. También garantiza que MCLR es mayor de -0.2V cuando TXD está a nivel bajo. El diodo D7 pone MCLR a nivel bajo cuando TXD está a nivel bajo.

El PIC también es alimentado por RTS mediante D3. La corriente de entrada "on data" también alimenta el PIC a Vss. Ambas señales necesitan ser negativas para alimentar al dispositivo con la máxima corriente posible. C2 alimenta al PIC si las señales son positivas. RTS y DTR no son criticas al programar el 24CXX, porque el diodo D5 pone Vss a nivel bajo.

Al programar un PIC sólo D3 puede utilizarse. RTS y DTR necesitan ser de nivel bajo para alimentarlo, y no deben estar a nivel alto durante demasiado tiempo. La corriente es excepcionalmente alta al leer ceros del PIC, y el tiempo de lectura activo con DTR a nivel alto debe ser corto. Para compensar el corriente utilizada, un nivel bajo de be aplicarse a RTS durante un tiempo extra.

Si reemplaza D5 y D7 por un BC557B,es importante que sepa que la base-emisor se comporta como un un diodo zener. Sólo D7 pueden actuar como un zener, y MCLR necesita ser conectada al emisor, mientras el colector del BC557B se conecta a Vss. El transitor trabaja en cierto modo como seguidor de emisor, y proporciona a MCLR una corriente alta extra.

Esta corriente alta no es necesaria, y puede incluso dañar al BC557B si el programador se conecta con alimentación externa. Conectar el programador a una fuente de alimentación externa siempre puede causar problemas, y no se permite para el uso normal.

El peligro de conectar una fuente de alimenmtación externa está en que el diodo zener interior reduce el voltaje a 5.1V. Puede ser perjudicial que se aplique una tensión demasiado alta. Las conexiones externas pueden causar problemas también debido a tensiones negativas. Vdd se conecta a la masa del PC y pueden provocarse cortocircuitos si un circuito externo se conecta con la masa del ordenador, por ejemplo a traves de la toma de tierra. Una fuente de alimentación externa también puede dar problemas de seguridad si los PIC u otros dispositivos no se insertan adecuadamente.

Realización del circuito

Placa de circuito impreso del programador JDM PIC-Programmer 2.

COMPONENTES
R1 10K Resistencia
R2 1.5K Resistencia
D2 5.1V/0.5W Diodo zener
D3 1N4148 o 1N4448 Diodo
D4 1N4148 o 1N4448 Diodo
D5 1N4148 o 1N4448 Diodo
D6 8.2V/0.5W Diodo zener
D7 1N4148 o 1N4448 Diodo
C2 100µF/25V Condensador electrolítico
C3 22µF/16V o 47µF/6.3V Condensador de tantalio
Q1 BC547B Transistor NPN
Q2 BC547B Transistor NPN
P1 DB25 (hembra) Conector DB25
P2 Conector de salida para ICS (In Circuit Programming-programación en circuito)
Zócalo de 18 patillas Para colocar el dispositivo a programar

Nota: Recuerde la colocación de los puentes en el circuito impreso.

Imprimir las placas de circuito impreso

Las imagenes deben imprimirse a 300 dpi con lo que el archivo debe tener 4,11 cm de ancho y 3,85 cm de alto.

Resolución de problemas

Puede necesitarse un diodo en la tierra de RS232, pero la programación de una EEPROM 24Cxx no funcionará al conectar el diodo. Esto sólo ocurre con algunos PC┤s.

Compatibilidad con 16F627: Conecte RB4 con tierra.


Índice / Introducción Programación de PIC con ic-prog Programador JDMD