Anti-rebotes
Enviado por josebolillo • 4 de Septiembre de 2014 • Tesis • 444 Palabras (2 Páginas) • 311 Visitas
Asignatura:
Sistemas Digitales II
Reporte:
Practica #7 “Anti-rebotes”
Carrera:
Mecatrónica (área automatización)
Alumno:
Eric Jociel Valencia Trejo
Grupo:
MA03SM-11
Profesor:
Ing. Ricardo Francisco José Hernández Hernández
Objetivo
Diseñar un anti-rebote pueda estabilizar la señal de entrada para que nuestro receptor reciba una señal correcta, ya que en ocasiones una señal suele estabilizarse después de cierto tiempo, esto es el caso de interruptores mecánicos.
Diagrama de bloques
Desarrollo
Para elaborar el anti-rebote primero se analizo la función deseada y se desarrollo una tabla de los valores de entrada y salida,
En el software de Active HDL primeramente procedió a realizar la declaración de entidades para el código de descripción, que son el numero y nombre de cada una de las entradas o salidas; después se procedió a crear la arquitectura de la descripción basándonos en la función de un multiplexor para facilitar así, la obtención del funcionamiento de nuestra función de anti-rebote. Esta parte realizada es el bloque secuencial y combinacional.
Se declaro un proceso llamado “ff” que simulara nuestra parte de memoria de nuestra descripción, que contiene las señales de reloj, restablecimiento y suelen actualizar las entradas del bloque combinacional.
Después de construir el código de descripción se compilo la descripción para verificar que no hubiera ningún error, y se procedió a verifican los resultados mediante la opción “waveform” por medio de graficas de estados,
que se interpretan por medio de ‘1’ y ‘0’, de esta manera verificaremos los niveles alto o bajo de las salidas y entradas .
Posteriormente se hicieron comparaciones con respecto a la función a obtener; la simulación que se obtuvo en el software arrojo un resultado positivo.
Código de la descripción
use IEEE.STD_LOGIC_1164.all;
use IEEE.STD_LOGIC_arith.all;
use IEEE.STD_LOGIC_unsigned.all;
entity antirrebote is
port( reloj : in STD_LOGIC;
rest : in STD_LOGIC;
e : in STD_LOGIC;
q : out STD_LOGIC );
end antirrebote;
-architecture antirrebote of antirrebote is
signal qn,qp: STD_LOGIC;
signal stn,stp:STD_LOGIC_vector(1 downto 0);
signal tn,tp:STD_LOGIC_vector(8 downto 0);
begin fsmanti:process(e,qp,stp,tp) --quienes entran al proceso..--
begin case stp is
when "00"=>
qn<='0'; -- lo que se asigne en un estado se deve asignar a todos..--
tn<=(others
...