Laboratorio 5: Diseño Jerárquico de Sistemas Digitales

Documentos relacionados
Laboratorio 07. Diseño Jerárquico de Sistemas Digitales

Laboratorio 06. Diseño e implementación de un sistema digital para la captura de caracteres desde teclado

Laboratorio 5: Tarjeta de Desarrollo Spartan-3

Laboratorio 5: Tarjeta de Desarrollo Spartan-3

LAB 5. Tarjeta de Desarrollo Spartan-3. Laboratorio de Sistemas Digitales ELO212 Primer Semestre de 2012

LAB 5. Tarjeta de Desarrollo Spartan-3. Laboratorio de Sistemas Digitales ELO212 Primer Semestre de 2010

APLICACIÓN CON LOS KITS LEGO Y DRIVERS PARA LOS MOTORES DC DE ESTOS KITS CON LA TARJETA XS95 MINI PALANCA MECANICA

Armado de un microcomputador, basado en microcontrolador 8031

Preparación: Para el diseño secuencial será necesario que utilices una señal de reloj. Para generar este pulso de reloj, refiérete a la práctica 2.

Lattice isplever. Características. Gestión de proyectos

TRABAJO PRÁCTICO Nº 4. Sistemas combinacionales MSI

Cuatro Tipos de Flip-Flop en la GAL22V10

Problemario Electrónica Digital

Laboratorio 02. Ambiente de Mediciones Digitales

Laboratorio 4. Objetivos

TRAB.PRÁCTICO Nº 1: INTRODUCCIÓN A LAS TÉCNICAS DIGITALES

Módulo 2 n. Figura 2.1. Simbología de un contador

CURSO: ELECTRÓNICA DIGITAL UNIDAD 3: SISTEMAS SECUENCIALES - TEORÍA PROFESOR: JORGE ANTONIO POLANÍA

Montaje y evaluación de sistemas digitales combinacionales.

Laboratorio 8: Controlador VGA

Máquinas de Estados en la GAL22V10 Usando ABEL-HDL

Laboratorio 10. Controlador VGA

Periféricos II Teclado y ratón PS2

Laboratorio 4: Uso de una FPGA

Prof: Zulay Franco Puerto Ordaz, Agosto

----*************************************************************************

Comunicación Serial: Conceptos Generales

Unidad III. Interfaces de comunicación Series, USB, CAN, Field Bus, Etc.

EL BUS I2C CARACTERISTICAS. Fernando Remiro

MÓDULO Nº7 REGISTROS Y CONTADORES

Laboratorio 2: Mediciones Digitales

3 Interfaz PC DSP. 3.1 Introducción a las comunicaciones serie. 3 Interfaz PC DSP

4.7 Aplicaciones usando la tarjeta Spartan 3E

PRÁCTICA 7. CIRCUITOS ARITMÉTICOS

DISEÑO DE PROCESADORES DEDICADOS. Práctica 6 LCD de Propósito General

PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE UNA FPGA

Enlaces Seriales UART, I2C, SPI

Tutorial introductorio al Lenguaje Abel ( Advanced Bolean Equations Language).

ABEL Para Síntesis. Dr. Juan C. Herrera Lozada

Nota: Para los diseños, anexar los respectivos códigos y simulaciones según el caso.

RMS2-PT-IA3 Módulo de Adquisición de PT100 - Manual del Usuario

Dado el siguiente circuito digital, encontrar la tabla característica y la tabla de operación del flip-flop correspondiente

PRACTICAS GAL22V10. Utilizar la placa PLD (GAL22V10), compilador de programas IspDesignExpert y programa de grabación del dispositivo IspVMSystem.

Lógica Digital - Circuitos Secuenciales

Ud debe controlar el flujo de información en una interface paralela CENTRONIX, que opera a 60 KB/seg.

5. Decodificadores. Salida _1= A A A A = m = M ... Electrónica Digital. Tema

Practica 1 (3.5 %) 1. Realice el diseño y montaje de un R_S discreto activo en bajo.

Lógica Digital. Circuitos Secuenciales. Francisco García Eijó. Organización del Computador I Departamento de Computación - FCEyN UBA

FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA LABORATORIO DE TEORÍA DE COMUNICACIONES PRÁCTICA N 5 COMUNICACIÓN SERIAL ENTRE DOS PCS

Integración de Equipos para Comunicaciones

