Instituto Polit�cnico Nacional
Instituto Politécnico Nacional
"La Técnica al Servicio de la Patria"

Boletín No. 64
1o. de enero de 2018




USO DE UN DISPLAY MATRICIAL DE 8x8 CON VHDL

 

Juan Antonio Jaramillo Gómez, Dr.
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo. , Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo. .
Mirna Salmerón Guzmán, M. en C.
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo. .
Brahim El Filali, Dr.
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.

Unidad Profesional Interdisciplinaria en Ingeniería
y Tecnologías Avanzadas
Instituto Politécnico Nacional

Resumen

En la vida hay que comunicarse a través de la información y esta necesita distintos medios para llevarse a cabo. En este artículo se presenta un dispositivo electrónico que realiza esta tarea, en un display matricial de 8x8, con envío de información en los renglones y control de barrido en las columnas. El arreglo matricial del dispositivo comercial tiene los ánodos en los renglones y los cátodos en las columnas. Se muestran 3 ejemplos de uso (imágenes fijas y en movimiento de símbolos y números), implementados en una tarjeta de desarrollo Nexys 2 con un FPGA y lenguaje descriptivo de hardware VHDL utilizando el programa ISE de Xilinx. Los códigos completos y los videos se muestran en ligas el final del documento.

Abstract

In life you have to communicate through information and it needs different means to be carried out. This article presents an electronic device that performs this task, using an 8x8 matrix display, with sending information in rows and control of sweeping in the columns. The matrix arrangement of the commercial device has the anodes in the rows and the cathodes in the columns. It shows 3 examples of use (fix and moving images of symbols and numbers), implemented in a Nexys 2 development board with an FPGA and VHDL hardware description language using the Xilinx ISE program. Full codes and videos are displayed in leagues at the end of the document.

 

I. Introducción

