Está en la página 1de 40

UNIVERSIDAD DEL CAUCA Ingeniera electrnica y telecomunicaciones

Laboratorio de digitales II II Periodo de 2013

INFORME PRACTICA 1: TAXIMETRO CON SENSOR DE LUZ Y PANTALLA LCD

PABLO TAFUR JESS EDUARDO FLORES Estudiantes:

Ing. FERNANDO A. URBANO M. Docente:

CIRCUITOS DIGITALES II INGENIERA ELECTRNICA Y TELECOMUNICACIONES FIET UNIVERSIDAD DEL CAUCA 2013

UNIVERSIDAD DEL CAUCA Ingeniera electrnica y telecomunicaciones


Laboratorio de digitales II II Periodo de 2013

3. TABLA DE CONTENIDO

2. RESUMEN 3 3. TABLA DE CONTENIDO....... 2 4. INTRODUCCIN 4 5. OBJETIVOS.. 5 6. DISCUSIN DE RESULTADOS...9 6.1 DESARROLLO DEL PROYECTO... 9 7. CONCLUSIONES... 39 8. REFERENCIAS.. 40

UNIVERSIDAD DEL CAUCA Ingeniera electrnica y telecomunicaciones


Laboratorio de digitales II II Periodo de 2013

2. RESUMEN

En el siguiente trabajo se mostrar el proceso de diseo e implementacin de un taxmetro que se realiz mediante el lenguaje de descripcin de hardware VHDL y su el montaje en la tarjeta FPGA del laboratorio. El taxmetro generara una tarifa de acuerdo al nmero de giros que genere la representacin de una llanta pequea que gira, el taxmetro debe generar la tarifa total una vez termine el viaje la cual se mostrara en una pantalla LCD, adicionalmente a esto el taxmetro va actualizando la tarifa constantemente con el fin de que se pueda mostrar en la LCD el valor a pagar al cliente. Una vez terminado un viaje el taxmetro podr hacer una nueva carrera. Para los diseos se utilizaron los programas Quartus II 12.1sp2 Web Edition, TKGate 1.8.7 herramienta libre de Linux que se utiliz para realizar los circuitos y son las imgenes que se presentan en cada uno de los puntos a realizar. Y se utilizan otras herramientas, las cuales son software libre para el diseo.

UNIVERSIDAD DEL CAUCA Ingeniera electrnica y telecomunicaciones


Laboratorio de digitales II II Periodo de 2013

4. INTRODUCCIN

Despus de adquirir conocimientos introductorios al mundo de los circuitos digitales en el primer curso de digitales I, pasamos a una nueva etapa que es conocer otras tcnicas que nos permiten disear e implementar circuitos digitales. Ahora pasamos a desarrollar mediante descripcin de hardware VHDL, de esta manera todas las implementaciones que realizbamos mediante circuitos combinacionales tales como compuertas lgicas, multiplexores, decodificadores y los circuitos secuenciales los desarrollamos ahora mediante VHDL, la descripcin de hardware nos permite hacer sntesis de circuitos digitales que mediante la metodologa en digitales I se tornaba muy complicado cuando los proyectos eran complejos, como veremos en este trabajo por ejemplo, la realizacin de un decodificador mediante compuertas digitales era algo complicado, pero en VHDL este trabajo se nos reduce a unas pocas lneas de cdigo descripcin hardware. Todos estos conocimientos aprendidos junto con el manejo de la herramienta de software Quartus ll de Altera y la herramienta de simulacin ModelSim seremos capaces de desarrollar este primer laboratorio de nuestro curso de digitales II en VHDL. Para disear nuestro proyecto es necesario, en primer lugar, hacer una interpretacin lgica de los requerimientos exigidos por quien plantee un problema en especial; en nuestro caso propusimos desarrollar e implementar un taxmetro. Para alcanzar nuestro objetivo implementaremos diferentes mdulos cada uno cumpliendo una funcin especfica para luego interconectarlos y obtener nuestro proyecto final. Para desarrollar nuestro laboratorio describimos cada mdulo mediante VHDL luego creamos el bloque funcional, finalmente creamos un proyecto final que va a contener todos los bloques listos para ser conectados a los diferentes perifricos.

UNIVERSIDAD DEL CAUCA Ingeniera electrnica y telecomunicaciones


Laboratorio de digitales II II Periodo de 2013

Antes de abordar nuestro proyecto en estricto sentido veamos los dispositivos electrnicos utilizados en nuestro diseo. 4.1 EL MODULO LCD

