1 1.1 Introducción El sistema desarrollado permite construir prototipos con el microprocesador PIC16F873 y está constituido por un componente hardware y otro software. El hardware lo constituye una placa con el microcontrolador mencionado, diseñada para la preparación de prototipos y en la que se contempla, si hace falta, la posibilidad de añadir nuevos componentes y conexiones. El software permite grabar, borrar y leer el microcontrolador utilizando el puerto paralelo de un PC, así como mantener una gestión de configuración básica de los proyectos desarrollados con el sistema. Antes de empezar a utilizar el programa de grabación es necesario preparar un cable que permita conectar el puerto paralelo del PC con la placa desarrollada. Para ello debemos respetar las siguientes consideraciones. Si observamos la placa con los componentes hacia arriba y con la zona de pretaladrada a la derecha, en la parte superior central existe un conector de cinco pines que debemos utilizar para conectar al PC (Figura 9-1). Los pines en dicho conector tienen el siguiente significado (de izquierda a derecha) MCLR, RB7, RB6, RB3 y GND. La línea MCLR se utiliza para provocar la reinicialización del microcontrolador, RB7 nos permite acceder a la línea 7 del puerto B del microcontrolador, que en operaciones de programación se utiliza para transmitir datos. La línea RB6 se utiliza para enviar una señal de sincronización en operaciones de programación. La línea RB3 se utiliza para controlar cuando el PIC pasa al modo de programación o al modo de funcionamiento ordinario (si está activado el bit LVP en la palabra de configuración) y por último la línea GND permite unir las masas del PC y de la placa. 1
Figura 1-1 Cada uno de los pines comentados de la placa con el microcontrolador, debe conectarse a un pin específico del conector del puerto paralelo (D-25) según marca la siguiente tabla. PIN puerto paralelo Conector grabación PIC 1 RB6 (Reloj) 2 RB7 (Datos) 16 RB3 (Control) 17 MCLR 18, 19, 20, 21, 22, 23, 24 y 25 GND El cable a utilizar debe ser de alta calidad y de poca longitud, habiéndose obtenido buenos resultados en los ensayos con par trenzado de longitud inferior a 60 cm. Antes de comenzar cualquier operación de lectura, grabación o borrado, es necesario comprobar la correcta alimentación de la placa, la conexión del cable de grabación según hemos indicado anteriormente, así como desconectar RB3 de GND para permitir el control de dicha señal desde el computador. En el momento en el que queramos poner en funcionamiento la placa, debemos quitar la alimentación de la misma, desconectar el cable de programación desde el PC y conectar RB3 a GND 2
(puede utilizarse un puente en el conector J26). Al alimentar de nuevo la placa el microcontrolador empezará a ejecutar las instrucciones existentes en su memoria. 1.2 Arranque del programa Al arrancar la aplicación se realiza una prueba de velocidad, de la cual se obtiene información que permite amortiguar las diferencias entre computadores a la hora de efectuar comunicaciones con la placa del microcontrolador. Antes de empezar la prueba de velocidad aparece el siguiente diálogo. Pasados unos segundos, después de pulsar la tecla OK, aparece otra ventana para indicarnos que se ha terminado de realizar la prueba, y en el momento en que pulsemos de nuevo la tecla OK aparece la ventana principal de la aplicación. En la ventana principal de la aplicación aparecen 3 entradas de menús. Las dos situadas más a la izquierda se corresponden con menús desplegables que permiten acceder a los servicios de gestión de configuración básica (menú Proyecto), y a las opciones lectura, grabación y borrado del microcontrolador (menú Programador). La tercera entrada de menú se corresponde con el diálogo Acerca de, en el que se presenta información de la versión de la aplicación. 3
1.3 Menú Proyecto La utilización de este menú es opcional, pero recomendable, dado que permite realizar algunas operaciones con los ficheros que frecuentemente configuran un proyecto desarrollado con el presente entorno. Al activarse el menú Proyecto el sistema ofrece las opciones Crear o modificar proyecto, Abrir proyecto, Configurar aplicación o Salir. 4
Para explicar cada una de las opciones vamos a utilizar un orden distinto al existente en el menú, respetando con ello consideraciones didácticas. 1.3.1 Opción de menú Salir Esta opción provoca el fin de la ejecución de la aplicación. 1.3.2 Opción de menú Configurar aplicación Al seleccionar esta opción el sistema abre la siguiente ventana. Los proyectos creados en esta aplicación pueden estar constituidos por los ficheros: programa fuente, requisitos, diseño del proyecto, diagramas del circuito, fichero adicional y fichero ejecutable. Como veremos más adelante, la opción Abrir proyecto muestra los nombres de los ficheros que hemos especificado al crear un proyecto, y al mismo tiempo suministra la posibilidad de editarlos. Para permitir la edición de los mismos es necesario que la aplicación (i-fotón1) conozca cuales son 5
los programas editores de dichos ficheros, siendo esta la razón de ser de la opción Configurar aplicación. Para cada uno de los tipos de fichero que hemos considerado como posibles constituyentes de un proyecto, se ofrece al usuario la posibilidad de especificar un programa editor. Esta información se almacena en un fichero llamado configuracion.fot, que se guarda en el directorio en el que se encuentra el ejecutable de la aplicación (IFOTON1_1_0_0.exe). Si al arrancar la aplicación existe ya una configuración especificada, se muestra por defecto al invocar la opción Configurar aplicación, de forma que el usuario pueda modificarla, si le interesa, sin necesidad de introducir de nuevo todos los programas editores. 6
1.3.3 Opción de menú Crear o modificar proyecto Esta opción permite especificar el directorio en el que queremos que el sistema almacene y gestione los ficheros de un proyecto. La forma de operar es la siguiente (no necesariamente en el orden especificado). 1. El usuario indica, o selecciona después de pulsar el botón buscar, el directorio del cual quiere que dependa el directorio del proyecto. 2. En la casilla situada a la derecha de la anterior asigna un nombre al proyecto. 3. Seguidamente introduce, o selecciona después de pulsar el botón buscar, el nombre de los ficheros que configuran el proyecto a crear, utilizando la casilla adecuada para cada tipo de fichero. 4. Al pulsar la tecla Grabar proyecto el sistema crea un directorio con el nombre del proyecto, dentro del directorio anfitrión indicado, copiando en él los ficheros cuyo nombre se ha suministrado en las demás casillas. 7
Si al crear un proyecto se introduce un nombre de proyecto que ya existe dentro del directorio anfitrión, el sistema avisa que va a abrir el proyecto para permitir modificarlo. Al pulsar la tecla OK se carga el proyecto. Después de que el usuario haya realizado las modificaciones que necesitara, al pulsar la tecla Grabar proyecto se verifica si se ha indicado algún fichero nuevo fuera del directorio del proyecto, en cuyo caso se copia dentro del mismo. En último lugar se actualiza la información de configuración del proyecto. Es importante indicar que si un fichero deja de formar parte de la configuración del proyecto el sistema elimina su 8
nombre de la información que gestiona, pero no borra físicamente el fichero por si pudiera contener datos de interés para el usuario. 1.3.4 Opción de menú Abrir proyecto Esta opción permite abrir la información de configuración básica existente de un proyecto, permitiendo posteriormente editar aquellos ficheros para los cuales el sistema haya sido configurado. En primer lugar el usuario introduce, o selecciona después de pulsar el botón buscar, el fichero de control de configuración de un proyecto, el cual deberá estar ubicado dentro de un directorio con el nombre del proyecto que dependerá del directorio anfitrión que se especificó al crear el proyecto. El fichero de control de configuración tiene el mismo nombre del proyecto con extensión.fot. 9
Una vez seleccionado el fichero de configuración del proyecto, la pantalla presenta el siguiente aspecto. El usuario debe pulsar en este momento el botón Abrir proyecto, suministrando el sistema el nombre de los ficheros que configuran el mismo. 10
Si el usuario quiere editar ahora alguno de los ficheros del proyecto, y el editor específico está configurado en la aplicación (opción de menú Configurar aplicación), solo tiene que pulsar el botón editar que se encuentra a la derecha del fichero de interés. Este sería el resultado que obtendríamos, en el ejemplo que hemos planteado, si pulsáramos el botón Editar del fichero ejecutable, dado que tenemos configurado el editor de notas de Microsoft para dicho tipo de ficheros. 11
1.4 Menú Programador En este menú encontramos las opciones que permiten grabar, leer y borrar la memoria del microcontrolador instalado en la placa. 1.4.1 Opción de menú Configurar puerto paralelo Esta opción es necesario suministrarla, para poder indicar al programa la dirección base a partir de la cual se encuentran los registros que permiten operar con el puerto paralelo. Sin embargo, la situación más frecuente es que dicha dirección sea $378, que es la que por defecto considera la aplicación. Si nos vemos en la necesidad de modificar dicha dirección, el sistema suministra una lista de las direcciones más habituales, y solamente en el caso de no coincidir con ninguna de ellas no veremos obligados a indicar explícitamente la misma. Si tenemos dudas de cual es esta dirección en nuestro PC, lo normal es poder consultarla activando el set-up en el momento de arrancar. 12
1.4.2 Opción de menú Grabar microcontrolador Esta es, posiblemente, la opción más interesante de toda la aplicación, dado que es la que nos permite introducir un programa en la memoria del microcontrolador. El usuario debe introducir, en primer lugar, un nombre de fichero, o seleccionarlo después de pulsar el botón Buscar fichero. Dicho fichero debe ser un fichero con código máquina respetando el formato INHX8M de Intel. En el supuesto de 13
existir un proyecto abierto, el sistema muestra por defecto el nombre del fichero ejecutable del mismo, evitando al usuario teclearlo o buscarlo. Cuando el usuario (por uno u otro camino) ha especificado el nombre del fichero con el código máquina que quiere introducir en el microcontrolador, puede pulsar el botón Grabar. En este momento el sistema establece la comunicación con el microcontrolador, poniéndolo en estado de grabación, lo que permite introducir el contenido del fichero. El sistema indica el porcentaje de trabajo realizado mediante una barra de estado, y al terminar la operación marca las porciones de memoria modificadas (memoria de código, memoria de configuración del microcontrolador o memoria EEPROM) 14
1.4.3 Opción de menú Leer microcontrolador Esta opción permite leer y mostrar el contenido de la memoria del microcontrolador, ofreciendo por separado el código, la información de identificación, la palabra de configuración y el contenido de la memoria EEPROM. Después de haber leído la memoria, el usuario tiene la opción de guardar la información adquirida en un fichero con formato INHX8M de Intel, de forma que posteriormente pueda utilizarlo en operaciones de grabación. Cuando el usuario pulsa el botón Leer, el sistema empieza a recuperar la información de la memoria de código, seguidamente lee las cuatro palabras de identificación, mostrando solamente los cuatro bits menos significativos de cada una (ventana identificador) tal y como recomienda el fabricante, dado que los restantes bits pueden interpretarse de distinta manera dependiendo de si la memoria está protegida o no. Posteriormente se lee la palabra de configuración del microcontrolador para, en último lugar, hacer lo mismo con el contenido de la memoria EEPROM. 15
En la ventana de la memoria de código se suministra un cursor vertical que permite desplazar la zona visualizada, de forma que se puede acceder a cualquier parte del código recuperado. 1.4.4 Opción de menú Borrar microcontrolador Esta opción permite al usuario borrar la porción de memoria que marque de entre las que se presentan. El usuario puede elegir, marcando la casilla correspondiente, Borrar la memoria de código y/o Borrar EEPROM, siendo incompatible cualquiera de estas opciones con la tercera, Borrar PIC protegido. Las dos primeras opciones borran la porción de memoria indicada, salvo en el caso de encontrarse protegidas (ver palabra de configuración del microcontrolador [2]). La tercera opción, Borrar PIC protegido, borra la memoria de código y configuración, incluso en el caso de estar protegida, ocurriendo lo mismo con la EEPROM si también está protegida. Los bits de la palabra de configuración adoptan el estado que por defecto especifica el fabricante. 16
17