Práctica 3 de Microprocesadores

Documentos relacionados
Tema 3 SUBRUTINAS. Estructura de Computadores OCW_2015 Nekane Azkona Estefanía

INDICE Programa Entrada Unidad de control Unidad aritmética y lógica (ALU)

PRÁCTICA 4 Montaje y evaluación de sistemas secuenciales.

TEMA 1: Concepto de ordenador

SISTEMAS OPERATIVOS Arquitectura de computadores

Tutoría 2. Banco de memoria de 8 y 16 bits (8086)

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

Introducción a la arquitectura de computadores

Instrucciones de uso. CONTROLLER e AS-i AC1308/AC / / 2004

Tema: Microprocesadores

SISTEMAS ELECTRÓNICOS DIGITALES

VOCABULARIO DEL HARDWARE. Docente Yeni Ávila

Registros de desplazamiento

Conversor USB a cctalk

Guía de uso del programa AVR-Studio

TECNOLOGÍA DE REDES. Temario 01/04/2008. Unidad 2. LAS WAN Y LOS ROUTERS (Segunda Parte)

Diseño de una calculadora

ING. JONATHAN QUIROGA TINOCO. Desarrollado por Ing. Jonathan Quiroga T.

Manual de formación para soluciones generales en automatización Totally Integrated Automation (T I A )

Actualizaciones de software Guía del usuario

INSTRUCCIONES PROGRAMADOR ATR-901. Introducción...2

PRINCIPALES COMPONENTES DE LA PLACA MADRE NAYAT C. BENSALEM MEDINA LUCAS BALDÁN MANZANO HELENA MEDINA SÁNCHEZ 2º BACHILLERATO B

Práctica 5MODBUS: Bus Modbus

COMO EMPEZAR... Proceso de conexión de la placa al ordenador:

GUÍA RÁPIDA CONFIGURACIÓN PLUGIN Y DRIVER KRONOS NET

Los componentes de la tarjeta madre del PC. Sistemas Operativos. Febrero 2014.

Práctica final. Emilia Cruz Fernández Martínez

FUNCIONAMIENTO DEL ORDENADOR

4. Escribe con palabras lo que significan las siguientes letras y di cuántos bytes hay aproximadamente: a) 1 Gb? b) 1 Mb? C) 1 Kb?

0-31 : caracteres de control : carac. Comunes : especiales (flechas, símbolos) y particulares (ñ)

Qué es un Microcontrolador?

Pan-Tilt MJPEG Cámara para conexión en red Guía de instalación rápida

CICLOS DEL PROCESADOR

TÉCNICO EN REPARACIÓN DE ORDENADORES

(1) Unidad 1. Sistemas Digitales Basados en Microprocesador SISTEMAS BASADOS EN MICROPROCESADORES. Grado en Ingeniería Informática EPS - UAM

Guía rápida para gestionar el puerto paralelo del PC

GUÍA DE INSTALACIÓN PARA RISK SIMULATOR 2016

Red Inalámbrica. Conexión a EDUROAM con Microsoft Windows 10.

REEA. Conexión de un S con WinCC RT Advanced V.12

Práctica 3. Paso de parámetros entre subrutinas. 3. Consideraciones sobre el paso de parámetros

Lanzamiento de nueva versión KIT PLUGIN_AW... Ahora aprender C es más fácil!

EL ORDENADOR A. PERIFÉRICOS. B. UNIDAD CENTRAL. 1. HARDWARE Y SOFTWARE. 2. FUNCIONAMIENTO DE UN SISTEMA INFORMÁTICO 3. CONCEPTO DE SISTEMA INFORMÁTICO

INDICE Parte 1. Visual Basic Capitulo 1. Qué es Visual Basic? Capitulo 22. Mi Primera Aplicación Capitulo 3. Elementos del lenguaje

SISTEMA AUTONOMO CON PATROL IP Manual de Usuario VERSION 1.0 PRELIMINAR

El ordenador. Codificación binaria. Código ASCII

APENDICE B Ensamblador IASM11/Simulador AVSIM11

AUTOMATIZACIÓN INDUSTRIAL

INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA INGENIERIA EN COMUNICACIONES Y ELECTRÓNICA ACADEMIA DE COMPUTACIÓN

28/09/2012. Interfaz con Dispositivos de Salida. Interfaz con Dispositivos de Entrada. Port Mapped. Memory mapped. Interfaz con Dispositivos I/O

Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones

Guía de uso Tarjeta Nexys 2 FPGA Spartan-3E

ESTRUCTURA BÁSICA DE UN ORDENADOR

4.2 Servicio de exploración de E/S

COMUNICACIÓN SERIE (RS232)

TomTom. Compatibilidad Bluetooth para Service Tool

COMPUTADORAS DIGITALES

Manual de instalación AutoFirma 1.4.3

Manual de instalación para central digital

DESCRIPCIÓN DE LOS MONTAJES Y TARJETAS DE CIRCUITO IMPRESO

CX-Integrator permite crear tablas de data link Offline para transferirlas posteriormente.

Seleccione en el escritorio el programa Sucosoft S40 y darle doble click.

Consta de dos programas. (Puedes descargarlos en modo demo haciendo clic en los nombres)

Memoria. Organización de memorias estáticas.

PRUEBA DE ACCESO A LAS ENSEÑANZAS UNIVERSITARIAS OFICIALES DE GRADO 2016

JAVA 7 Los fundamentos del lenguaje Java

Práctica de laboratorio Conexión y configuración de hosts

Automatización de micro red eléctrica con fuentes renovables y almacenamiento de Hidrógeno

Arquitectura de Computadores. Apellidos, Nombre:

Guía para la instalación de discos duro SATA y Configuración RAID

ARQUITECTURA BÁSICA DEL ORDENADOR: Hardware y Software. IES Miguel de Cervantes de Sevilla

Manual de Uso e Instalación

MINI GUIA: CONEXIÓN SEPAM CON USB WINDOWS - XP

Anexo C. Manual del usuario

Memoria Virtual. Memoria Virtual

ACTEON Manual de Usuario

PIC-Ready1. Placa adicional. Manual de usuario. MikroElektronika

Instructivo Configuración de Máquinas Fiscales

Funcionamiento de la Pila (o stack)

Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik

Manual de usuario de configuración de Navegadores para Sede Electrónica del SEPE

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo

Programador de riego una estación Manual de Instrucciones

Manual de instalación Cable de interfaz USB

Introducción al PLC Simatic Siemens S7-200.

PRACTICA N 3 ADQUISICIÓN DE DATOS DE TEMPERATURA Y VELOCIDAD

Noticias RED Remisión electrónica de documentos

TEMA II: ALMACENAMIENTO DE LA INFORMACIÓN

Guía de instalación del punto de acceso WiFi XWNB5201 Powerline 500

Manual de usuario de Samsung SecretZone. rev

Guía 3 1. Objetivo General Conocer las actividades básicas de gestión de un servidor SCADA.

Manual de Instrucción para el usuario del sistema de TELE-MAPA

1.4.1 Inicio de la computadora por primera vez Hay problemas Causas, síntomas y soluciones a posibles averías...

Firmware de la Cámara DiMAGE X1, Versión 1.10

Registros SFR vistos hasta ahora: Microcontroladores PIC

Guía de Gestión y Diagnóstico de Firmwares de PLCs con Unity (TSX Premium TSX Quantum M340) Centro de Competencia Técnica

Procedimiento de instalación rápida con CD-ROM. Activación y uso de EtherTalk para Mac OS 9.x

Guía de AirPrint. Versión 0 SPA

Manejo de Entrada-Salida. Arquitectura de Computadoras

: Algorítmica y Estructura de Datos I

- MANUAL DE USUARIO DE LA PLATAFORMA DE EDICION DE PROYECTOS DE LA XERENCIA MUNICIPAL DE URBANISMO DE VIGO -

Transcripción:

Práctica 3 de Microprocesadores Objetivos - Familiarización con el microinstructor TM-683 de PROMAX y del entorno IT68KW. - Realización de programas básicos que permitan manejar los puertos de entrada/salida de la VIA 6522 y de sus temporizadores. - Generación de interrupciones y programación de excepciones. Descripción breve del microinstructor TM-683 de Promax 1.- Introducción El Microinstructor TM-683 es una plataforma educativa basada en el microprocesador MC68000. Consta de los siguientes elementos hardware: 1)CPU de Motorola con reloj de 8Mhz. 2)Memoria RAM estática de 64K words. 3)memoria EPROM (con programa MONITOR) en configuración inicial de 32K words. 4)Dos canales de comunicación serie (canal A para aplicaciones de usuario y canal B para programación desde PC). Ambos canales series son aportados por la DUART 68681. 5)Cuatro puertos paralelos de 8 bits (aportados por sendas VIA's 6522). 6)Temporizadores internos (aportados por las VIA's y la DUART). 7)Bus de expansión. 8)Leds y y microinterruptores conectados a sendos puertos paralelos para simulación. Además se acompaña de una serie de aplicaciones software que permite su utilización: 1) Programa MONITOR (contenido en la EPROM del Microinstructor) 2) Programa ITF68KW (permite la conexión y transferencia de programas entre el PC y el programa monitor del microinstructor), 2.- Descripción del hardware del sistema El conjunto de chips de memoria, periféricos y posibles expansiones, están organizados según el siguiente mapa de memoria. Prácticas de microprocesadores 09/10/08 1

Direcciones Tipo Funciones 000000-00FFFF EPROM Programa Monitor (Las direcciones 000000-00003FF corresponde a la Tabla de Excepciones) 010000-01FFFF EPROM Zócalos de expansión. 020000-03FFFF RAM Memoria del sistema 040000-05FFFF RAM Zócalos de expansión. 060000-06001F VIA1 Entrada/Salida 060021-06003F VIA2 Entrada/Salida 060041-06005F DUART Entrada/Salida serie 060061-06007F E/S Expansión de E/S Práctica 3 El TM-683 utiliza un esquema de decodificación no completo en el que las líneas A23-A19 del microprocesador no intervienen. Esto implica que todos los recursos del sistema se encuentran replicados en diferentes direcciones de memoria, dependiendo de los valores que tomen dichas líneas del bus de direcciones. En el proceso de decodificación de los periféricos (VIAS y DUART) interviene la señal LDS, por lo que A0 debe ser 1 para acceder a sus diferentes registros internos. Por ejemplo, la VIA1 dispone de 16 registros internos mapeados en las direcciones impares que van de la $060000 a la $06001F. La VIA1 tiene conectado, en su puerto A, un conjunto de 8 microinterruptores y, en su puerto B, 8 diodos leds. La DUART implementa dos canales de comunicación A y B con niveles de tensión RS-232. En el momento de encender el microinstructor, el canal B de la DUART (que lo conexiona con el PC a través de un cable) se programa de acuerdo a la configuración de los microinterruptores conectados al puerto B y que se muestra en la siguiente tabla. 1 2 3 1 0 4 -- 9600 bps. 5 No paridad 6 8 bits por carácter 7 1 bit de stop 8 ROM usuario desactivada Ambas VIAS trabajan con un reloj a 0.8Mhz y la DUART a 3.68Mhz. Prácticas de microprocesadores 09/10/08 2

Parte del hardware del microinstructor se destina a la gestión de interrupciones, las cuales pueden ser vectorizadas o autovectorizadas. Las fuentes de demanda son: 1) los dos circuitos VIA1 y VIA2 con nivel de interrupción autovectorizada de 2 y 3 respectivamente. 2) el pulsador ABORT situado en el panel posterior y que está asociado al programa MONITOR. Dispone de prioridad autovectorizada de nivel 6. 3) la DUART utiliza prioridad 6 no autovectorizada. No tiene asignado ningún vector de excepción. 3.- Descripción del software 3.1.- Programa monitor Es una aplicación residente en la memoria EPROM del TM-683 y que controla los distintos elementos periféricos así como el canal de comunicación serie con el PC. Tiene las siguientes funciones: a) Manipulación de la memoria del TM-683: Visualización de contenido, modificación del contenido de determinadas posiciones, inicialización de bloques con un determiando valor, copia de una zona de la memoria, movimiento de bloques de memoria, inserción de bloques de memoria, ensamblado y desensamblado de instrucciones sobre la memoria. b) Manipulación de los registros de la CPU: Visualización de contenido y operaciones de modificación y Reset. c) Ejecución de programa de usuario: Ejecución continua, paso a paso, con traza y con breakpoints definidos por el usuario. d) Opciones de manipulación de ficheros (formato S28) para cargar módulos ejecutables desde el disco a la placa y viceversa. e) Funciones específicas como conversión hex/decimal, manipulación de reloj, etc. Para obtener la lista completa de las funciones del programa monitor, pinche aquí. El programa Monitor utiliza las siguientes posiciones de la RAM. Direcciones Comentario 020000-0200F7 Pseudotabla de vectores. 0200F8-021069 Variables del sistema. 02106A-03F7FF 03F800-03FFFF Memoria libre RAM reservada a la PILA Prácticas de microprocesadores 09/10/08 3

