sábado, 11 de enero de 2014

Programador de micro-controladores PIC y memorias EEPROM.

Basado en el programador para puerto serial (COM1) JDM de Jens Dyekjær Madsen, con algunas reformas, ya que no utiliza alimentación externa y se alimenta del mismo puerto serial. Soporta familia de micro-controladores PIC12, PIC16, PIC18 y la familia 24C EEPROMs. El programador posee ICSP (In Circuit Serial Programming), para programar PIC sin quitarlos del circuito.


Micro-controladores PIC

Serie 12C
12C508, 12C508A, 12C509, 12C509A, 12C671, 12C672

Serie 12CE
12CE518, 12CE519, 12CE673, 12CE674

Serie 12F
12F629, 12F675

Serie 16C
16C433, 16C61, 16C62, 16C62A, 16C62B, 16C63, 16C63A, 16C64, 16C64A, 16C65, 16C65A, 16C65B, 16C66, 16C67, 16C71, 16C72, 16C72A, 16C73, 16C73A, 16C73B, 16C76, 16C77, 16C505, 16C620, 16C620A, 16C621, 16C621A, 16C622, 16C622A, 16C710, 16C711, 16C712, 16C715, 16C716, 16C717, 16C745, 16C765, 16C770, 16C771, 16C773, 16C774, 16C781, 16C782, 16C923, 16C924

Serie 16CE
16CE623, 16CE624, 16CE625


Serie 16F
16F73, 16F74, 16F76, 16F77, 16F83, 16F84, 16F84A, 16F627, 16F628, 16F630, 16F676, 16F818, 16F819, 16F870, 16F871, 16F872, 16F873, 16F873A, 16F874, 16F874A, 16F876, 16F876A, 16F877, 16F877A

Serie 18F
18F242, 18F248, 18F252, 18F258, 18F442, 18F448, 18F452, 18F458, 8F1220,  18F1320, 18F2220, 18F2320, 18F2439, 18F2455, , 18F2539, 18F2550, 18F4220, 18F4320, 18F4439, 18F4455, 18F4539, 18F4550, 18F6620, 8F6720, 18F8620, 18F8720


Memorias EEPROM


Tipo I2C
24C01A, 24C02, 24C04, 24C08, 24C16, 24C32, 24C64, 24C65, 24C128, 24C256, 24C512, PCF8572, 8572, PCF8582, 8582, PCF8592, 8592, SDA2506, SDA2516, SDA2526, SDA2546, SDA2586, SDA3506, SDA3516, SDA3526, 4C016, GRS-003, GRN-004, GRN-008, GRX-006,
GRX-007,  KKZ06F, BAW658049, BAW57452, M8571, X24C01, 24LC21

Tipo MicroWire
93C06, 93C14, 93C46, 93C56, 93C57, 93C66, 93C76, 93C86, 59C11, 59C13, 59C22, CAT35C102, CAT35C104, CAT35C108






El conector de la derecha. es el ICSP. y el pin 1 es el de arriba en la imagen, se enumeran asi:

1=MCLR       
2=VDD          
3=GND/PGM
4=PGD           
5=PGC           
6=GND/PGM

Placa cortada y a medida para la transferencia

Vista en la PC

PCB interface

Lado soldadura interface


PCB zócalo 1

Lado soldaduras zócalo 1

PCB zócalo 2

Lado soldaduras zócalo 2



PCB zócalo 3

 Lado soldaduras zócalo 3


Los zocalos se pueden intercambiar para los distintos PIC y EEPROM, solo me queda esperar a que llegue el PIC asi termino las pruebas y si hay, corregir errores
El soft que estoy probando es el IC-Prog.


Comprobar el puerto serie del PC.


Con un tester o polímetro en CC colocar una punta de prueba en el pin 3 y la otra punta a masa. El valor que tiene que dar es de unos 11V, hacer lo mismo con el pin 4 y el pin 7. ATENCIÓN SE HACE SIN COLOCAR EL JDM. Si no da 11V algo va mal en la PC.


Si colocamos la punta negra del polímetro en la masa del conector, la tensión en los pines 3, 4 y 7 será negativa (-11,54v). En el resto de los pines la tensión es aproximadamente de 0 (0,16V).

Comprobación del JDM conectado al PC.


Realizar las comprobaciones con el programador conectado al PC y sin colocar ningún dispositivo, ya sea PIC o EEPROM.

