domingo, 15 de febrero de 2015

TELECOMUNICACIONES

Programador PIC y EEPROM JDM

Índice de contenidos

Introducción

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-20TE-20SEJDMDJDMI,, así como otros, están basados en él. Se utiliza con el Ic-Prog o WinPICseleccionando 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

  • 24CXX, EEPROM
  • PIC12C5XX
  • PIC12C67X
  • PIC16C55X
  • PIC16C61
  • PIC16C62X
  • PIC16C71
  • PIC16C71X
  • PIC16C8X
  • PIC16F8X
  • Tarjetas ISO con ASF

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:

  • Nivel alto: -3v a -15v
  • Nivel bajo: +3v a +15v
  • Tamaño de las palabras enviadas: 5,6, 7 u 8 bits
  • Posee paridad par, impar o ninguna
  • Conectores de 9 y 25 patillas
  • Un PC de sobremesa suele soportar 1 o 2 (COM1 y COM2)
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ñalDirDescripciónJDMUso en JDM
1CDCarrier Detect - Detección de portadora--
2RXDReceive Data - Recepción de datos--
3TXDTransmit Data - Transmisión de datosTXD (2)Vdd, Vpp
4DTRData Terminal Ready - Terminal de datos preparadoDTR (20)Salida serie
5GNDSystem Ground - Masa de señalGND (7)+Vdd
6DSRData Set Ready - Dispositivo preparado--
7RTSRequest to Send - Petición de envioRTS (4)Reloj y Vss
8CTSClear to Send - Preparado para transmitirCTS (5)Entrada serie
9RIRing Indicator - Indicador de llamada entrante--
La dirección (Dir) es DTE (PC) relativa a DCE (Dispositivo).
  • DTE (PC)  DCE (Dispositivo), entrada en el DTE (PC).
  • DTE (PC)  DCE (Dispositivo), salida en el DTE (PC).
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:
  • TXD
    • Tensión de alimentación y de programación, patilla /MCLR
  • RTS
    • Pulsos de reloj, patilla RB6
  • DTR (salida), CTS (entrada)
    • Datos en serie (serial data), patilla RB7
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
R110KResistencia
R21.5KResistencia
D25.1V/0.5WDiodo zener
D31N4148 o 1N4448Diodo
D41N4148 o 1N4448Diodo
D51N4148 o 1N4448Diodo
D68.2V/0.5WDiodo zener
D71N4148 o 1N4448Diodo
C2100µF/25VCondensador electrolítico
C322µF/16V o 47µF/6.3VCondensador de tantalio
Q1BC547BTransistor NPN
Q2BC547BTransistor NPN
P1DB25 (hembra)Conector DB25
P2Conector de salida para ICS (In Circuit Programming-programación en circuito)
Zócalo de 18 patillasPara 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.

1 comentario:

  1. do 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 cort https://coaching-mastery.com/biografia-de-san-benedicto/

    ResponderEliminar