Lab 1 ALU Arduino RAM

  • Published on
    16-Nov-2015

  • View
    11

  • Download
    4

Embed Size (px)

DESCRIPTION

Verificar el comportamiento de componentes lgicos tipo registros de almacenamiento y de buffer tres estados para entender su interaccin en un bus de datos. Comprender y simular el funcionamiento de la Unidad Lgico-Aritmtica (ALU).

Transcript

En los grupos de Autoestudio conteste

POLITECNICO GRANCOLOMBIANOFACULTAD DE INGENIERIA Y CIENCIAS BASICASCIRCUITOS LGICOS IILABORATORIO 1: emulacin de alu y memoria ram con componentes externos y arduinoTALLER 1

Temtica: ALU, Registros de almacenamiento y buffer tri-estado.

Objetivos:

Verificar el comportamiento de componentes lgicos tipo registros de almacenamiento y de buffer tres estados para entender su interaccin en un bus de datos.

Comprender y simular el funcionamiento de la Unidad Lgico-Aritmtica (ALU).

Condiciones: El montaje funcionando, junto con las anotaciones y el preinforme.

Elementos1. Debe tener como elementos del grupo (No del laboratorio):a. 2 Registros de 8 bits, 74LS 374 o 74LS373b. 2 Buffer Tri-Estado 74LS126c. Protoboardd. 7 o ms LEDse. Cable para protoboardf. 2 pulsadoresg. Arduino UNO o Duemilanove (Freeduino)2. Solicite en el Laboratorio los siguientes elementos:a. Fuente de voltaje de 5Vb. (Opcional) Arduino, si no la tienen en el grupo de trabajo.

Prelaboratorio

1. Investigue qu es Arduino. 2. Descargue la ltima versin de Arduino http://arduino.cc/es/Main/Software3. Para qu sirven las funciones setup() y loop()?4. Averige y escriba cmo se pueden configurar los pines analgicos de arduino para ser trabajados como pines de entrada/salida (I/O) digitales. 5. De acuerdo al diagrama de bloques del montaje que debern realizar como prctica de laboratorio, identifiquen qu pines de la Arduino utilizarn para cada cosa, y si se deben configurarlos como pines de entrada o de salida. Se necesitan 17 pines, la Arduino slo tiene disponibles 14 pines digitales y dos de esos (El 0 y el 1) se usan para comunicacin, por lo que debern utilizar 5 pines analgicos como pines digitales. Describan cmo lo harn de acuerdo con su respuesta del punto anterior. 6. Descargue el datasheet de los registros a usar, anote en el preinforme los pines y un prrafo con una breve descripcin de su funcionamiento. 7. Descargue el datasheet de los triestados a usar, anote en el preinforme los pines y un prrafo con una breve descripcin de su funcionamiento.8. Lea en detalle la seccin Desarrollo de la prctica de esta gua de laboratorio. Realice el diseo de un protocolo de pruebas que le permita verificar el funcionamiento de la prctica. 9. Descargue la aplicacin Processing 2.0.1 de 32 bits (No importa si su Windows es de 64 bits). https://processing.org/download/?processing

Laboratorio: desarrollo de la prctica

1. Realice el montaje sobre la protoboard del sistema presentado en el diagrama de bloques de la siguiente figura. Tenga en cuenta que el detalle de las conexiones est dado por su criterio de diseo como ingeniero; por lo que deber basarse en las hojas de datos de los fabricantes y en su experiencia.

Figura 1. Diagrama de bloques del montaje a realizar en el laboratorio.2. Partiendo de la plantilla que le ser entregada (Plantilla/plantilla/plantilla.ino), disee el programa en Arduino para que funcione de acuerdo al siguiente algoritmo:a. Configure los pines como entrada o salida, de acuerdo con el punto 5 del preinforme. b. Habilite (Enable) los registros Registro_A y Registro_B, y el triestados superior. Esto permitir que los registros almacenen el valor de los DipSwitch A y B, respectivamente. c. Realice la lectura del registro A. Para esto deber habilitar SLO el OE del Registro_A asegurndose que el OE del Registro_B est deshabilitado. Revise la hoja de datos del fabricante para revisar si el OE se habilita con 1 con 0. Tenga en cuenta que el registro ingresa como 4 valores binarios, en 4 puertos diferentes, por lo que deber leer cada puerto, y luego combinar los valores para trabajarlos como un solo dato de 4 bits, o bien en su forma binaria, o bien a travs de la conversin al sistema decimal. d. Realice la lectura del registro B. Para esto deber habilitar SLO el OE del Registro_B asegurndose que el OE del Registro_A est deshabilitado. Revise la hoja de datos del fabricante para revisar si el OE se habilita con 1 con 0. Tenga en cuenta que el registro ingresa como 4 valores binarios, en 4 puertos diferentes, por lo que deber leer cada puerto, y luego combinar los valores para trabajarlos como un solo dato de 4 bits, o bien en su forma binaria, o bien a travs de la conversin al sistema decimal. e. Consulte el opCode de la siguiente operacin a ejecutar haciendo un llamado a la funcin next() que le retorna el OpCode en decimal de la siguiente operacin. De acuerdo con la siguiente lista, ejecute la instruccin y gurdela en una nueva variable que almacenar el resultado.

OpCode (Decimal)OpCode (Binario)Instruccin

000Suma

101AND

210OR

311Resta

f. Escriba la variable que almacen el resultado, en el registro de salida R. Tenga en cuenta que deber escribir cada bit en su puerto correspondiente. Slo deber almacenar 4 bits. Si el resultado dio ms de 4 bits, deber encender el carrier y guardar slo los 4 bits del resultado. g. Habilite el triestados del resultado (izquierda), y el enable del Registro_A para que guarde el resultado en el registro A. Asegrese de que el enable del triestados de arriba est deshabilitado, para evitar que los datos colapsen y evitar daos en la tarjeta y/o componentes. h. Llame a la funcin simular, para enviar el resultado y poder observarlo en el simulador. La sintaxis debe ser simular(resultado); donde resultado es el parmetro que usted enva y que corresponde al resultado que obtuvo, en decimal. i. Repita los pasos c al g hasta que no queden ms operaciones por realizar. Cuando no haya ms operaciones, la funcin next() retornar un entero -1.

NOTA: La funcin next() ya est construida y disponible para que la observe y si lo desea la modifique. Sin embargo, la modificacin no hace parte de la prctica. 3. Abra el programa Simulador.exe entregado dentro de la carpeta Simulador\simulador\application.windows32\simulador.exe.

Si no le funciona, es necesario que verifique el puerto al que est conectada la tarjeta de Arduino, ingrese al cdigo fuente de processing (Simulador\simulador\simulador.pde) y modifique el puerto en la lnea, en el nmero de color rojo, de acuerdo con la lista que aparece en la consola de processing cuando le da Ctrl+R:

puerto = new Serial(this, Serial.list()[0], 9600);

4. Ejectelo con la tarjeta Arduino conectada.5. Resetee el sistema e inicie las pruebas para verificar el correcto funcionamiento de la prctica, de acuerdo con el punto 8 del preinforme. Postlaboratorio1. Documente todos los procesos desarrollados en la prctica2. Incluya observaciones, cuestionamientos luego de la prctica y conclusiones

1