Las pantallas de cristal lquido lcd o cristal LCD para mensajes tiene la capacidad de mostrar cualquier carcter alfanumrico, permitiendo representar la informacin que genere cualquier equipo electrnico de una forma fcil y econmica. A continuacin se representa la descripcin de seales empleada por el modulo LCD as como el nmero de patillas ala que corresponde. pin 1 2 3 4 smbolo vss vdd V0 RS descripcin Patilla de tierra Patilla de alimentacin 5V Patilla del contraste Seccin del registro control/registro de datos R=0 registro de control R=1 registro de datos

de

R/W

7-14

D0-D7

Seal de lectura/escritura R/W=0 El modulo LCD es escrito R/W=1 el modulo LCD es ledo Seal de activacin del mdulo LCD E=0 modulo desconectado E=1 modulo conectado Bus de datos bi-direccional. Atreves de estas lneas se realiza la transferencia de informacin entre el modulo LCD y el sistema que lo gestiona.

UNIVERSIDAD DEL CAUCA Ingeniera electrnica y telecomunicaciones


Laboratorio de digitales II II Periodo de 2013

La LCD dispone de una zona de memoria interna no voltil llamada CGROM donde se almacena una tabla con los 192 caracteres que pueden ser visualizados. Cada uno de los caracteres tiene su representacin binaria de 8 bits. Para representar un carcter debe recibir por el bus de datos el cdigo correspondiente. Por ejemplo: A b 01000001

UNIVERSIDAD DEL CAUCA Ingeniera electrnica y telecomunicaciones


Laboratorio de digitales II II Periodo de 2013

La LCD para poderse poner en marcha tiene unos modos de funcionamiento estos son: 1. Modo comando 2. Modo carcter o dato 3. Modo de lectura del busy flag o lcd ocupada Nosotros vamos a enviar los datos en paralelo o sea los 8 bits al tiempo, a modo de ejemplo presentamos algunos comandos utilizados:

UNIVERSIDAD DEL CAUCA Ingeniera electrnica y telecomunicaciones


Laboratorio de digitales II II Periodo de 2013

4.2 SENSOR DE LUZ El sensor de luz tiene la capacidad de detectar un obstculo cuando se obstruye la lnea de vista que este tiene en la siguiente imagen se muestra un sensor a utilizar.

El montaje bsico lo podemos encontrar en el datashet del dispositivo

UNIVERSIDAD DEL CAUCA Ingeniera electrnica y telecomunicaciones


Laboratorio de digitales II II Periodo de 2013

5. OBJETIVOS
GENERAL Disear en vhdl, simular y montar los circuitos digitales propuestos en la tarjeta de Altium desing DE0.

ESPECIFICOS El manejo apropiado de la herramienta y de la descripcin del hardware (VHDL). La aplicacin de todos los conceptos y procedimientos de diseo aprendidos en clase. Disear mdulos que nos permitan dar una solucin a nuestro diseo.

6. DISCUSIN DE RESULTADOS Como trabajamos con el modulo LCD creamos una mquina de estados que gobierne el comportamiento de esta LCD, lo vamos a hacer atreves de unos mdulos que me permitan escribir sobre la pantalla. A continuacin un bosquejo del proyecto final con todos sus mdulos incluidos.

Vamos a proceder ahora con el anlisis individual de cada bloque y que funcin cumple.

UNIVERSIDAD DEL CAUCA Ingeniera electrnica y telecomunicaciones


Laboratorio de digitales II II Periodo de 2013

Como se nombr anteriormente trabajamos la LCD y para ello creamos una mquina de estados. Pasamos a analizar el bloque de la LCD.

Este bloque va a contener la salida que va directamente al mdulo LCD para su apropiado funcionamiento, pasemos a ver el cdigo en VHDL de este mdulo.

Esta entidad va a contener todas las salidas y entradas necesarias para ser conectadas con otros mdulos y la LCD. Miremos ahora la arquitectura:

UNIVERSIDAD DEL CAUCA Ingeniera electrnica y telecomunicaciones


Laboratorio de digitales II II Periodo de 2013

En la arquitectura definimos los estados para control de la LCD y la lgica secuencial con la seal de reloj que genera los pulsos. Una vez definimos nuestra lgica secuencial:

UNIVERSIDAD DEL CAUCA Ingeniera electrnica y telecomunicaciones


Laboratorio de digitales II II Periodo de 2013