La visualización de información en displays es muy común para dar mensaje, avisos y anuncios, tanto para el entretenimiento, señalizaciones, indicaciones o el funcionamiento de algo. Existen distintos tipos de elementos de visualización (display) como los mostrados a continuación y los presentados en la figura 1, además de estar disponibles en distintos tamaños, formas, colores y tecnologías.

    • Display matricial
    • Display de cristal líquido (LCD, GLCD)
    • Display de segmentos (7-seg, 8-seg, 15-seg, 17-seg, etc.)
    • Display programable (PD)
    • Pantallas
    • Proyectores
    Figura 1. Distintos tipos de displays.

    Aquí se hará el uso de un display matricial de 8x8, por lo que la forma de utilizarlo comienza con saber qué tipo de display se tiene, uno de ánodo común o uno de cátodo común. Lo siguiente que hay que saber es su distribución de terminales, esta información se obtiene de las hojas de especificaciones del componente que se tenga, como los mostrados en la figura 2, que muestra la distribución de pines para cada tipo de configuración.

    Figura 2. Diagrama interno de un display matricial de 8x8.

    Lo último que hay que saber es si el display se conecta de forma directa o si el display tiene un controlador. En el primer punto se puede conectar en proto o en tarjeta de prototipado rápido o una placa de PCB. En el segundo hay que conocer el tipo de dispositivo controlador y en su caso, el protocolo de comunicación. Uno de los dispositivos más comunes es el MAX7219, que es un controlador serial y se puede conectar en cascada para formar una matriz más grande, mostrados en la figura 3.

    Figura 3. Tipos de arreglos y controlador de display matricial en PCB.

    El presente artículo muestra la implementación de imágenes fijas y en movimiento en un display matricial de 8x8 conectado directamente a la tarjeta de desarrollo Nexys 2, con un display hecho en prototipado rápido con wire solder en placa perforada. Los códigos o partes de estos pueden reutilizarse para implementar otras figuras en otras aplicaciones comerciales o industriales

    II. Desarrollo

    Entrando directamente en materia, se presentan los resultados en fotos y videos con ligas para la demostración del funcionamiento de tres códigos, también en ligas, que se implementaron en la tarjeta Nexys 2 y un display matricial de 8x8 como módulo periférico o módulo externo (ver figura 4), hecho en placa perforada y la técnica de “wire solder” que se acopla directamente a los puertos de la tarjeta. Las aplicaciones desarrolladas son:

      • 4 imágenes (flecha, rombo, signo de + y carita feliz)
      • Contador ascendente del 0 al 10
      • Imagen fija y flecha en movimiento izquierda o derecha con sonido
      Figura 4. Módulo periférico de display matricial de 8x8 en “wire solder”.

      Un display matricial puede mostrar una o varias imágenes fijas o imágenes en movimiento. Las imágenes pueden ser:

      • Símbolos
      • Números
      • Letras

      Una vez sabiendo lo que se desea mostrar se pasa al diseño de la(s) imagen(es), como se muestra en la figura 5, hay que elegir entre que se desean mostrar, sin olvidar que uno mismo es el diseñador.

      Figura 5. Se presentan dos diseños del número 1 y dos diseños de carita feliz.

      A continuación, se presentan los resultados de los diseños implementados, resaltando que los códigos y videos se muestran en ligas al final del artículo.

      El primer código implementado es una secuencia de símbolos mostrados un tiempo menos de un segundo y se ciclan. Los símbolos son rombo, sígno de más “+”, flecha hacia arriba y una carita feliz, como se muestra en la figura 6.

      Figura 6. Se presentan los símbolos del rombo, suma, carita feliz y flecha hacia arriba.

      El segundo código implementado es el corrimiento de los números del 0 al 10, como se puede observar en la figura 7.

      Figura 7. Se presentan tres de los once números implementados.

      En el tercer código se implementaron flechas en movimiento que corren de izquierda a derecha y de derecha hacia la izquierda, con dos distintos sonidos (beep) que cambian con respecto al sentido de la flecha. También cuenta con botones para quitar las flechas y poner un cuadrado con puntos en las esquinas, un botón para cambiar de sentido las flechas y un botón para apagar el sonido. Todo esto se aprecia directamente en los videos (símbolos: Disp8x8simb.mp4, números del 0 al 10: Disp8x8num.mp4, flechas: Disp8x8flechas.mp4) Dar click aquí para ver los videos. En la figura 8 se muestran las fotos de las secuencias de las flechas.

      Figura 8. Se presentan las imágenes del funcionamiento de las flechas, (arriba va a la izquierda, abajo va a la derecha).

      Por último, como ya se ha mencionado, al final del documento se encuentran los códigos implementados en ligas para su revisión, consulta o reciclaje de los códigos en listado de VHDL y el archivo de restricciones de usuario (UCF user constrain file).

      III. Conclusiones

      Se ha presentado la implementación de tres distintos códigos para el uso de un display matricial de 8x8 en un prototipado rápido, con códigos en VHDL y el UCF. Las fotos y los videos son la evidencia demostrativa de su funcionamiento. Los tipos de aplicación contemplan tanto imágenes fijas como en movimiento, mostrando símbolos, letras números y animaciones, y las aplicaciones dependen del usuario.

      IV. Anexos

       

      Referencias

      1. Haskell, Richard E. y Hanna, Darrin M., Digital Design using FPGA Boards VHDL, LBE Books, pp. 93-108, 203-209.

      2. Haskell, Richard E. y Hanna, Darrin M., Digital Design using FPGA Boards Verilog, LBE Books, pp. 109-119, 185-190.

      3. Reference manual Nexys 2 recuperado en octubre 2017, disponible en: http://www.digilentinc.com

      4. Teclado matricial y matriz de leds recuperado en octubre 2017, disponible en: http://www.embebidos-cidetec.com.mx/profesores/jcrls/doctos/, http://embebidos-cidetec.com.mx/profesores/jcrls/doctos/mtc_p8_2013.pdf