Download - Programador de PICs

Transcript
Page 1: Programador de PICs

Programador de PIC’s.

Nombre: Ivo Ampuero Ríos.

Fecha: 10 – Diciembre – 2010.

Page 2: Programador de PICs

Índice. Página

Introducción……………………………………………………………………………………………………………………… 3

Programador PIPO2…………………………………………………………………………………………………………… 4

El circuito………………………………………………………………………………………………………………. 4

Diagrama circuital…………………………………………………………………………………………………. 5

Principio de Funcionamiento…………………………………………………………………………………. 6

Realización práctica……………………………………………………………………………………………….. 7

Uso del programador…………………………………………………………………………………………………………. 9

Bibliografía………………………………………………………………………………………………………………………… 10

Page 3: Programador de PICs

Introducción.

El presente informe busca dar a conocer el trabajo práctico realizado, el cual consistió en un cargador o programador de PIC’s. EL programador realizado corresponde a la versión “PIPO2”, basado en la versión “Ludipipo”, el cual tiene un principio de funcionamiento muy parecido al del “JDM2”.

A modo de introducción, y como ya es sabido, tenemos que un microcontrolador es un circuito integrado programable que contiene todos los componentes necesarios para controlar el funcionamiento de una tarea determinada. Este dispositivo dispone de una memoria de programa interna donde se almacena el programa que lo controla y que consiste realmente en una serie de números hexadecimales.

El programa de control se graba en la memoria de programa mediante un equipo físico denominado grabador o programador. El grabador se conecta a un ordenador normalmente a través de un puerto serie COM1 o COM2 mediante el cable de conexión adecuado (algunos grabadores utilizan el puerto paralelo de la impresora). En el computador se ejecuta un software que controla la grabación de la memoria de programa del microcontrolador. Este proceso se denomina grabar o programar el microcontrolador.

Con respecto al grabador, vemos que es el equipo físico donde se procede a grabar la memoria del microcontrolador con las instrucciones del programa de control. Tiene un zócalo libre sobre el que se inserta el circuito integrado a grabar, el cual debe orientarse adecuadamente siguiendo la señal de la cápsula del chip. Como quien escribe pudo comprobarlo, en Internet pueden localizarse múltiples grabadores, dentro de un rango de precios bastante amplio, dentro de los cuales algunos pueden ser adquiridos a través de la compra o sencillamente, como fue en mi caso, comprar los componentes necesarios y montarlo físicamente.

Al insertar un chip en el programador, hay que cerciorarse de que todos los pines o patillas del dispositivo estén rectos y que entren bien en el zócalo. Hay que tener mucho cuidado porque estos pines se doblan y rompen con extrema facilidad.

En relación al software de grabación, el ICProg es uno de los software más populares para la grabación de microcontroladores PIC. Permite la programación de muchos dispositivos y está probado en numerosos programadores, entre ellos todos los compatibles con JDM. Es de libre distribución y en la página web www.ic-prog.com se puede descargar y recoger toda la información de uso.

Una vez descargado, la instalación de este software es muy sencilla, basta con descomprimir el fichero icprog.zip y seguir el procedimiento usual en Windows. Este archivo consta del fichero icprog.exe, que contiene todo el código necesario para su funcionamiento con

Page 4: Programador de PICs

versiones para los sistemas operativos Windows 95/98/NT/2000/ME/XP/VISTA. Para las cuatro últimas versiones es necesario descargar el archivo icprog.sys de la misma web y situarlo en la misma carpeta, junto con el icprog.exe.

Debido a que el lenguaje máquina utilizado por los microcontroladores es difícil de utilizar por el hombre ya que se aleja de su forma natural de expresarse, es por ello que se utiliza el lenguaje ensamblador, que es la forma de expresar las instrucciones de una forma más natural al hombre y que, sin embargo, es muy cercana al microcontrolador porque cada una de sus instrucciones se corresponde con otra en código de máquina que el microcontrolador es capaz de interpretar.

El lenguaje ensamblador utiliza nemónicos que son grupos de caracteres alfanuméricos que simbolizan las órdenes o tareas a realizar con cada instrucción. Los nemónicos se corresponden con las iniciales del nombre de la instrucción en inglés, de forma que “recuerdan” la operación que realiza la instrucción, lo que facilita su memorización.

