Sunteți pe pagina 1din 5

INFORME DE PRÁCTICA DE LABORATORIO Versión 1.

0
DEPARTAMENTO DE INGENIERÍA MECATRÓNICA Periodo 2019-2

Fontal Camilo, Moreno Andrés

Teclado
{u1802621, u1803069}@unimilitar.edu.co
Profesor: Martínez David

Abstract — For this practice a code is designed in VHDL for the implementation in a hardware (matrix keyboard) in such a way
that said code decodes the different keys that the matrix keyboard possesses, to finally be shown in a 7-segment display.

Keywords — CPLD, VHDL, matrix keyboard, decode

Resumen--Para esta práctica se diseña un código en VHDL para la implementación en un hardware (teclado matricial) de tal
forma que dicho código decodifica las diferentes teclas que posee el teclado matricial, para finalmente ser mostradas en un display
7 segmentos.

Palabras clave—CPLD, VHDL, teclado matricial, decodificar.

I. OBJETIVO
Diseñar un sistema digital secuencia para la decodificación de un teclado 4x4, por medio de un Complex Programmable
Logic Device CPLD.

II. INTRODUCCIÓN

U n teclado matricial es un simple arreglo de botones conectados en filas y columnas, de modo que se pueden leer varios
botones con el mínimo número de pines requeridos. Un teclado matricial 4×4 solamente ocupa 4 líneas de un puerto
para las filas y otras 4 líneas para las columnas. La implementación de un circuito que permita visualizar cada carácter del
teclado se realiza con el fin de perfeccionar el uso del lenguaje VHDL.  

III. MARCO TEÓRICO


Teclado matricial: Las aplicaciones con dispositivos digitales requieren en algunos casos el uso de teclas de entrada de
datos, para datos numéricos, funciones e incluso caracteres de texto. La opción de mayor practicidad es el uso de teclados
matriciales, estos consisten en un arreglo de pulsadores alineados en filas y columnas, minimizando el número de
conexiones eléctricas. En la ilustración 1 se puede ver la apariencia física de un teclado matricial de 4x4 y su equivalente
esquemático.[ CITATION Cla11 \l 9226 ]

Ilustración 1:Teclado Matricial

Los teclados matriciales pueden tener dimensiones mayores en función de la necesidad del desarrollador. Los teclados
especiales pueden ser fabricados con membranas plásticas con la cantidad de teclas y la distribución de las mismas, de tal
manera que suplan las necesidades del usuario. Sin embargo, los teclados 4x4 permiten hacer una interfaz lo
suficientemente completa para muchas de las aplicaciones. Los teclados matriciales funcionan activando una de 4 columnas
y revisando cuál de las filas se activan, este proceso determina cual es la tecla pulsada, de igual manera el análisis se puede
hacer invirtiendo las columnas con las filas.[ CITATION Cla11 \l 9226 ]

Dispositivos SPLD y CPLD: Dos de los principales tipos simples de dispositivos de lógica programable (SPLD) son la PAL
y la GAL. PAL significa dispositivo lógico de matriz programable (Programmable Array Logic) mientras que GAL
significa dispositivo lógico de matriz genérica (Generic Array Logic). Generalmente, una PAL es un dispositivo

Este documento corresponde a un informe de práctica de laboratorio de digitales presentado en la Universidad Militar Nueva Granada durante el
periodo 2018-2.
INFORME DE PRÁCTICA DE LABORATORIO Versión 1.0
DEPARTAMENTO DE INGENIERÍA MECATRÓNICA Periodo 2019-2

programable una sola vez (OTP, One-Time Programmable) mientras que una GAL es un tipo
de PAL, que es reprogramable.[ CITATION Olg \l 9226 ]

El término GAL es una designación originalmente utilizada por Lattice Semiconductor y posteriormente licenciada a otros
fabricantes. La estructura básica de los dispositivos PAL y GAL es una matriz AND programable junto con una matriz OR
fija, lo cual constituye una arquitectura básica de tipo suma de productos. Los dispositivos complejos de lógica programable
(CPLD, Complex Programmable Logic Device) son, básicamente, un único dispositivo con múltiples SPLD que
proporciona más capacidad, para diseños lógicos de mayor envergadura.[ CITATION Olg \l 9226 ]

PLD: La PROM es un dispositivo lógico programable (PLD, programmable logic device) combinacional. Un PLD
combinacional es un circuito integrado con compuertas programables divididas en un arreglo AND y un arreglo OR para
efectuar una implementación de suma de productos AND-OR. Hay tres tipos principales de PLD combinacionales, que
difieren en la colocación de las conexiones programables en
el arreglo AND-OR.

La ilustración 2 reproduce la configuración de los tres PLD. La memoria programable de sólo lectura (PROM) tiene un
arreglo AND fijo construido como decodificador y un arreglo OR programable. Las compuertas OR programables
implementan las funciones booleanas como suma de minitérminos.
El arreglo lógico programable (PAL, programmable array logic) tiene un arreglo AND programable y un arreglo OR fijo.
[ CITATION man \l 9226 ]