La mayor parte de los vectores de excepción que se encuentra en ROM apuntan a los pseudovectores de la RAM. De esta forma el usuario puede modificar el contenido de los mismos y establecer sus propias rutinas de excepción. En la siguiente tabla se han representado aquellos vectores de excepción que tienen asociados pseudovectores modificables en la RAM, junto con las direcciones que ocupan estos últimos y las funciones asocidas, si tienen, que implementa el programa MONITOR. Vector Pseudovector Dirección RAM (hex.) Función asociada Acción 4 0 20002 Ilinst() Instrucción ilegal 5 1 20008 Zerdiv() División por cero 6 2 2000E -- Instrucción CHK 7 3 20014 -- Instrucción TRAPV 8 4 2001A Privio() Violación de privilegio 9 5 20020 Tracing() Excepción TRACING 10 6 20026 -- Emulación 1010 11 7 2002C -- Emulación 1111 25 8 20032 -- Autovector 1 26 9 20038 Isrt1() Autovector 2, VIA1 27 10 2003E -- Autovector 3, VIA 2 28 11 20044 -- Autovector 4, EXT 1 29 12 2004A -- Autovector 5, EXT 2 30 13 20050 Aborta() Autovector 6, ABORT 31 14 20056 -- Autovector 7 38-47 15-24 2005C-20092 -- TRAP #6-TRAP#F No usados 64-79 25-40 20098-200F2 -- Interrupción de usuario 1-16 Por ejemplo, el pseudovector 0 tiene la función asociada Ilinst(). Esto implica que el pseudovector está apuntando a una zona de la memoria donde existe una rutina de excepción que se ejecuta cada vez que se genera una excpeción por instrucción ilegal. Si el programador quiere realizar una rutina de excepción propia, en lugar de la que se ofrece, sólo se tiene que modificar el contenido del pseudovector para que apunte a la rutina diseñada. Es conveniente, cada vez que se modifiquen pseudovectores que tengan funciones asociadas, almacenar una copia del contenido del pseudovector original para ser restaurada cuando finalice la ejecución del programa. Otras excepciones como son: reset, error de bus, error de direccionamiento, vector de interrupción no inicializado, interrupción espúrea, TRAP #0-TRAP#5 están implementadas por el programa MONITOR pero no son modificables por el usuario. Asimismo los vectores de interrupción del 80-255 no están implementados y, por tanto, no pueden ser usados. Prácticas de microprocesadores 09/10/08 4

Son interesantes las funciones que realizan los TRAPS. TRAP #0 TRAP #3 TRAP #4 TRAP #5 Permite el acceso a funciones del programa monitor como manipulación de cadenas, visualización, etc. El tipo de función que se realiza depende del contenido del registro D0. Permite al usuario que el microprocesador pase a modo superivisor. Establece puntos de ruptura. Devuelve el control al programa MONITOR. Esta debe ser la última instrucción de cualquier programa de usuario que no tenga ejecución sin fin. 3.2.- Conexión con el programa MONITOR desde un PC Desde el propio entorno IDE68K, explicado en los boletines de prácticas 1 y 2, puede conectarse a los servicios del programa MONITOR residente en la placa TM683. Para ello sólo es necesario utilizar un enlace serie entre el PC y el TM683 (conector B). El puerto usado y los parámetros del mismo se pueden configurar en Serial Port Settings del menú Options del IDE68K. Con él se puede seleccionar el COMn, la velocidad, paridad, etc. La comunicación con el TM683 debe realizarse en concordancia con los parámetros establecidos en el arranque del sistema mediante los microinterruptores (ver dibujo) y con control de flujo XON/XOFF. Prácticas de microprocesadores 09/10/08 5