El programa ensamblador es un software que se encarga de traducir los nemónicos y símbolos alfanuméricos del programa escrito en ensamblador por el usuario a código de máquina, para que pueda ser interpretado y ejecutado por el microcontrolador.

El programa escrito en lenguaje ensamblador recibe la denominación de código fuente, archivo fuente o fichero fuente. Suele tener la extensión *.asm. El archivo fuente debe ser traducido a código máquina, de lo cual se encarga el programa ensamblador. La mayoría de los ensambladores proporcionan a su salida un fichero que suele tener la extensión *.hex. Este fichero puede ser grabado en la memoria de programa mediante la utilización de un grabador de microcontroladores.

El ensamblador más utilizado para los PIC es el MPASM, que trabaja dentro de un entorno de software denominado MPLAB. Este entorno de trabajo, que por lo demás fue utilizado por quien escribe para las pruebas al cargar los PIC’s, es puesto a libre disposición de los usuarios por Microchip Technology en su página web www.microchip.com.

Programador PIPO2.

El circuito.

Como se ha dicho en la introducción, este programador está basado en el “Ludipipo”; y fue seleccionado para su construcción debido a su sencillez y bajo precio (alrededor de $2500-.) y permite programar a través del puerto serie de cualquier PC de sobremesa una cantidad considerable de PIC’s distintos, y todo ello utilizando software de programación estándar, e nuestro caso “ICProg 1.06A”.

En palabras del diseñador, se ha probado con éxito a programar los siguientes PIC’s:

Page 5: Programador de PICs

16F627, 16F628,16C84, 16F83, 16F84,16F873, 16F874, 16F876, 16F877.

[Los remarcados en negrita fueron probados por el autor del informe]

Y, al menos en teoría, el programador debería funcionar con los siguientes:

16C62, 16C63, 16C64, 16C65, 16C66, 16C67,16C71, 16C72, 16C73, 16C74, 16C75, 16C76, 16C77, 16C715,16C620, 16C621, 16C622, 16C623, 16C624, 16C625,16F870, 16F871, 16F872,16C923, 16C924.

Diagrama Circuital.

Figura 1.

Page 6: Programador de PICs

Principio de Funcionamiento.

En primer lugar, vemos en el esquema que la masa del puerto serie no aparece conectada a la masa del programador, sino a VCC.

Con respecto al puerto serie, a nivel eléctrico, podemos apreciar que las señales de este puerto no pueden considerarse como fuentes de tensión ideales, porque no entregan una corriente ilimitada. Por el contrario, se comportan como fuentes de +10 V o -10 V (aproximadamente) limitadas en corriente. Por lo que si cortocircuitamos una de esas señales a masa (o sea, al pin 5 del DB9), la corriente no superará unos pocos miliamperios.

Esta limitación es necesaria, ya que el puerto RS232 se pensó como un puerto muy robusto, que permite incluso que se cortocircuiten señales sin dañarse, y eso obliga a que el transceiver limite la corriente máxima de salida.

Por tanto, al colocar un zener inversamente polarizado entre una salida del puerto serie y masa, ni el zener ni el puerto serie tienen por qué sufrir daños, y el único efecto es que la tensión de esa señal respecto a masa queda limitada a la tensión zener del diodo.

Hablando del circuito propiamente tal, en lo referido a su alimentación, cuando en los pines 3, 4 o 7 del puerto serie la tensión es negativa respecto al pin 5, los diodos D2, D4 o D3 quedan directamente polarizados, de manera que en el ánodo de esos diodos aparece una tensión negativa respecto al pin 5. El diodo zener D7 limita esa tensión a aproximadamente -5 V.

Por tanto, en esas condiciones, la masa del programador está a una tensión de -5 V respecto al pin 5 del puerto serie. O sea, la masa del puerto serie (pin 5) está a +5 V respecto a la masa del programador, y por tanto, la tensión de todas las señales del puerto serie será 5 V superior respecto a la masa del programador que respecto a la masa del puerto serie.

De esta manera, el pin 5 del puerto serie está ahora a +5 V, y por lo tanto la puedo utilizar como alimentación para el PIC (VCC). En el resto de los pines, ahora las tensiones posibles no son +10 V y -10 V, sino +15 V y -15 V.