LECCIÓN Nº 06 DISEÑO DE CONTADORES SINCRONOS

VOCABULARIO DEL HARDWARE. Docente Yeni Ávila

Organización del Computador I. David Alejandro González Márquez

Laboratorio 8: Controlador VGA

UART. Diseño de Sistemas con FPGA 1er cuatrimestre 2013 Patricia Borensztejn

Lenguaje ABEL-HDL. Departamento de Electrónica. Fundación San Valero

Electrónica Digital. Actividad Dirigida. Implementación de un Cronómetro Digital

Laboratorio 8: Controlador VGA

TARJETA DE DESARROLLO DE SISTEMAS CON TECNOLOGÍA FPGA.

Laboratorio 2: Mediciones Digitales

TEMA 5.3 SISTEMAS DIGITALES

ARQUITECTURA DE LOS SUBSISTEMAS DE BUSES Y ENTRADA/SALIDA

Laboratorio 2: Mediciones Digitales

Modelo ISO OSI. Vínculo Físico

P1.0,... P1.7 7 EN3 EN2

4. Comunicaciones serie y paralelo

DISEÑO DE SISTEMAS ELECTRÓNICOS DIGITALES AVANZADOS

Ahora veamos algunos de los cables más comunes para conectar los dispositivos a nuestra PC. 1- Cable de power, del toma eléctrico al CPU.

Registros y latches multibit. EL-3213 Circuitos Digitales I. Registro de 8 bits (octal register) Otros registros de 8 bits. 74x175

SADE en LabView. IO PIN: SADE cuenta con 13 pines que se pueden configurar como entrada, salida e inclusive como PWM.

El modulo cuenta con un led indicador, para saber en qué estado se encuentra.

EL-3213 Circuitos Digitales I. Registros y latches multibit

Inter.face de comunicación RS 232 de empotrar Referencia: /8455.9

Práctica de Problemas N o 3

Arquitectura del Procesador I

RMS2-AI-IA3 Módulo de Adquisición de Variables Analógicas - Manual del Usuario

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

SISTEMAS ELECTRÓNICOS DIGITALES

Sistema de Registro de Temperatura y Humedad

Decodificador de Direcciones de Memoria en una GAL

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería Universidad Nacional de Mar del Plata

Introducción. Modo monitor. Cuaderno técnico 4: Grabación de microcontroladores PIC

Los circuitos con realimentación no son combinacionales. Constituyen un nuevo tipo, los llamados secuenciales.

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería Universidad Nacional de Mar del Plata

CAPITULO V. Implementación del Sistema de Transmisión y Recepción.

PRÁCTICA 2: SISTEMAS DIGITALES

Tema: Comunicación en Serie. Interfaz RS-232.

Laboratorio 2 Puerto con Handshake y Recepción serie

Organización de Computadoras Apunte 5: Circuitos Lógicos Secuenciales

13-Bloques Básicos Secuenciales

Transcripción:

Laboratorio 5: Diseño Jerárquico de Sistemas Digitales Objetivos: - Conocer la forma de comunicación que existe entre el teclado y su controlador (PS/2). - Conocer los scan-codes y aplicar técnicas de visualización en el osciloscopio para su captura. - Interactuar con la tarjeta, diseñando un sistema de control que permita visualizar en el led el scan code correspondiente a una tecla presionada. - Comprender y valorar la utilización de una metodología ordenada en el diseño de sistemas digitales que permita la reutilización de diseños anteriores de una manera rápida y clara. - Conocer y utilizar las sentencias correspondientes en ABEL para el desarrollo de subsistemas dentro de un diseño digital. - Diseñar sistemas como interconexión de subsistemas, mediante la clara definición de las tareas que cada subsistema debe realizar. - Desarrollar e implementar métodos de prueba para cada uno de los módulos integrantes de un sistema. - Verificar el funcionamiento del sistema completo. Recursos Disponibles y Conceptos Generales de Programación Modular 1. PS/2 La interfaz de comunicación PS/2 es una interfaz propuesta por IBM para comunicar dispositivos seriales en forma sincrónica, tanto teclado como Mouse. En la actualidad la mayoría de los teclados corresponden a este tipo con las siguientes características: - Gran número de teclas (101 a 104). - Conector de 5 o 6 pines (incluyen adaptadores). - Protocolo de comunicación serial bidireccional (PS/2). - Garantizan sólo el conjunto 2 de los scan codes. - Contestan todos los comandos enviados, sin embargo no actúan en todos ellos. La interfaz física que usualmente se utiliza se muestra en la figura 1. La alimentación del teclado/mouse corresponde a Vcc = +5 [V] y una corriente máxima de 100 [ma]. Se recomienda no conectar el teclado a la tarjeta mientras se encuentre prendida. Las líneas de Data y Clock son ambas de colector abierto, con resistencias de pull-up para fijar ambas líneas en alto. El mouse y teclado PS/2 implementan un protocolo de comunicación serial bidireccional. El bus de comunicación se encuentra en estado idle cuando ambas líneas (data y clock) se encuentran en alto. Este es el único estado en que al dispositivo (teclado o mouse) le está permitido enviar información al host (computador o en nuestro caso tarjeta de desarrollo XS95). El host tiene el control último sobre el bus y Lab. de Sistemas Digitales Silva/Aguilera/Freund -25-04-2005 Pág. 1 de 10