Iniciar Ic-Prog:
  • En Ajustes/Tipo hardware:
  • Seleccionar JDM programmer.
  • Elegir el puerto COM al que esté conectado el programador, 1, 2, 3 o el que sea.
  • Elegir Retardo I/O Colocar 5. Si hay problemas al programar las eeprom, lo bajamos a 4. En PC mas rápidas se pueden poner tiempos de retardo más pequeños, lo que nos daría una velocidad de grabación   más rápida. Es cuestión de probar.
  • Elegir Interfaz Direct I/O. para Windows 95 o 98.
  • Todo lo demás NO activado.

En Ajustes/Opciones:
  • Confirmación: todo activado salvo Proteger código de dispositivo crítico1.
  • Avisos: todo activado.
  • I2C: Es para programar dispositivos I2C (Ej. La familia 24Cxx) y no afecta al PIC. Dejar activado Habilitar Page-Write Si hay problemas desactivar todo..
  • Programación: activar todo.
  • Atajos: no es importante. Son para encontrar los dispositivos que se usan mas seguido.
  • Arrastrar & soltar: nada activado.
  • Smartcard: Para el PIC no es importante. Esta opción habilitará a IC-Prog para utilizar una interfaz Phoenix (a través de un programa cargador) para programar la eprom de una Smartcard (tarjeta inteligente).
  • IdiomaEspañol.
  • Shell: nada activado.
  • MisceláneaPrioridad normal y señalado sólo Habilitar Driver NT/2000 si se utilizan estos sistemas operativos o Windows XP. En este caso también será necesario disponer en el mismo directorio de ICPROG.EXE del driver ICPROG.SYS.
1:  Proteger código de dispositivo crítico: Algunos dispositivos son del tipo OTP "Programables una vez". Esto significa que se los puede programar una única vez. Por tanto cuando se protege el programa de un dispositivo de estas características no se podrá leer el mismo o borrarlo nunca más. Si el código de programa grabado es incorrecto deberá descartar dicho dispositivo. Mediante esta opción podrá asegurarse de no proteger accidentalmente un dispositivo, a menos que confirme dicha acción.

Prueba de Hardware.


¡ATENCIÓN! hay que ir habilitando y deshabilitando cada opción de una en una.
A continuación se muestran los valores medidos en un PC común con placa Intel, micro Celeron 1.70 GHz, y Windows XP (sp2):
  • Ir a Ajustes/Prueba de Hardware.
  • Tildar en Habilitar Data OUT, al hacer esto, tiene que activarse Data IN, cuando desactive Habilitar Data OUT se tiene que desactivar Data IN.
  • Mediante un tester o polímetro medir la tensión entre los pines del ICSP 6 y 1 (GND/PGM y /MCLR). Cuando esté activo Habilitar MCLR tiene que haber en la patilla 1 una tensión de más de 12V (unos 13V aprox), si es menor de 10V algo anda mal.
  • Medir la tensión entre los pines del ICSP 6 y 4 (GND/PGM y /PGD). Cuando habilite Habilitar Data Out, debería haber 5V habilitado y aprox. 0V deshabilitado.
  • Medir la tensión entre los pines del ICSP 6 y 5 (GND/PGN y /PGC). Cuando habilite Habilitar Clock debería haber 5V habilitado y aprox. 0V deshabilitado.
  • Medir la tensión entre los pines del ICSP 6 y 2 (GND/PGN y /VDD). Cuando habilite Habilitar Vcc, debería haber 5V habilitado y aprox. 0V deshabilitado. (No se deshabilitará por defecto).



Ajustes en el puerto serie de la PC.

Si existiesen problemas en la grabación, bajar la velocidad del puerto donde estuviera conectado el JDM a 2400 bits por segundo. Para cambiar la configuración (en Windows XP) accederemos a Configuración / Panel de control / Sistema / Hardware / Administrador de dispositivos / Puertos COM & LPT y una vez abierto hacer doble click sobre el puerto donde este el JDM, y seleccionar la pestaña de Configuración del puerto y colocar la siguiente configuración:
  • Bits por Segundo: 2400
  • Bits de Datos: 8
  • Paridad: Ninguna
  • Bits de Paridad: 1
  • Control de Flujo: Xon/Xoff

No hay comentarios.:

Publicar un comentario