En cada estado vamos a enviar los datos que la LCD necesita para poder escribir en ella o para poder enviarle un comando. Nosotros manejamos bsicamente tres funciones a realizar en la LCD porque eran los que bsicamente necesitbamos estos fueron: ESCRIBIR_CARACTER, SALTAR_LINEA y LIMPIAR_PANTALLA. Y adicionalmente a esto vamos a tener tres tipos de estado para controlar la LCD que son el preparar, escribir y actualizar en actualizar es cuando los datos se envan hacia la LCD para poder ser escritos y mostrados. Cada uno de los pasos se muestran en los estado y es importante conocer que comandos especficos o datos se van a enviar descuerdo al fabricante ose tenemos que mirar el datashet. Continuamos con el cdigo en VHDL:

UNIVERSIDAD DEL CAUCA Ingeniera electrnica y telecomunicaciones


Laboratorio de digitales II II Periodo de 2013

Una vez que se han terminado de escribir en la LCD, esta estar lista para recibir otro carcter o ejecutar un comando.

UNIVERSIDAD DEL CAUCA Ingeniera electrnica y telecomunicaciones


Laboratorio de digitales II II Periodo de 2013

Nuestra mquina de estados que genero el RTL de quartus II de altera fue el siguiente:

En esta mquina de estados se muestra claramente la descripcin que hicimos en el VHDL con las respectivas transiciones de estado. En la siguiente imagen mostramos como este mdulo se interconecta con la FPGA:

UNIVERSIDAD DEL CAUCA Ingeniera electrnica y telecomunicaciones


Laboratorio de digitales II II Periodo de 2013

Obviamente la conexin se hace conectando el modulo a los pines correspondientes de la FPGA a continuacin mostramos una imagen la cual nos sirvi para conectar el modulo adecuadamente.

Una vez que tuvimos este bloque que es l va a ir conectado a la LCD le agregamos la funcionalidad con otro bloque que me ejecutara comandos para enviarlos a el modulo anteriormente hecho o para el control del envi de datos. Este bloque lo llamamos LCD ESCRITOR. Y se muestra en la figura:

Este bloque se va a encargar de ejecutar las instrucciones que le indique al siguiente bloque construido anteriormente, la funcin del bloque LCD ESCRITOR es ejecutar el escribir un carcter, saltar una lnea o limpiar pantalla. Tambin estn los datos que son los que se envan al bloque LCD. Miremos la descripcin de hardware: primero que todo definimos como siempre nuestra entidad en este caso LCD_escritor con los puerto de entrada y salida similares al construido anteriormente:

UNIVERSIDAD DEL CAUCA Ingeniera electrnica y telecomunicaciones


Laboratorio de digitales II II Periodo de 2013

Ahora veamos la lgica combinacional:

UNIVERSIDAD DEL CAUCA Ingeniera electrnica y telecomunicaciones


Laboratorio de digitales II II Periodo de 2013

En esta parte del cdigo estamos describiendo la parte de la lgica combinacional continuemos con las ltimas lneas:

UNIVERSIDAD DEL CAUCA Ingeniera electrnica y telecomunicaciones


Laboratorio de digitales II II Periodo de 2013

En cada caso ejecutamos el comando necesario para poder escribir en la LCD, la mquina de estados que genero este bloque se muestra a continuacin:

Como podemos observar en el diagrama de estados solo tenemos 3 estados los cuales manipulamos convenientemente para leer un carcter es decir preparndolo y luego escribindolo.

UNIVERSIDAD DEL CAUCA Ingeniera electrnica y telecomunicaciones


Laboratorio de digitales II II Periodo de 2013

En la siguiente imagen se muestran nuestros bloques conectados:

Ntese que las entradas CLK y RESET se conectaron a un divisor de frecuencia para el correcto funcionamiento, la LCD para procesar los datos necesita de una frecuencia determinada para ser especficos para ejecutar las instrucciones necesita de un tiempo de 40 microsegundos esto lo explicremos a medida que vamos avanzando. Estos dos bloques mostrados son los que gobiernan el funcionamiento de la LCD junto con las seales de reloj y de reset que ms adelante las explicamos. Por ahora vamos a continuar con un nuevo bloque que lo denominamos MENSAJE TAXIMETRO este bloque es el que nos va a generar el mensaje en nuestra LCD.

UNIVERSIDAD DEL CAUCA Ingeniera electrnica y telecomunicaciones