puede inhibir la comunicación en cualquier instante, colocando la línea de clock en nivel bajo. Plug Socket 6-pin Mini-DIN (PS/2): 1 - Data 2 - No Implementado 3 - Ground 4 - Vcc (+5V) 5 - Clock 6 - No Implementado Figura 1: Interfaz PS/2 El dispositivo siempre genera la señal de clock. Si el host desea enviar datos, debe primero inhibir la comunicación desde el dispositivo, colocando la línea de clock en nivel bajo. Luego debe colocar en nivel bajo la línea de data y subir la línea de clock. Este estado es conocido como Request to Send, con lo cual el host señaliza al dispositivo que comience a generar pulsos de reloj a través de la línea clock para enviar los datos. Por lo tanto el bus puede estar en uno de los siguientes tres estados: - IDLE: Data y Clock en alto - INHIBIT: Data en alto y Clock en bajo - REQUEST TO SEND: Data en bajo y Clock en alto Todos los datos son mandados de un byte por vez y cada byte es enviado dentro de un frame de 11 o 12 bits: - 1 bit de partida: siempre es 0. - 8 bits de datos: se comienza por el menos significativo. - 1 bit de paridad: se utiliza paridad impar. - 1 bit de parada: siempre es 1. - 1 bit de confirmación: sólo para comunicación desde el host al dispositivo. El bit de paridad es colocado en alto si hay un número par de 1 s en los bits de datos, y colocado en bajo si hay un número impar. La idea es que el número de1 s de los bits de datos más el bit de paridad siempre sean un número impar (paridad impar). Esto se utiliza para la detección de errores en la transmisión. Si el dispositivo detecta un error responde como que se le ha enviado un comando inválido. La figura 2 muestra la comunicación del dispositivo con el host. Cuando el teclado o mouse desean mandar información deben asegurarse que la línea de clock debe estar en alto por lo menos 50 [us] antes de que el dispositivo pueda comenzar a enviar datos. El teclado/mouse escribe un bit en la línea de data cuando el reloj está alto, y es leído en el host cuando el reloj está bajo. Como se trata de una comunicación desde el dispositivo hacia el host no se envía un bit de confirmación. Lab. de Sistemas Digitales Silva/Aguilera/Freund -25-04-2005 Pág. 2 de 10

: 2. ScanCodes Figura 2: Comunicación entre el Host y el teclado PS/2 En los teclados se distinguen distintos conjuntos de scancodes para identificar la tecla o teclas que se presionan. Se utiliza por defecto el conjunto 2 (set 2). Cada tecla tiene asociado un scancode compuesto de dos códigos: un make code, que se emite cada vez que se presiona una tecla, y un break code, que se emite cuando se suelta la tecla. En general estos códigos suelen tener entre 1 y 2 byte, pero existen ciertos scancodes que son más largos debido a que corresponden a una combinación de teclas más elaborada. Enhttp://www.computer-engineering.org/ps2keyboard/scancodes2.html se encuentra disponible los scancodes del conjunto 2. Además en el sitio http://www.computerengineering.org/ps2protocol.se encuentra disponible la especificación de la norma PS/2. 3. Serie-paralelo, Paralelo-serie La figura 3 muestra la conexión lógica de dos registros realizada para la captura de datos en serie. Nótese que se está utilizando un reloj proporcionado por la misma fuente de los datos, tal como ocurre en una comunicación PS/2. En ella tanto el registro que recibe la conexión en serie como el que está copiando su contenido reciben la señal de reloj proporcionada por la contraparte que se está comunicando, pero al recibir el reloj negado, una de ellas se está retrasando con respecto a la otra, de manera de que ambos registros se comienzan a desplazar. El bit más significativo es el que recibe los datos seriales. 4. Driver PS/2 para XS95 Estudie el siguiente código Abel que implementa la recepción de datos vía el puerto PS/2 de la tarjeta: Lab. de Sistemas Digitales Silva/Aguilera/Freund -25-04-2005 Pág. 3 de 10

