CREACIÓN DE UN CARÁCTER CON UN MENSAJE EN UN CPLD:

 

Visualizar un mensaje fijo de 2 líneas en el módulo LCD de la tarjeta ‘TAD-XCV50’. Introduciendo en ese mensaje

un carácter propio.

Para comenzar abriremos el entorno ISE de XILINX y crearemos un nuevo proyecto. Con las especificaciones de nuestro CPLD

1

2

Ahora crearemos un archivo para el diagrama de estados el cual state diagram, el cual despues abriremso y se nos abrirá el STATECAD.

3

MAQUINA DE ESTADOS:

La máquina de estados que vamos a crear la basaremos inicialmente en la configuración del ejercicio de escribir en un lcd mediante un cpld.

Para comenzar nos basaremos en el conocimiento previo de cómo configurar todo el sistema para arrancar el lcd. A partir de aquí crearemos nuestro carácter.


El primer paso es seleccionar el estado para poder escribir en DDRAM:

Aquí vemos el modo registro activado y el código para enviar la inicialización en DDRAM.

Desde aquí iremos, mediante un contador del carácter, a la secuencia que creará nuestro carácter. Esto lo realiza de la siguiente manera:


En este diagrama vemos todo el proceso secuencial de creación de nuestro carácter. Esto va desde la orden de carácter (entradas a 0) el siguiente proceso será la configuración para la introducción de dato y la entrada en la CGRAM para poder entrar en la dirección para hacerlo.


En el estado36 vemos que ponemos el reloj del contador del carácter para manda la activación de la orden secuencial del mismo para crear una incrementación que luego trataremos como activador de estados.


En el estado37 habilitamos el LCD para comenzar una comunicación y lo ponemos en modo lectura, lo hacemos para comprobar el estado del LCD, si está o no disponible para que trabajemos sobre él.


Después de activar la entrada reloj del contador de carácter, nos cercioramos de que el LCD no esté ocupado. Esto, como ya lo hemos mostrado en otras ocasiones lo realizamos mediante un flag busy que en este caso será el estado de la entrada D7_I el cual estando a 0 pasará a otra tarea, mientras esté ocupado (1), esperará en ese estado y no realizará nada.

Comenzamos con el contador secuencial del carácter:

Primero pasaremos sobre un estado de transición que pondrá el sistema a 0, iremos a dos estados 41 y 40. Uno de ellos lo utilizaremos en modo registro(RS=1) y el otro en modo dato(RS=0):




El contador irá haciendo la secuencia entrando en el bucle de registro para ir a la dirección, al incrementarse apuntará a la función de dato para introducir el pixel especificado dentro del estado correspondiente a esa secuencia de conteo. Así lo irá haciendo hasta que termine la cuenta:




Inicializa el contador(impar)



Incrementa el contador(par)                    


                         Incrementa el contador(Impar)




                         


 

                        

                        

                        

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s