Es muy necesario crear una masa virtual 5 V menor que la masa del puerto serie, ya que para programar un PIC, necesitamos una señal VPP de +12 V, y en un puerto serie las señales positivas sólo alcanzan los +10 V. Haciendo este “truco”, conseguimos tener señales de +15 V, con las que podemos obtener +12 V para VPP.

También es importante notar, que todas las señales tienen algún diodo conectado a su masa, de tal manera que cualquier señal negativa polariza directamente su diodo, haciendo que la tensión no pueda ser inferior a -0.6 V. Por tanto, de cara al circuito, las tensiones posibles de las

Page 7: Programador de PICs

señales son +15 V y -0.6 V.Con todo esto en mente, vemos que la señal VPP queda limitada a 12 V por D5 Y LA SEÑAL

Clock queda limitada a +5 V por D6. El conjunto T1-R1-R2-D1 conforma una salida triestado, para convertir una señal de entrada y una de salida salida (pines 8 y 4 del puerto serie, respectivamente) en una entrada/salida (señal DATA del PIC).

Realización Práctica.

El diseño esquemático final aparece en la figura 2. Se ha utilizado la respectiva placa de cobre, junto a los siguientes componentes:

1 R2 2K23 R1,R3,R4 10K1 C2 1000U 25V2 C1,C3 100N4 D1,D2,D3,D4 1N41481 D5 Zener 12V2 D6,D7 Zener 5V1 T1 BC5471 CON1 Conector DB9 hembra3 Z1,Z2,Z3 Zócalos de 40 pines (recortado)

Figura 2.

Circuito Montado.

Page 8: Programador de PICs

Figura 3.

Parte posterior.

Figura 4.

Diagrama de pistas.

Page 9: Programador de PICs

Figura 5.

Para conectar el programador al PC hace falta también un cable serie. Este cable fue fabricado por quien escribe, y va adjunto al trabajo práctico. La figura 6 muestra las conexiones realizadas para la fabricación del cable.

Figura 6.

Uso del programador.

Primeramente, es muy importante tener siempre en consideración el orden en que se deben ejecutar las acciones durante el proceso de cargar un PIC usando el programador, para que no sufran daños tanto el programador, el PIC ni el puerto serie del PC. Por lo que el procedimiento a seguir consta de los siguientes pasos:

i. Con el programador desconectado insertar el PIC en el zócalo en la posición correcta (Figura 7).

ii. Conectar el programador al cable que viene del puerto serie del PC.iii. Llevar a cabo las operaciones de grabación o lectura necesarias.iv. Desconectar el programador del cable que viene del puerto del PC.v. Extraer el PIC del zócalo.

Page 10: Programador de PICs

Figura 7.

Como ya se ha mencionado, se recomienda el uso del “ICProg 1.07A”, el cual ya ha sido probado y funciona perfectamente con este programador. El software se adjunta en el CD que viene junto al proyecto práctico.

Una vez instalado en el PC, 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 8. Todas las opciones deben quedar como en la figura 8, salvo en el puerto, que tendremos que elegir el que estamos ocupando, o en su defecto, se elige automáticamente. Pulsamos OK para finalizar.

Figura 8.

Luego de ello, sólo queda seleccionar el modelo de PIC con el cual vamos a trabajar, y llevar a cabo las acciones deseadas. El programa trabaja igual con ficheros *.bin o *.hex . Para grabar un PIC, abrimos el fichero mediante el menú ARCHIVO y seleccionamos PROGRAMAR TODO con el menú COMANDO (o pulsamos “F5”). Para leer un PIC, seleccionamos LEER TODO en el menú COMANDO (o pulsamos “F8”) y luego podemos guardarlo en un fichero mediante el menú ARCHIVO. Si lo desea, puede visitar la página de ICProg para ver más instrucciones acerca del programa.

Bibliografía.

“Microcontrolador PIC16F84, Desarrollo de proyectos”; 2004, Alfaomega Grupo Editor S.A.

Page 11: Programador de PICs

http://213.97.130.124/progs/pipo2/pipo2.htm “Programador PIPO2”, José Manuel García.


Top Related