|
|
Introducción.Cada vez que un aficionado a la electrónica alcanza cierto nivel, se ve capacitado para dar un nuevo paso más en la escala del conocimiento, siente como, un impulso que le hace verse alcanzando nuevas metas, atravesando fronteras, logrando nuevos retos y conocimientos, algo personal. Así, pensando que nuestro lector, dispone de los conocimientos previos y básicos de electrónica y que haya decidido iniciarse en el mundo de los microcontroladores, es por lo que, vamos a intentar dar unos consejos y recomendaciones. Para que usted logre la grabación o 'quemado' correcto de los microcontroladores y EEproms, con el software más flexible para los programadores como es el TE20se (al que yo he modificado y llamo PoliChip), utilizando un software como el IcProg (originales por Jens Dyekj æ Lar Madsen, JDM) que es gratuito. Se ha hecho este trabajo sabiendo que este tema está bien tratado por muchos otros autores, sin embargo, he querido hacerlo porque son mis experiencias y de este modo lo tenemos todo a mano, aquí. Consideraciones previas:
El programador, ver bajo, de reducido tamaño y fácil de usar no requiere de ningún tipo de fuente de energía externa, cuyo manual puede encontrar en la red y en este sitio. También lo puede adquirir en el comercio para su montaje.
El autor de este artículo, advierte que: no se hace responsable del uso que se realice con el software que se encuentra en te sitio, tan sólo se expone en este sitio para las prácticas legales que se describen en los artículos y tutoriales expuestos, lo que se hace saber, eludiendo cualquier responsabilidad ajena a esta declaración. Ajustes del programa IcProg.Para instalar el programa sólo se debe descomprimir el archivo bajado y es aconsejable crear una carpeta con un nombre y alojar en ella el programa icprog.exe y el icprog.sys (si es un XP o W2000) para que funcione, hacer una copia del icprog.sys y pegarlo en el subdirectorio del sistema (por defecto, C:\WINNT\SYSTEM32\), sin lo cual no podremos seguir. Ahora a ejecutarlo y tener el TE20se a mano, se recomienda que se lea el artículo 'manual del TE20se' , pero siga estos pasos: 1. Conectar el cable en un puerto serie libre (puerto COM) sin estar conectado el programador en el otro extremo del cable. El cable de un ratón nos puede servir (ver imagen más abajo). 2. Crear un directorio en el disco duro en el cual desee instalar el programa de grabación y que usara para guardar allí los ficheros que contendrán los programas o datos que desee grabar. 3. Partimos del programa de grabación ICprog, versión adecuada a nuestro sistema operativo. 4. Tras la instalación, ejecutar el programa icprog.exe para configurar el hardware del siguiente modo:
![]() En (Puertos del sistema) debe estar seleccionado COM1 o COM2, dependiendo del puerto serie en el cual se encuentre conectado el programador. Vamos a configurar el puerto del PC. Para ello vamos a tomar como ejemplo el COM2 (el que elegimos en los ajustes de hardware). Para llegar a la ventana de configuración de los puertos le damos a Inicio >Panel de control / Sistema / Administrador de dispositivos / Puertos (Com & LPT) y damos doble click en el COM2. Lo ponemos todo como está en la siguiente imagen.
![]() En la pestaña Confirmación, deben estar activados los dos primeros, es decir marcados, excepto "Proteger código de dispositivo critico" y "Sobrescribir archivo". Activar "Verificar durante programación". La primera opción sobre todo es necesaria para ciertos PIC16F87xA, ya que IC-Prog no verifica estos chips durante el programa. La segunda opción asegura que nos será notificado sobre un error de programación inmediatamente. ![]() En la pestaña Miscelánea, Prioridad de Proceso "Normal" y habilitar 1ª y deshabilitar 2ª, 3ª y 4ª opción. En algunos casos de habilitar estas últimas tres opciones, mostrará el fatídico aviso de instrucción privilegiada ??
En el menú Archivo, buscamos en la carpeta donde están los archivos .hex y elegimos el deseado.
A continuación elegimos el chip que vamos a programar.
Llegados hasta aquí, vamos al menú superior y elegimos la acción que nos interese en ese momento: Leer, Grabar, Borrar o Verificar. En caso de verificación, es mejor ir a Comando/Verificar Blanco, esta opción es más efectiva y nos aseguramos que está en blanco la memoria. Unas pruebas más.Sin embargo y además de lo descrito hasta aquí, ahora probaremos otras señales que también participan del icprog, las cuales conviene conocer por intervenir en distintos PIC's y son:
Consejos:
Conectar el cable de RS232 sin el TE20se, comprobar que la tensión en el conector DB9 (marcadas en rojo) respecto de masa, se corresponden con las siguientes: -11V entre pin 3, 4, 11 y masa, si es así es correcto. Ahora conectar el TE20se, sin ningún chip, comprobar que la tensión entre los pines 8 (+) y 4 (-) del zócalo pequeño (E²prom) es de 5V, la misma tensión habrá entre el pin 14 (+) y el pin 5 (-) del zócalo grande del PIC, en caso contrario repasar las soldaduras y contactos. Esta información se puede encontrar en la red, este es un archivo pdf, del autor 'mortimer', al que quiero agradecer desde aquí su trabajo que, me parece bien desarrollado y servirá para muchos interesados. Este otro archivo de ayuda es muy bueno y puede ser de refuerzo a lo descrito por mi aquí y en este enlace. Pasos a seguir para programar un PIC:Nota: En este ejemplo usaremos un PIC16F84, para empezar el TE20se debe estar desconectado del cable RS232. 1. Colocar el PIC en el zócalo correspondiente (en el zócalo de 18 pines) , de modo que el pin 1 del chip concuerde con el pin 1 del zócalo del programador. 2. Ahora, conectar el programador TE20se al cable previamente instalado en el puerto serie, sea COM1 o COM2. 3. Seleccionar el tipo de PIC a programar en: Ajustes / Dispositivo / Microchip PIC / PIC16F84 o en el menú desplegable. 4. Indicar el reloj que va a usar el programador para acceder al PIC: En (Oscilador) debes seleccionar la opción XT del menú desplegable. 5. Verificar que el PIC está vacío, con el comando: Comando / Verificar blanco. En el caso de que no se encuentre en blanco, hay que borrarlo antes de programar un nuevo programa, poniendo en los casilleros de la derecha los siguientes ajustes:
6. Cargar el programa a 'quemar' (programar) con: Archivo / Abrir. 7. Ajusta si es necesario los casilleros de la derecha con los siguientes valores:
8. Tras la grabación, el programa verificará si la misma ha sido realizada sin errores si se tiene activada la opción: (Verificar tras programación) en Ajustes / Opciones / Programación. Es mejor la opción Verificar mientras programa, para evitar este paso. Si no la tiene activada, es recomendable que la active o que la realice manualmente con: Comando / Leer Todo (Tecla Rápida: F8) 9. Tras todo este proceso, desconectar el grabador del cable y sacar el PIC del zócalo con la ayuda de un destornillador o pinzas con sumo cuidado, para no dañar ni doblar los pines. Pasos a seguir para programar una EEPROM:Nota: En este ejemplo usaremos una EEPROM 24LC16B
Nota: En cuanto a programación, el 24C16 y el 24LC16B son equivalentes.
Solución del problema 0000H:
1º Compruebe que sólo hay un elemento a programar o leer, en el zócalo correspondiente, es decir un PIC ó una EEPROM. Los chips no pueden programarse o leerse ambos al mismo tiempo y sólo puede haber uno en su zócalo correspondiente. 2º Compruebe que el PIC o la EEPROM son los correctos y han sido insertados con su muesca coincidiendo con la muesca del zócalo de programación y/o con la serigrafía de la placa. La muesca del zócalo indica cuál es el pin 1, estando marcado en la serigrafía con un 1. 3º Compruebe que ha sido seleccionado en el menú el dispositivo que está programando en ese momento, es decir, si se procede a programar un PIC12C508A, el elemento seleccionado ha de ser el PIC12C508A. Si quiere programar una EEPROM 24C01A debe seleccionar 24C01A. Por cierto, no confunda los zócalos, no es el mismo revise la figura más arriba.
4º Compruebe en la parte derecha de la pantalla, cuando se vaya a programar un PIC de la familia PIC16xXXx los siguientes elementos:
Nota: Esto es, en caso de los PIC16C71, PIC16C84, PIC16F83, PIC16F84 y PIC16F84A 5º Compruebe en el siguiente menú que el programa está bien configurado: Ajustes/Tipo Hardware (Tecla rápida: F3)
6º El PIC y la EEPROM necesitan ser programados despacio, si su puerto está configurado a mucha velocidad esto puede originar fallos en la programación y verificación del mismo. (Bueno, esto es lo que se dice, personalmente creo que es por otra razón, quiero decir que, al bajar el valor del Retardo I/O, lo que ocurre es que aumenta la tensión hasta los 13V, mas o menos). Para reducir la velocidad de su puerto siga la siguiente secuencia de comandos con el ratón: >Vaya a:
7ª Un caso detectado por mi experiencia que también muestra el fatídico "Falló la dirección 0000h", esto puede producirse cuando se verifica el chip desde una pestaña de buffer que no esté en "todo FFFF" como el buffer 3 por ejemplo si no lo ha usado. Nota.- A la hora de quemar un chip, debemos tener en cuenta y activar el tipo de reloj que usará el proyecto, lo típico es (cuarzo) XT, o (red resistencia-capacidad) RC, en caso de no respetar este criterio no obtendremos el resultado esperado.
Por fortuna, este es el error de menor peso entre los enumerados hasta aquí, ya que se trata de una falta de comunicación a nivel de software, pues el sistema no puede acceder al puerto del computador el icprog y por tanto no hay comunicación entre ellos. Con anterioridad ya se ha indicado que en estos SO hay que disponer del archivo icprog.sys en la misma carpeta donde tengamos el icprog.exe y además se debe habilitar en Miscelánea, la opción driver NT/2000/XP, como ya se ha descrito. Reinicie el programa y todo debe estar dispuesto y funcionando. Verificar.Cuando deseamos verificar el estado de un PIC, si lo hemos usado y borrado, pueden ocurrir dos casos:
En el segundo caso, puede que hayamos hecho la verificación del chip estando en la la pestaña inferior 'Buffer1' que es donde tenemos cargado los datos del programa que deseamos quemar, en el 99 % de los casos el problema es debido a esto, elija una pestaña libre como 'Buffer2' o 'Buffer3', el caso es que debe tener el código a FF y vuelva a verificar, en este caso si es correcto, si por el contrario sigue dando error, pruebe a borrar de nuevo el chip y repita la verificación. Si aún así sigue dando errores debe hacerse el ánimo y adquirir un chip nuevo.
Si a pesar de haber hecho todas las pruebas, sigue mostrando el dichoso mensaje, debe pensar en adquirir un nuevo chip, es casi seguro que se ha estropeado o grabado los bits de lectura/escritura y no se puede borrar o peor todavía se ha destruido su chip.¡Lo siento! Volver al índice de artículos PIC.
Creado el: 20-04-2005
|