10 KB_CLOCK KB_DATA MODULE keyboard TITLE 'keyboard' DECLARATIONS Figura 3: Conexión Lógica para la Captura de Datos en Serie 10 RST PIN 45; OE_RAM PIN 62; KB_DATA PIN 70; KB_CLK PIN 26; // uc reset control // RAM output enable // datos seriales desde el teclado PS/2 // reloj desde el teclado PS/2 RS_6..RS_0 PIN 15,14,18,17,19,23,21 ISTYPE 'COM'; // Pines del display RS_ = [RS_6..RS_0]; [MASTER8..MASTER0] NODE ISTYPE 'REG'; // registro maestro para almacenar MASTER9 PIN 77 ISTYPE 'REG'; // los datos desde el teclado MASTER = [MASTER9..MASTER0]; [SLAVE8..SLAVE0] NODE ISTYPE 'REG'; //registro esclavo SLAVE9 PIN 76 ISTYPE 'REG'; SLAVE = [SLAVE9..SLAVE0]; // EQUATIONS RST = 1; OE_RAM = 1; // deshabilitar uc // deshabilitar RAM MASTER.CLK =!KB_CLK; MASTER := [KB_DATA,SLAVE9..SLAVE1]; SLAVE.CLK = KB_CLK; SLAVE := MASTER; // Si una de las teclas del '0' al '9' es presionada entonces el display muestra el dígito // correspondiente TRUTH_TABLE([SLAVE7..SLAVE0] -> [RS_6..RS_0]) ^H16 -> ^B0010010; ^H1E -> ^B1011101; ^H26 -> ^B1011011; ^H25 -> ^B0111010; ^H2E -> ^B1101011; ^H36 -> ^B1101111; ^H3D -> ^B1010010; Lab. de Sistemas Digitales Silva/Aguilera/Freund -25-04-2005 Pág. 4 de 10

^H3E -> ^B1111111; ^H46 -> ^B1111011; ^H45 -> ^B1110111; END keyboard 5. Declaración de subsistemas en ABEL Como una manera de introducirse al diseño jerarquizado, se presenta a continuación un diseño sencillo, que permite mostrar por el display de 7 segmentos la cuenta de un contador de 4 bits, a través de la especificación de subsistemas. La figura 4 muestra un esquema con ambos módulos y sus conexiones. Es posible apreciar que el contador es en realidad de 16 bits, pero se utilizan los 4 últimos (más significativos) de manera de poder visualizar la cuenta en el display ( a qué frecuencia hay que ajustar el reloj de la tarjeta?). count3..count0 reloj restart usarcont clk rst cnten Contador q15 q14 q13 q12 D0 D1 D2 D3 q11..q0 Decodificador g f e d c b a D0 D1 D2 D3 D4 D5 D6 Ena usardec Figura 4: Interconexión de Subsistema Contador y Decodificador En lo que respecta al diseño jerárquico propiamente tal, el esquema anterior contempla la separación en dos módulos: contador y decodificador. Ambos módulos aparecen encerrados por un bloque que los contiene y que tiene distintos nombres a las señales de entrada y salida, según sea el caso. Estos bloques corresponden a la especificación que se encuentra en un nivel superior al nivel que ocuparía la descripción del contador y del decodificador. Los siguientes son los códigos en ABEL de las tres entidades. Nótese el empleo de las palabras reservadas fuctional_block, para declarar una instanciación, en un nivel superior de un módulo descrito en un nivel inferior; e interface, para declarar las entradas y salidas de una entidad inferior. Código en ABEL del sistema completo: module mod_prog title 'conexion de subsistemas contador y decoder'; Lab. de Sistemas Digitales Silva/Aguilera/Freund -25-04-2005 Pág. 5 de 10