Una vez configurados los parámetros de la comunicación, mediante la opción Run External Computer del menú Run, se abre una ventana de comunicación entre el programa MONITOR del TM683 y el PC, utilizando el enlace serie. Si todo ha ido correctamente, en dicha ventana debe aparecer un menú básico de las opciones principales del programa MONITOR, tal y como muestra la figura de la página anterior. 1) Transferencia del fichero ejecutable. Una vez compilado el programa en el entorno IDE68k, se genera un fichero con la extensión.hex que contiene el código objeto siguiendo el formato S28 de Motorola. Este es el fichero que se deberá transferir al microinstructor. El procedimiento para hacerlo pasa por seleccionar la carga de un absoluto a la placa (l + enter en la ventana external computer) y, a continuación, pulsar F2. Esto provoca que se abra una ventana nueva donde deberemos seleccionar, usando un explorador, el fichero con la extensión.hex que se desea enviar al TM683. Si el proceso ha ido correctamente aparecerá el mensaje de Absoluto cargado. Importante: El microinstructor sitúa el programa transferido a partir de la dirección de memoria que, en el propio programa, se ha establecido con la directiva de organización, y ésta se debe elegir de tal forma para que todo él se ubique dentro del rango de la RAM libre ($02106A-$03F7FF). 2) Ejecución del programa. Partiendo de las opciones del menú principal, presionando g (Ejecución), el sistema nos preguntará sobre Pc/Dirección(P/A), seleccionaremos A; la dirección de inicio (p.e $21100 en la figura inferior -nótese que no se representa el símbolo $) y si deseamos activar breakpoints. Prácticas de microprocesadores 09/10/08 6

Estudio teórico Para el desarrollo del estudio teórico se recomienda descargar el fichero TM683.INC que incluye todas las definiciones de las direcciones que ocupan los pseudovectores y registros internos de la VIA1, VIA2 y DUART del microinstructor: http://www.dte.us.es/tec_inf/itig/microele/pract/curso0405/tm683.inc. Con la directiva INCLUDE TM683.INC podrá utilizar las etiquetas definidas en ese fichero en su programa. Parte primera: 1.- La VIA1 del microinstructor TM-683 dispone de una hilera de microinterruptores conectados al puerto A de la misma y un conjunto de diodos LED, conectados al puerto B que se iluminan cuando el bit correspondiente del puerto B es 0 y se apagan si es 1. 2.- Diseñe un programa en ensamblador que permita: - configurar el puerto A como entrada - configurar el puerto B como salida - mostrar en los diodos los valores de los microinterruptores. Parte segunda: Se desea resolver un problema usando dos técnicas distintas: interrupciones y polling. En concreto, se desea diseñar un programa que permita incrementar una variable cada segundo y mostrar el contenido binario de dicha variable en los LEDs conectados en el puerto B. El programa debe permitir: - configurar adecuadamente el puerto de la VIA conectados a los LEDS - configurar el temporizador para que active el bit 6 del IFR cada 32,5ms aproximadamente suponiendo que la fclk es de 0,8Mhz. - incrementar una variable auxiliar cada vez que se genere un desbordamiento en el temporizador.(nota: determina el valor que máximo que toma esta variable cuando se alcanza un segundo de funcionamiento) - incrementar la variable contador de segundo cada vez que la variable auxiliar alcanza su máximo valor - presentar de forma adecuada el contenido de la variable contador de segundos en los diodos LED s Mediante (polling) Se realizará mediante consulta continua del bit 6 del IFR. Mediante excepciones Prácticas de microprocesadores 09/10/08 7

Se diseñará una rutina de excepción que permita la realización del programa anterior, sin que, ahora, sea necesario consultar continuamente el flag del registro IFR. Además de esta rutina se acompañara del conjunto de instrucciones necesarias para la adecuada instalación y activación de la rutina de excepción. Ejercicio opcional puntuable: Desarrolle un programa que permita implementar un reloj digital que muestre minutos y segundos en los displays de 7 segmentos del periférico que se conecta al TM683. Los displays se controlarán a través de los puertos A y B de la VIA. En la siguiente figura se muestra cómo está implementada dicha conexión. El puerto A de la VIA contiene el código 7 segmentos del dígito a mostrar en uno de los displays de 7 segmentos. Un segmento encendido se consigue poniendo a 0 el correspondiente bit del puerto A (véase el ejemplo del número 5 en el gráfico inferior). A su vez, para que uno de los cuatro displays se active, debe ponerse a 0 el correspondiente bit del puerto B. PA7-0= abcdefgp Código 7seg del 5 01001001 a a a a f g b f g b f g b f g b e c e c e c e c d d d d 1 1 0 1 PB3-0 Nota: Como ayuda, siga el procedimiento que se explica en la solución del problema 7 del boletín de de problemas de E/S del MC68000. Prácticas de microprocesadores 09/10/08 8