Laboratorio de digitales II II Periodo de 2013

El bloque tiene como entradas la seal de reloj, el reset y el valor de la cifra en binario de 4 bits, adems tiene la entrada de distancia y tarifa que son entrada de 15 bits. Este es quiz el bloque ms importante en nuestro proyecto porque es quien generara los mensajes a mostrar en la LCD veamos cmo nos qued el VHDL y lo iremos explicando, primero definimos la entidad:

Creamos los tipos de la mquina de estados. Continuemos con el cdigo:

UNIVERSIDAD DEL CAUCA Ingeniera electrnica y telecomunicaciones


Laboratorio de digitales II II Periodo de 2013

UNIVERSIDAD DEL CAUCA Ingeniera electrnica y telecomunicaciones


Laboratorio de digitales II II Periodo de 2013

UNIVERSIDAD DEL CAUCA Ingeniera electrnica y telecomunicaciones


Laboratorio de digitales II II Periodo de 2013

UNIVERSIDAD DEL CAUCA Ingeniera electrnica y telecomunicaciones


Laboratorio de digitales II II Periodo de 2013

UNIVERSIDAD DEL CAUCA Ingeniera electrnica y telecomunicaciones


Laboratorio de digitales II II Periodo de 2013

UNIVERSIDAD DEL CAUCA Ingeniera electrnica y telecomunicaciones


Laboratorio de digitales II II Periodo de 2013

UNIVERSIDAD DEL CAUCA Ingeniera electrnica y telecomunicaciones


Laboratorio de digitales II II Periodo de 2013

En la anterior cdigo descrito es el ms largo y es donde se maneja la LCD en gran parte cada uno de los estados esta de forma clara. Para entender mejor este parte del bloque veamos el diagrama de estados que se muestra a continuacin

Ahora vamos a mostrar la integracin de los 3 bloques

UNIVERSIDAD DEL CAUCA Ingeniera electrnica y telecomunicaciones


Laboratorio de digitales II II Periodo de 2013

Como se puede observar vamos integrando nuestro proyecto por bloques ahora pasemos a analizar nuestro bloque el TACOMETRO que se muestra a continuacin:

Este bloque tacmetro va a tener unas entradas nueva carrera, finalizar carrera, y va a recibir la seal del sensor que lo generamos con un sensor de luz, veamos el VHDL para entender mejor esto, desarrollamos primero la entidad:

UNIVERSIDAD DEL CAUCA Ingeniera electrnica y telecomunicaciones


Laboratorio de digitales II II Periodo de 2013

UNIVERSIDAD DEL CAUCA Ingeniera electrnica y telecomunicaciones


Laboratorio de digitales II II Periodo de 2013

El tacmetro me asigna entre otras cosas la tarifa bsica que es un valor de 2000 pesos as como tambin la suma de la distancia la cual ser directamente proporcional al valor a pagar por el viaje la mquina de estados generada se muestra a continuacin:

UNIVERSIDAD DEL CAUCA Ingeniera electrnica y telecomunicaciones


Laboratorio de digitales II II Periodo de 2013

Una vez incluimos el bloque tacmetro va integrando nuestro proyecto final

Luego implementamos el bloque denominado binario_a_decimal_4_cifras que es el encargado de recibir la seal de 16 bits y convertirla a BCD, miremos el VHDL que tenemos las entradas de reloj y 4 entradas de 4 cifras que son las que nos van a servir para poder hacer el despliegue en el mdulo LCD.

UNIVERSIDAD DEL CAUCA Ingeniera electrnica y telecomunicaciones


Laboratorio de digitales II II Periodo de 2013

UNIVERSIDAD DEL CAUCA Ingeniera electrnica y telecomunicaciones


Laboratorio de digitales II II Periodo de 2013

Luego integramos este nuevo bloque a nuestros bloques ya creados y lo conectamos adecuadamente:

UNIVERSIDAD DEL CAUCA Ingeniera electrnica y telecomunicaciones


Laboratorio de digitales II II Periodo de 2013

Como ltimo bloque vamos a tener el divisor de frecuencia para cada bloque, hay que tener en cuenta que la LCD trabaja a 40 microsegundos para ejecutar algunas funciones por ello fue importante sacar este tiempo del reloj de la FPGA que es de 50Mhz

UNIVERSIDAD DEL CAUCA Ingeniera electrnica y telecomunicaciones


Laboratorio de digitales II II Periodo de 2013