unicont interface (clk, rst, cnten -> q15..q0); decoder interface (D3..D0 -> a,b,c,d,e,f,g); countera functional_block unicont; counterb functional_block unicont; display functional_block decoder; "entradas del circuito clock pin 9; restart pin 80; arcounter pin 52; "salidas del circuito S6..S0 pin 15, 18, 23, 21, 19, 14, 17 istype 'com'; equations "entradas countera.clk = clock; counterb.clk = countera.q10; countera.rst = restart; counterb.rst = restart; countera.cnten = arcounter; counterb.cnten = arcounter; "salidas S6=display.a; S5=display.b; S4=display.c; S3=display.d; S2=display.e; S1=display.f; S0=display.g; "conexiones inter modulos display.d3=counterb.q15; display.d2=counterb.q14; display.d1=counterb.q13; display.d0=counterb.q12; end Módulo de nivel inferior que implementa el contador module unicont interface (clk,rst,cnten -> q15..q0); title 'Contador universal de 16 bits'; "constantes X,C,Z =.X.,.C.,.Z.; "entradas clk pin; "Reloj de entrada rst pin; "Reset Asincrónico cnten pin; "Habilitar cuenta "salidas q15..q0 pin istype 'reg'; "Salidas del contador "conjuntos count = [q15..q0]; "Counter set "Ecuaciones para el funcionamiento MODE = [cnten]; HOLD = (MODE == [0]); UP = (MODE == [1]); Lab. de Sistemas Digitales Silva/Aguilera/Freund -25-04-2005 Pág. 6 de 10

equations when UP then count := count + 1 else when HOLD then count := count ; count.clk = clk; "Entrada de reloj count.ar = rst; "Entrada de reset end "Contar "mantener cuenta Módulo de nivel inferior que implementa el decodificador. module decoder interface (D3..D0 -> a,b,c,d,e,f,g); title 'Decodificador de siete segmentos' " a " --- " f g b " --- " e d c " --- D3..D0 pin; a,b,c,d,e,f,g pin istype 'com'; "definición de conjuntos o buses inputs = [D3,D2,D1,D0]; led = [a,b,c,d,e,f,g]; "Definición de constantes ON,OFF = 1,0; " Para LEDs de ánodo común L,H,X,Z = 0,1,.X.,.Z.; @dcset truth_table (inputs -> led) 0 -> [ ON, ON, ON, ON, ON, ON, OFF]; 1 -> [OFF, ON, ON, OFF, OFF, OFF, OFF]; 2 -> [ ON, ON, OFF, ON, ON, OFF, ON]; 3 -> [ ON, ON, ON, ON, OFF, OFF, ON]; 4 -> [OFF, ON, ON, OFF, OFF, ON, ON]; 5 -> [ ON, OFF, ON, ON, OFF, ON, ON]; 6 -> [ ON, OFF, ON, ON, ON, ON, ON]; 7 -> [ ON, ON, ON, OFF, OFF, OFF, OFF]; 8 -> [ ON, ON, ON, ON, ON, ON, ON]; 9 -> [ ON, ON, ON, ON, OFF, ON, ON]; 10 -> [ ON, ON, ON, OFF, ON, ON, ON]; 11 -> [OFF, OFF, ON, ON, ON, ON, ON]; 12 -> [ ON, OFF, OFF, ON, ON, ON, OFF]; 13 -> [OFF, ON, ON, ON, ON, OFF, ON]; 14 -> [ ON, OFF, OFF, ON, ON, ON, ON]; 15 -> [ ON, OFF, OFF, OFF, ON, ON, ON]; end Es necesario notar que en la especificación a un nivel superior las señales que van en la sección interface de cada instanciación de un determinado módulo son rebautizadas, y depende de la implementación a nivel superior el que estén disponibles o no para su visualización en la CPLD. Más referencias sobre el tema se encuentran en el capítulo 4 del Abel-HDL Reference Manual, disponible en la sección de Aplicaciones de la página de la asignatura. Lab. de Sistemas Digitales Silva/Aguilera/Freund -25-04-2005 Pág. 7 de 10

