Utilización de las herramientas de simulación del PROTEUS con los
Transcription
Utilización de las herramientas de simulación del PROTEUS con los
ESCUELA POLITECNICA NACIONAL DEPARTAMENTO DE AUTOMATIZACIÓN Y CONTROL INDUSTRIAL LABORATORIO DE SISTEMAS MICROPROCESADOS PRÁCTICA 4: Utilización de las herramientas de simulación del PROTEUS con los microcontroladores ATmega164P OBJETIVO: Familiarizar al estudiante con las herramientas existentes para la simulación gráfica de Sistemas Microprocesados con el paquete de software PROTEUS; en este caso, utilizando el ATmega164P. TEMAS: MARCO TEÓRICO Una vez que se ha obtenido la solución al problema planteado, en forma de Código Ejecutable o Módulo Objeto contenido en el archivo .hex, puede ser comprobada mediante el simulador en forma de texto (no gráfico), como el que se encuentra incorporado en el ATMEL Studio 6. Las ventajas para la depuración de programas mediante el uso de este tipo de simulador son incuestionables, especialmente por la estrecha relación que se muestra en la pantalla con el Código Simbólico o Módulo Fuente contenido en el archivo .asm sobre el cual el programador tiene acceso para realizar las modificaciones necesarias hasta obtener la solución al problema. Los inconvenientes surgen cuando el programa necesita interactuar con elementos y dispositivos externos al microcontrolador como son los displays, teclados, sensores, actuadores, etc. Para superar estos inconvenientes, el paso siguiente es construir el sistema físicamente en un protoboard o en un circuito impreso donde se comprobará el funcionamiento del programa en el llamado “tiempo real”, una vez que haya sido programado el microcontrolador. Pero, en la actualidad se dispone de simuladores gráficos que permiten acercarse un poco más al funcionamiento del programa en tiempo real, como el que se encuentra incorporado en el paquete de software PROTEUS. Software conocido y utilizado en el laboratorio prerrequisito de esta materia. Cabe recordar que el uso de simuladores difiere algo de la implementación con circuitos reales, ya que los simuladores son programas que tratan de reproducir el comportamiento de los circuitos reales, sin lograrlo al ciento por ciento. Utilización del PROTEUS para la simulación de Sistemas Microprocesados El ingreso a este paquete de software se lo hace primero al módulo ISIS (Intelligent Schematic Input System), que permite la captura esquemática del diseño; luego se pasa al Proteus VSM (Virtual System Modelling), donde se realiza la simulación del diseño. Este paquete se completa con el módulo ARES, que sirve para trasladar el diseño a un circuito impreso. 1 La pantalla de ISIS contiene al Selector de Objetos donde se muestran los elementos y dispositivos que se utilizan para la construcción del diseño, que se lo realiza en la Ventana de Edición. En el Selector Objetos también aparecen los generadores e instrumentos virtuales que se pueden utilizar en la simulación. Para almacenar el diseño la primera vez se debe usar la opción del menú File->Save Design As y se recomienda que guarde en la misma carpeta donde se tiene el archivo .hex del proyecto que se va a comprobar (\......\Debug), para que la incorporación del Módulo Objeto sea fácil y no se confunda con otras versiones que puedan existir. Las posteriores actualizaciones que se hagan al diseño se las guarda con la opción del menú File->Save o el icono, que existe para este propósito. Figura 1: Inteffaz de ISIS Una vez creado el circuito del diseño, como el que se indica en la figura 4.2, es necesario incorporar el Módulo Objeto mediante el despliegue de la Ventana de Propiedades del ATmega164P, en el que el casillero correspondiente a Program File: que está inicialmente vacío. Para llenarlo: hacer click en el icono de Abrir Carpeta que se encuentra al lado derecho del casillero, lo que permite abrir otra ventana donde se muestran todos los archivos .hex de la carpeta donde está guardado el diseño. A continuación se escoge el archivo y se confirma la incorporación a las propiedades del microcontrolador. En caso de no encontrar el archivo deseado, se debe navegar entre las carpetas que tenga el disco hasta hallarlo. Figura 2: Circuito básico del ATmega164P y ventana de propiedades para definir el archivo que ejecuta en la simulación 2 Concluida esta etapa, se procede a la simulación mediante el módulo VSM con la activación de la tecla Play, los resultados de la simulación son apreciados mediante los colores de los puntos que aparecen sobre cada uno de los terminales del microcontrolador. Durante la simulación se puede escoger en la opción del menú Debug las ventanas de los registros y memorias que se desea analizar cuando se pulse la tecla Step o la tecla Pause. En estas ventanas podemos ver el avance del programa pero nuevamente en forma de texto. Para abandonar la simulación se activa la tecla Stop. Para hacer más interactiva la simulación es posible mostrar el avance del programa por alguno de los Pórticos de Entrada / Salida Paralela; en este caso, se escoge el PÓRTICO A al que se acopla LEDS o DISPLAYS que incluyen decodificador, como se indican en las figuras 3 y 4. Figura 3 control de 8 leds por el ATmega164 Figura 4 control de displays con el ATmega164P También se puede incluir en la simulación instrumentos virtuales como osciloscopios y analizadores lógicos, estos últimos para el análisis de líneas individuales o como bus, que permiten apreciar en mejor forma el avance del programa del microcontrolador. Como ejemplo están los circuitos de las figuras 5, 6 y 7. Figura 5: Osciloscopio para ver 4 señales del ATmega164P 3 Figura 6: Analizador lógico que captura las 8 señales individuales del ATmega164P Figura 7: Analizador lógico que captura como bus las 8 señales Para este último caso es necesario etiquetar el bus y las líneas en el modo de bus para poder conectar. TRABAJO PREPARATORIO 1. El siguiente es un programa para implementar un contador ascendente módulo 256 en el ATMega164P, escribir este programa en el ATMEL Studio 6, ensamblarlo y simularlo hasta que no tenga errores. .def .def .cseg .org lazo: contador = R16 tempo = R17 ; se define R16 como el contador ; este es un registro auxiliar 0x0000 clr contador ldi tempo,0b11111111 out ddra,tempo out porta,contador ; todos los programas inician en 0x0000 ; inicio la cuenta en cero ; para definir al Puerto A como salida se debe ; poner 1L en cada uno de los bits del DDRA ; envío del contenido de contador al Puerto A 4 salto: ldi dec brne inc tempo,0xf9 tempo salto contador rjmp lazo ; se inicia una rutina de retardo ; salto se repite 249 veces ; hasta que la bandera Z=1 ; incremento del contador en una unidad ; si llega al máximo 255, al incrementar vuelve a 0 ; repitir el proceso indefinidamente 2. Preparar las simulaciones en PROTEUS de los circuitos 3 al 7 que se van a probar en el laboratorio. 3. Dibujar las formas de onda que se observarán en el osciloscopio del circuito 5 y determinar el valor de los períodos de las señales. MODO DE TRABAJO 1. Ingrese el programa en el ATMEL Studio 6, y depúrelo hasta que no tenga errores. Luego proceda a simularlo con simulador incluido en este paquete. Comprobar el tiempo que permanece cada valor en el Puerto A antes de cambiar al siguiente valor, anotar ese resultado; para esto, poner al simulador del oscilador en 1 MHz. 2. Con ayuda del instructor pruebe el funcionamiento de los circuitos de las figuras 3 al 7. Comprobar el dibujo y los valores obtenidos en el trabajo preparatorio. 3. Modificar el programa del proyecto para que el contador sea descendente y comprobar con el diseño que tiene analizador lógico como bus. INFORME: 1. Justificar mediante cálculos el tiempo tomado en el numeral 1 de la parte práctica. Presentar sus cálculos. 2. Modificar el programa para que alternativamente sea un contador ascendente y luego descendente. Simular el diseño y capturar la pantalla del Analizador Lógico con las 8 señales individuales, en la que se pueda ver las secuencias ascendente y descendente en forma alternada. Entregar el listado del programa incluyendo comentarios y justificaciones. 3. Adicionalmente realizar lo que el instructor solicite el instructor. 5