UNIVERSIDAD DEL CAUCA Ingeniera electrnica y telecomunicaciones


Laboratorio de digitales II II Periodo de 2013

UNIVERSIDAD DEL CAUCA Ingeniera electrnica y telecomunicaciones


Laboratorio de digitales II II Periodo de 2013

Como se puede observar usamos diferentes tiempos para que cada bloque funcional pudiera llevar a cabo las funciones, el reloj de la LCD como tal es de 40 microsegundos el de la LCD escritor es un poco ms lento esto con el fin de que pueda realizar sus funciones y luego sean ledas correctamente por el LCD principal, y con los dems fuimos escogiendo un valor adecuado a modo de prueba y error hasta lograr el correcto funcionamiento sincronizado en funciones de todos los bloques conjuntamente. Veamos como quedo nuestro proyecto final:

UNIVERSIDAD DEL CAUCA Ingeniera electrnica y telecomunicaciones


Laboratorio de digitales II II Periodo de 2013

Por motivos de espacio en el grafico no hemos conectado las entradas principales que son NUEVA_CARRERA, FINALIZAR_CARRERA, y la entrada del sensor SENSOR_IN estas tres entradas me controlan el sistema junto con las entradas del reset que tampoco las conectamos pero que van conectados todas en comn para ser asignadas a un pulsador o al reset de la FPGA que me reinicia tambin el sistemas. La tarjeta FPGA cuenta con 2 seales de reloj de 50 MHz que van conectados a los pines mostrados en la imagen:

UNIVERSIDAD DEL CAUCA Ingeniera electrnica y telecomunicaciones


Laboratorio de digitales II II Periodo de 2013

7. CONCLUSIONES

Aprendimos a usar la pantalla LCD o modulo LCD para el despliegue informacin que nos pueda generar cualquier dispositivo o sensor. comprendimos la importancia de los lenguajes de descripcin de hardware en este caso (VHDL) y su potencialidad que nos permitieron desarrollar nuestro proyecto de una forma mucho ms sencilla y elegante a como lo hacamos con compuertas digitales lo que nos causaba complejidad.

Con VHDL se pueden hacer una gran cantidad de proyectos y es una forma de desarrollo muy importante en el mundo de la electrnica, por eso fue importante conocerlo. En este primer laboratorio se vio la aplicacin de la teora vista en las clases, todos los conceptos y procedimientos de diseo se ven reflejados en la solucin de problemas. Es de vital importancia conocer la teora de los circuitos secuenciales como mquinas de estado de Moore y de mealy estas nos permitieron llegar a nuestra solucin , sin este conocimiento no hubiramos llegado a una solucin como lo era la manipulacin de la LCD

Es de gran importancia el manejo de la herramienta de software Quartus ll, junto con el simulador MODELSIM que nos permite simular antes de montar los circuitos en la tarjeta. es una herramienta muy compleja que ofrece la manipulacin detallada de los circuitos digitales. El manejo de un lenguaje simblico, editor de formas de onda, compilador y simulador. Comprendimos el uso de dispositivos externos que pueden conectarse con la tarjeta FPGA y poder manipular la informacin en nuestro caso usamos el sensor. La modularidad que nos permite hacer la herramienta de quartus de altera II nos permite llegar a la solucin compleja, con cada mdulo fuimos integrando nuestro proyecto final.

UNIVERSIDAD DEL CAUCA Ingeniera electrnica y telecomunicaciones


Laboratorio de digitales II II Periodo de 2013

8. REFERENCIAS

[1] Disponible en Internet: [1.1] http://es.wikipedia.org/wiki/Puerta_l%C3%B3gica [1.2] http://lasclases.com/CircuitosLogicos/tema11.html [2] Luis Felipe De La Hoz Cubas, Mara Ilse Dovale Prez, Andrs Eduardo Manotas Arcieri, Circuitos Lgicos Combinacionales, Divisin de Ingenieras, Universidad del Norte, Barranquilla. [3] Urbano M., Fernando A. Compuertas lgicas. Circuitos Digitales I. Departamento de Telemtica, FIET. Ingeniera Electrnica y Telecomunicaciones. Universidad del Cauca. Popayn, Colombia. Mayo de 2010. [4] Urbano M., Fernando A. Diagramas de Karnaugh. Circuitos Digitales I. Departamento de Telemtica, FIET. Ingeniera Electrnica y Telecomunicaciones. Universidad del Cauca. Popayn, Colombia. Mayo de 2010.