Manejo del analizador lógico: Análisis del contenido de la ROM de

Anuncio
Departamento de Tecnología Electrónica
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA
1º Ingeniería Técnica en Informática de Sistemas
ESTRUCTURA DE COMPUTADORES
Enunciados de Prácticas de Laboratorio
Manejo del analizador lógico:
Análisis del contenido de la ROM de un
cartucho de la videoconsola Atari 2600
1. OBJETIVOS
Esta práctica tiene tres objetivos principales:
1. Introducir el manejo del analizador lógico. Este es un nuevo instrumento de laboratorio1,
que facilita enormemente el testado de circuitos y sistemas digitales que poseen un alto
número de entradas y salidas. En nuestro laboratorio disponemos de analizadores lógicos
sobre PC, esto es, una tarjeta de adquisición y un programa sobre PC que funcionan como
tal analizador. Actualmente hay dos modelos diferentes, el LA-2124 (está en el laboratorio
G1.30) y el LA-2132 (está en el laboratorio G1.32).
2. Realizar el testado a nivel lógico de un sistema digital sencillo, en concreto, de la ROM de
un juego para una consola Atari 2600.
3. Usar un emulador de Atari 2600 que permite jugar en el PC sin necesidad del Atari 2600. El
propio acceso al juego es una comprobación experimental de que la práctica se ha
desarrollado con éxito.
En esta práctica se va a manejar una placa que contiene los circuitos que van a ser
testados, entre ellos la ROM de Atari. Para hacer que esta placa funcione, se necesitará el
instrumental habitual: fuente de tensión para suministrar la alimentación a los circuitos y
generador de señales para generar la señal de reloj del circuito.
Por otra parte, para observar las señales digitales del circuito, se usará el analizador
lógico que, obviamente, ha de ser conectado a la placa. La conexión se hace a través de unas
sondas o cables. El analizador lógico opera en dos fases: primero, adquiere el valor lógico de
las señales y los almacena en una memoria; después, representa estos valores en un monitor
mediante una herramienta que facilita los recursos de visualización y medida.
Por último, para poder jugar, utilizará un programa de emulación que, a partir de los
datos adquiridos, los ejecuta en el PC como si se tratase de una consola Atari 2600.
1. Ver la Sección 7 del manual “Introducción al Laboratorio de Electrónica Digital” (C. Baena, J. I. Escudero,
Mª P. Parra y M. Valencia), publicado para ‘Fundamentos de Computadores’ (I I e ITIS) y ‘Estructura y
Tecnología de Computadores’ (ITIG), Dpto. de Tecnología Electrónica.
Pág. 2
2. ESTUDIO EXPERIMENTAL
Instrumental y componentes: Analizador lógico, generador de ondas, fuente de
alimentación, placa con los contadores y tarjeta de cartucho de Atari 2600.
Las ROMs de Atari son de 4KB, esto es, 212·8 bits. Para comprobar el funcionamiento de
la ROM en el laboratorio se realizará una lectura de sus 4Kposiciones de memoria. Esto se
consigue generando todas las direcciones de memoria, desde 0 hasta 4095 ($000 a $FFF en
hexadecimal).
El circuito de la placa utiliza tres contadores comerciales conectados en cascada para
generar las entradas de dirección de la ROM. Cada uno de estos contadores es de 4 bits
(módulo 16) y se han conectado utilizando sus salidas de fin de ciclo o carrys (FC0, FC1 y
FC2) para obtener un contador de 12 bits (módulo 4096).
De forma simplificada el circuito se muestra en la Figura 1 con un único contador
equivalente, con su entrada de reloj y sus salidas de cuenta conectadas a las lineas de dirección
de la ROM.
CONT mod.4096
Ck
12
A11-0
ROM
4Kx8
8
D7-0
Figura 1 Circuito simplificado para la lectura de la ROM
2.1 DESCRIPCIÓN DE LA PLACA
La placa disponible en el laboratorio tiene la estructura mostrada en la Figura 2.
Se observa que externamente consta de:
• Un conector donde se conecta la tarjeta con la ROM donde está el juego de Atari. La ROM
está configurada de forma que siempre está activa en el modo de lectura de manera que en
las salidas (señales de D7 hasta D0) aparece el contenido de la palabra direccionada.
Pág. 3
74191
CLK
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
FC0
74191
CONECTOR DE LA ROM
D0
D1
D2
D3
D4
D5
D6
D7
VCC
FC1
GND
74191
FC2
Figura 2 Circuito implementado en la placa
• Tres contadores de 4 bits (C.I. 74191) que están conectados en cascada formando un
contador módulo 4096, cuyas 12 salidas proporcionan las entradas de la ROM. Con ellas se
barre todo el rango de direcciones de la ROM. La ROM tiene escritas las instrucciones y
datos del programa del correspondiente juego de Atari 2600.
• Un conjunto de puntos de conexión para la alimentación, la señal de reloj, las de fin de ciclo
(FC2, FC1 y FC0) y las entradas y salidas de la ROM. Con ellos se pueden conectar con
facilidad las sondas del analizador lógico a las señales de interés.
2.2 DESARROLLO EXPERIMENTAL DE LA PRÁCTICA
El objetivo es realizar el volcado de la ROM completa, visualizando en el analizador
tanto las señales de fin de cuenta de los contadores como la salida de la ROM. Para conseguir
este fin se procederá de la siguiente forma:
En primer lugar se extraerá la ROM del cartucho y se insertará en el zócalo de la placa.
ES MUY IMPORTANTE NO INSERTARLA AL REVÉS: La cara con el chip de la ROM
debe estar orientada hacia los pines de datos D0-D7.
A continuación se realizarán las conexiones conectando los terminales del circuito bajo
test a las sondas del sistema de adquisición de datos del analizador que, por otro lado, irá
conectado al ordenador. El conexionado debe realizarse antes de alimentar la placa con la
fuente de continua. Se dispone de dos tipos de analizadores:
Pág. 4
• LA-2124, que se conecta al PC a través del puerto paralelo y que requiere una fuente de
alimentación externa. El orden de las conexiones con la placa será de de la Tabla I: a cada
terminal de la sonda se asocia el color de su cable (NE es negro; GR, gris; etc.) y la
correspondiente señal de la placa según la Figura 2.
Terminal de la sonda
Color del cable
Terminal de la placa
0 1 2 3 4 5 6 7 8
9
10 CLK GND
NE GR AM VE MA RO NA BL VI AZ NE NA NE
D0 D1 D2 D3 D4 D5 D6 D7 FC0 FC1 FC2 CLK GND
Terminal de la sonda
Color del cable
Terminal de la placa
11 12 13 14 15 16 17 18 19 20 21 22
GR AM VE MA RO VI NA RO MA VE AM GR
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11
Tabla I Conexiones con el sistema de adquisición LA-2124
• LA-2132, que se conecta al PC a través del puerto USB y no requiere fuente de
alimentación adicional. El orden de las conexiones se muestra en la Tabla II .
Terminal de la sonda 0 1 2 3 4 5 6 7
Color del cable MARONAAMVEAZVI GR
Terminal de la placa D0 D1 D2 D3 D4 D5D6 D7
Terminal de la sonda 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 GND 31
Color del cable MARONAAMVEAZVI GRMARO NA AM VE AZ VI NE GR
Terminal de la placa A0 A1 A2 A3 A4 A5A6 A7 A8 A9 A10A11FC0FC1FC2GNDCLK
Tabla II Conexiones con el sistema de adquisición LA-2132
La señal de reloj de la placa debe variar entre 0 y 5 voltios y tener una frecuencia
aproximada de 100 Khz. Tras el conexionado se comprueba la tensión de alimentación (5V), se
ajusta el limitador de intensidad y, después, se conecta la alimentación a la placa.
Con lo anterior el circuito ya está leyendo cíclicamente el bloque de 4K de la ROM. A
continuación tenemos que ejecutar el software del analizador. El procedimiento a seguir
depende del modelo del mismo (LA-2124 en el aula G1.30 y LA-2132 en el aula G1.32).
2.2.1 Ejecución y manejo del software del LA-2124
Hay que tener en cuenta que antes de la ejecución debemos conectar el analizador a su
fuente de alimentación y al puerto paralelo del PC. Tras esto arrancamos el Windows 98 y
Pág. 5
pulsamos sobre el icono LA-2132. A grandes rasgos, la ventana de aplicación presenta un
marco superior que contiene los distintos menús (File, View, Serial,...), una fila de comandos u
opciones que se pueden ejecutar (Salvar, Zoom, ....) y el resto de la pantalla que está dividida
en tres bloques:
*
La esquina superior izquierda donde se encuentran los controles de los 5 cursores/
marcadores que tiene el sistema.
*
La ventana superior derecha donde aparece la evolución de los datos adquiridos en los
distintos canales de adquisición de datos en formato lista.
*
La ventana inferior que está dedicada a presentar los datos adquiridos en los distintos
canales de adquisición de datos como formas de ondas.
Debemos visualizar las señales de la placa con el analizador lógico. Como paso previo,
estableceremos las condiciones de trabajo para la adquisición y representación de sus valores:
Para ello tendremos que:
- Establecer que la adquisición de datos vaya sincronizada con el flanco de bajada del
reloj externo (el del sistema).
(Menú Clock)
- Establecer la agrupación de canales. Se crearán tres grupos. El primero, llamado
'contenido', estará constituido por los 8 bits correspondientes a la salida de la ROM.
El segundo, llamado ‘dirección’ estará constituido por los 12 bits correspondientes a
las entradas de dirección de la ROM. El tercero, llamado 'finCuenta' contendrá las
señales de fin de cuenta de cada uno de los tres contadores.
(Menú State -> Group Define)
Asimismo, se requiere que la representación de los datos se realice en hexadecimal
para los dos primeros grupos y en binario para el tercero (úsese statelist setup).
(Menú State -> statelist setup)
- Establecer la condición de disparo del analizador lógico (momento a partir del cual el
analizador comenzará su adquisición de datos). En nuestro caso queremos que el
disparo ocurra justo despues de que se activen todas las señales de fin de cuenta (es
Pág. 6
decir justo despues de que todas valgan 1). Por ello debemos marcar lo opción
‘Trigger false’.
(Menú Trigger-Trigger word)
En general, antes de proceder a la adquisición de los datos especificaremos, por un lado,
que la memoria donde se irán guardando estos datos adquiridos sea de 128K (Menú Clock). Y
por otro lado, que el modo de adquisición sea único (Menú Trigger - Mode - Single).
Una vez modificados todos estos menús se puede pasar a la adquisición de los datos.
Para ello pulse la tecla (Go) y comenzará la adquisición al ritmo marcado por el reloj. Tras
finalizar la adquisición aparecerán actualizadas tanto el listado de las líneas como las distintas
formas de ondas en la pantalla.
Para guardar los datos leídos de la ROM en un fichero operaremos como sigue:
- Situamos el cursor A sobre la misma muestra que el cursor de disparo (por defecto la
muestra número 10).
- El cursor B se sitúa en la posición 4105(10. De esta forma, el cursor B está 4095(10
muestras2 detrás del cursor A, ya que éste está sobre la muestra 10.
- Seleccionamos en el menú ‘File-Export’.
- Seleccionamos el grupo 'contenido', modo binario, inicio en cursor A y fin en cursor
B.
- Tras pulsar ‘ok’ seleccionamos un directorio (por ejemplo ‘c:\roms’) y elegimos un
nombre de archivo. Conviene que el nombre tenga menos de 8 caracteres para acceder
a él directamente desde la línea de comandos.
Para comprobar el programa en un emulador de Atari 2600 debemos convertir el archivo
a binario. Para ello desde la línea de comandos del PC ejecutamos:
cd directorio_con_el_fichero_salvado
csv2bin archivo_original.csv fichero_salida
A continuación se usará el emulador Stella (sección 2.3).
2. Las 4Kdirecciones (4096(10 ) abarcan desde la posición 0 hasta la 4095(10.
Pág. 7
2.2.2 Manejo del software del LA-2132
Hay que tener en cuenta que antes de la ejecución debemos conectar el analizador al
puerto USB del PC. El programa del LA2132, disponible en Windows XP, está preparado
también para la versión LA-2164, por lo que se ejecuta pulsando sobre el icono LA-2164
diponible en el escritorio.
A grandes rasgos, la ventana de aplicación presenta un marco superior que contiene los
distintos menús (File, View, Timing,...), una fila de comandos u opciones que se pueden
ejecutar (Go, Stop, ....) y una ventana dividida en dos partes:
*
La parte superior contiene los controles de los cursores/marcadores eel sistema, los
controles de zoom y una barra para desplazarnos a lo largo de las capturas.
*
La parte inferior está dedicada a presentar los datos capturados en los distintos canales
de adquisición.
Antes de adquirir y visualizar las señales de entrada y salida de la ROM debemos
establecer las condiciones de trabajo. Para ello pulsamos con el botón derecho sobre la
ventana inferior y, en la ventana recién aparecida, seleccionamos las siguientes opciones:
- En la entrada ‘Trig Word’ (en la que aparecen los canales en el orden 31, 30, 29, .., 0),
escribimos ‘1’ en las posiciones correspondientes a los canales 22, 21 y 20, es decir,
los canales correspondientes a las señales de fin de cuenta de los contadores. El
analizador no comenzará a capturar los datos hasta que el valor de los contadores
coincida con esta entrada (palabra de disparo), es decir, hasta que la salida de los
contadores no sea $FFF.
- Para establecer que la adquisición de datos vaya sincronizada con el flanco de bajada
del reloj externo (el de nuestra placa), en la entrada ‘Source’ seleccionamos ‘External
falling’.
- Para que el tamaño de la captura sea de 8K muestras seleccionamos ‘8K’ en la entrada
‘Memory’.
- Para que realice una sola captura seleccionamos ‘Single’ en la entrada ‘Acquire’.
Tras cerrar la ventana emergente establecemos la agrupación de canales en el menú
‘View’->’Group edit’. Para cada grupo de canales hay que establecer su nombre (entrada
Pág. 8
‘Name’), base en la que se visualizará el valor de sus canales (entrada ‘Base’), número de
canales que lo forman (entrada ‘Number’) y cuáles son dichos canales. Para cambiar de grupo
se pulsa sobre las flechas de la parte superior de la ventana. Se crearán tres grupos. El primero,
llamado 'contenido', estará constituido por los 8 bits correspondientes a la salida de la ROM y
se mostrará en hexadecimal. El segundo, llamado ‘dirección’ estará constituido por los 12 bits
correspondientes a las entradas de dirección de la ROM y se mostrará también en hexadecimal.
El tercero, llamado 'Fin Cuenta' contendrá las señales de fin de cuenta de cada uno de los tres
contadores y se mostrará en binario.
Una vez modificados todos estos menús se puede pasar a la adquisición de los datos.
Para ello pulse la tecla (Go) y comenzará la adquisición al ritmo marcado por el reloj. Tras
finalizar la adquisición aparecerán actualizadas tanto el listado de las líneas como las distintas
formas de ondas en la pantalla.
Para guardar los datos leidos de la ROM en un fichero operaremos como sigue:
- Seleccionamos en el menú ‘File-Save data-Save data as’.
- Elegimos un directorio (por ejemplo ‘c:\roms’) y elegimos un nombre de archivo.
Conviene que el nombre tenga menos de 8 caracteres para acceder a él directamente
desde la línea de comandos.
Para comprobar el programa en un emulador de Atari 2600 debemos extraer del archivo
recien guardado los datos correspondientes al contenido de la ROM. Para ello desde la línea de
comandos del PC ejecutamos:
cd directorio_con_el_fichero_salvado
dso2bin archivo_original.dso fichero_salida
2.3 COMPROBACIÓN DEL VOLCADO
Finalmente comprobaremos el volcado con el emulador Stella. Para ello:
a) Se pulsa sobre su icono, que está en el escritorio.
b) Se hace doble click sobre el fichero creado y, si todo ha ido bien, se juega un ratillo.
Las teclas básicas son:
F2 (start, comienzo de partida),
espacio (disparo),
y los cursores.
Pág. 9
2.4 CUESTIONARIO
1. Compruebe que las señales de fin de cuenta de los tres contadores se activan
adecuadamente. Explique cómo hace esta comprobación.
2. Mida el retraso de la ROM. Para ello recuerde que ha de trabajar con el disparo interno del
analizador.
3. ¿Qué tamaño tiene el fichero binario obtenido tras ejecutar el programa dso2bin? Justifique
por qué ése debe ser el tamaño esperado.
Pág. 10
Descargar