Ilustración 2: Dispositivos programables

CPLD: Un dispositivo lógico programable complejo es una combinación de una matriz AND / OR completamente
programable y un banco de macro celdas. La matriz AND / OR es reprogramable y puede realizar una multitud de funciones
lógicas. 
Las macro celdas son bloques funcionales que realizan una lógica combinatoria o secuencial, y también tienen la
flexibilidad adicional para la verdad o el complemento, junto con variadas rutas de retroalimentación. Tradicionalmente, los
CPLD han usado amplificadores de sentido analógicos para mejorar el rendimiento de sus arquitecturas.  Este aumento de
rendimiento se produjo a costa de requisitos actuales muy altos.

Los CPLD CoolRunner ™ -II , creados por Xilinx, utilizan un innovador núcleo totalmente digital para lograr los mismos
niveles de rendimiento con requisitos de energía extremadamente bajos. Esto permite a los diseñadores utilizar la misma
arquitectura CPLD tanto para diseños de alto rendimiento como de bajo consumo.
La eliminación de los amplificadores de detección analógicos también hace que la arquitectura sea escalable, lo que permite
una reducción agresiva de los costos y una mejora de las funciones con cada generación sucesiva de procesos.[ CITATION
xil \l 9226 ]
INFORME DE PRÁCTICA DE LABORATORIO Versión 1.0
DEPARTAMENTO DE INGENIERÍA MECATRÓNICA Periodo 2019-2

Ilustración 3: CPLD

Ilustración 4: CoolRunner II

Los CPLD son la evolución de lo que fueron los PLD, circuitos con el mismo funcionamiento, pero más simples.

VHDL: Es un lenguaje de especificación definido por el IEEE (Institute of Electrical and Electronics Engineers)
(ANSI/IEEE 1076-1993) utilizado para describir circuitos digitales y para la automatización de diseño electrónico. VHDL
es acrónimo proveniente de la combinación de dos acrónimos: VHSIC (Very High Speed Integrated Circuit) y HDL
(Hardware Description Language). Aunque puede ser usado de forma general para describir cualquier circuito digital se usa
principalmente para programar PLD (Programable Logic Device - Dispositivo Lógico Programable), FPGA (Field
Programmable Gate Array), ASIC y similares.

Originalmente, el lenguaje VHDL fue desarrollado por el departamento de defensa de los Estados Unidos a inicios de los
años 80 basado en el lenguaje de programación ADA con el fin de simular circuitos eléctricos digitales. Posteriormente se
desarrollaron herramientas de síntesis e implementación en hardware a partir de los archivos VHD. Otros métodos para
diseñar circuitos son la captura de esquemas (con herramientas CAD) y los diagramas de bloques, pero estos no son
prácticos en diseños complejos.[ CITATION wik \l 9226 ]

IV. MATERIALES
1) CPLD (CoolRunner II).
2) Teclado matricial.
3) Resistencias 1KΩ.
INFORME DE PRÁCTICA DE LABORATORIO Versión 1.0
DEPARTAMENTO DE INGENIERÍA MECATRÓNICA Periodo 2019-2

V. DESARROLLO DE LA PRÁCTICA
Diseñar e implementar un hardware en VHDL (Brown & Vranesic, 2005), para la CPLD de tal forma que se
decodifiquen las teclas de un teclado matricial 4x4.

El programa implementado debe presentar en un display de 7 segmentos la respectiva tecla o carácter que sea presionada en
el teclado, Identificar los dígitos del 0 al 9, y las letras A, B, C, D y en cualquier otro caso o estado (múltiples teclas al
tiempo), el display debe estar apagado.

Ilustración 5: Librerías y declaración de variables VHDL

Ilustración 6: Asignación de los caracteres.


INFORME DE PRÁCTICA DE LABORATORIO Versión 1.0
DEPARTAMENTO DE INGENIERÍA MECATRÓNICA Periodo 2019-2

Ilustración 7: Configuración display.

VI. CONCLUSIONES

1) Con el desarrollo de la practica se logró comprender como está conformada y cómo funciona una CPLD.

2) Se comprendió como esta estructurado el lenguaje VHDL, además de cómo se realiza la respectiva programación de
este.

3) Se estableció la conexión entre hardware y software con la ayuda del CPLD, así como se pudo comprender y analizar
como esta conformado y como es el funcionamiento de un teclado matricial.

4) Se mejoraron las habilidades para el diseño, análisis e implementación de circuitos digitales.

VII. REFERENCIAS

[1] Clavijo, «LAboratorios UMNG,» 2011. [En línea].


[2] O. Morales, «LÓGICA PROGRAMABLE: DISPOSITIVOS SPLD Y CPLD».
[3] mano, «2003».
[4] «xilinx,» xilinx, [En línea]. Available: https://www.xilinx.com/products/silicon-devices/cpld/cpld.html.
[5] «wikipedia,» [En línea]. Available: https://es.wikipedia.org/wiki/VHDL.
[6] Floyd, 2006.

S-ar putea să vă placă și