6. Reutilización de código en ABEL La principal ventaja de la estructuración del código ABEL en módulos es que permite la reutilización de diseños que ya han sido probados en su totalidad. Éstos pueden ser utilizados como parte de un diseño digital más complejo que, al momento de diseñarlo, sea subdividido en módulos que realicen tareas más específicas. Por ejemplo, en el punto 4, se tiene un código ABEL cuya tarea específica es la captura desde teclado, respetando las especificaciones del protocolo PS/2 de los códigos específicos de cada tecla (make code). Dicho código incluye una tabla de verdad (truth_table) con la cuál se implementa la visualización de la tecla presionada cuando corresponda a un número específico. Luego, puede aislarse la parte principal del código que realiza la captura propiamente tal y encapsularla como un módulo que entiende el teclado, de manera de incluirlo posteriormente en algún otro diseño donde se quiera interactuar con la tarjeta de desarrollo en forma externa (sin utilizar el GXSPORT). Una posible implementación de dicho módulo sería: MODULE keyboard TITLE 'keyboard' interface (KB_DATA,KB_CLK -> SLAVE7..SLAVE0); KB_DATA PIN; // datos seriales desde el teclado PS/2 KB_CLK PIN; // reloj desde el teclado PS/2 [MASTER9..MASTER0] NODE ISTYPE 'REG'; // registro maestro para guardar // los datos desde el teclado MASTER = [MASTER9..MASTER0]; [SLAVE9..SLAVE0] PIN ISTYPE 'REG'; //registro esclavo SLAVE = [SLAVE9..SLAVE0]; // EQUATIONS MASTER.CLK =!KB_CLK; MASTER := [KB_DATA,SLAVE9..SLAVE1]; SLAVE.CLK = KB_CLK; SLAVE := MASTER; END keyboard El módulo anterior puede ser utilizado entonces en cualquier diseño, de manera tal que podemos estar permanentemente capturando cualquier evento proveniente desde el teclado y decidir que hacer con él. Lab. de Sistemas Digitales Silva/Aguilera/Freund -25-04-2005 Pág. 8 de 10

Actividades Previas. a) Proponga un esquema similar al descrito en el punto 4 que permita enviar datos contenidos en un registro (paralelo) en forma serial por una sola línea de comunicación. Convierta dicho diseño en un módulo independiente, a través de la directiva interface de ABEL. b) Escriba el código ABEL necesario para armar el sistema que se muestra en la figura 5 en forma modular. Control del MUX (47) KB_DATA KB_CLK Controlador de Teclado PS/2 SCAN CODE 8 bits 4 bits Decodificador SIETE SEGMENTOS CLOCK (9) Módulo Paralelo a Serie. SALIDA SERIAL (76) : STROBE (46) Figura 5: Decodificador de Teclado PS/2 Cada módulo debe estar contenido en archivos independientes, y ser ensamblado en un módulo de nivel superior. Puede reutilizar códigos anteriores adaptándolos en forma conveniente. La salida del Mux podrán ser los 4 bits menos significativos (Control en 1) o los 4 bits más significativos de la entrada (Control en 0). El módulo paralelo serie debe funcionar en por lo menos dos modalidades: una, estando detenido, en cuyo caso la salida serial debe estar en alto, y otra corriendo en forma continua, donde la salida serial debe ser el scancode que se está visualizando en el display de siete segmentos, desde el bit menos significativo al más significativo. Dichas modalidades deben ser controladas a través del GXSPORT. Lab. de Sistemas Digitales Silva/Aguilera/Freund -25-04-2005 Pág. 9 de 10

En el Laboratorio. c) Utilice la característica de disparo single del osciloscopio para visualizar el formato de transmisión de datos del protocolo PS/2. Visualice presionando sólo una vez una determinada tecla y manteniéndola presionada. Muestre estas formas de onda a su ayudante o profesor. d) Implemente en la tarjeta de desarrollo el sistema contador - decodificador, dado en la sección de recursos de este laboratorio. Compruebe su correcto funcionamiento. e) Implemente el sistema descrito en el punto b) de la parte previa. f) Pruebe en forma independiente cada módulo descrito (y los que Ud. haya considerado conveniente agregar). g) Verifique el funcionamiento del sistema completo de acuerdo a las especificaciones señaladas. h) Modifique el diseño de manera que la salida serial sea por dos pines: el pin de datos, que comience con un bit de partida (start) en cero, luego siga desde el bit más significativo al menos significativo, agregue un bit paridad par y un bit de parada (stop) en uno; mientras que en el otro pin se incluya un reloj que permita distinguir los bits de datos, de forma similar al protocolo PS/2. Lab. de Sistemas Digitales Silva/Aguilera/Freund -25-04-2005 Pág. 10 de 10