Vous êtes sur la page 1sur 3

Nombre de la Asignatura Alumnos Nombre de la Prctica

Nmero de Prctica 2

DISPOSITIVOS PROGRAMABLES AVANZADOS

CONTROL DE UN ENCONDER CON FPGAS Duracin 4 horas

OBJETIVO Disear e implementar el control del encoder de la tarjeta SPARTAN 3A, mediante su programacin en VHDL. EQUIPO Y MATERIALES Software: ACTIVE HDL 7.1, ISE 10.1 Hardware: SPARTAN 3A METODOLOGA Para la realizacin de esta prctica necesitamos empezar a comprender que elementos nos sern tiles para poder realizar esta funcin, los elementos que necesitamos son: BASE DE TIEMPO FILTRO DETECTOR DE GIRO DETECTOR DE VUELTAS CONTADOR DE VUELTAS

Con estos elementos ya en mente comenzamos diseando uno a uno cada parte para que cuando estuvieran listas juntarlas y hacer que funcionen sncronamente.

FIG. 1 ELEMENTO DE MAYOR JERARQUA DEL CONTROL DEL ENCODER

FIG. 2 ACONDICIONAMIENTO DE LAS SEALES DE ENTRADA Y SU PROCESAMIENTO. Antes de empezar a contar las vueltas, detectar el giro o cualquier cosa se debe hacer un filtro digital para que la FPGA empieze a reconocer las seales del encoder un tiempo despus de que se haya detectado un cambio de estado en estas seales. Esto debido al ruido mecnico que existe en el encoder, ya que si se hace una recepcin y procesamiento de estas seales en el momento en el que ocurren podemos encontrar estados de incertidumbre, por lo que podemos obtener datos equivocados los cuales no garantizan el correcto anlisis de las seales. Para hacer este filtro necesitamos de una base de tiempo, la cual nos diga cuando es lo momento en el que los datos son confiables para su lectura y el filtro que va a enviar la misma seal que entra slo que hasta el momento en el que la base de tiempo de la seal.

FIG. 3 ACONDICIONAMIENTO DE LA SEAL A (EL DE LA SEAL B ES IGUAL). Para disear el bloque que detecta la cuenta utilizamos las seales que van a entrar al encoder llamadas A y B, el clock de la tarjeta (CLK), el reset maestro (RST) y como salida encontramos una HC de aviso de deteccin de cuenta.

La deteccin de la cuenta se hace mediante una operacin XOR entre la seal A y B, al comenzar a girar el encoder

las seales A y B empezarn a cambiar entre 0 y 1 (valores lgicos) alternadamente, por lo que al hacer esta operacin podemos darnos cuenta de que ha comenzado a girar el encoder. El bloque de la deteccin de giro se dise con 4 entradas, las mismas que el detector de cuenta y como salida tendremos un 0 o 1, el giro en sentido de las manecillas del reloj nos dar un 1 y el giro en contra de las manecillas del reloj nos entregar un 0. Este proceso es realizado con una operacin lgica AND entre las seales del encoder A y B. La parte del conteo de las vueltas se hace en el mdulo CONTADC, en la cual tiene como entradas como siempre un CLK, RST, adems de H que es la salida de detcuenta, y AD que es la salida S de detecgiro, esto para poder hacer una suma o una resta de las vueltas que lleva el encoder dependiendo del sentido de giro que se tenga.

FIG. 4 CONTROL DEL ENCODER MEDIANTE UN DETECTOR DE GIRO, DETECTOR DE VUELTAS Y UN CONTADOR DE VUELTAS. CONCLUSIONES Con la realizacin de esta prctica pudimos observar paso a paso el proceso que se debe llevar a cabo para describir hardware mediante el uso del lenguaje de programacin VHDL, en el cual primero se debe hacer un diagrama de nuestro componente principal, identificando las entradas y salidas principal, y con esto ir diseando cada uno de los elementos que lo conformarn. El proyecto funcion adecuadamente como se puede observar en el video adjunto.