Aplicación de sistemas digitales
Enviado por Samuel Meneses • 24 de Febrero de 2020 • Tarea • 1.669 Palabras (7 Páginas) • 279 Visitas
Instituto Politécnico Nacional
[pic 1][pic 2]
Unidad Profesional Interdisciplinaria de Ingeniería y Ciencias Sociales y Administrativas
UPIICSA
Aplicación de sistemas digitales
Secuencia 1NM23
Meneses Gómez Daniel Samuel
Profesor: Palacios García Marcial
Planteamiento del problema
Diseñar un sistema secuencial sincrono modulo 8 ascendente que despliegue en binario los 7 estados, incluyendo como inicio de cuenta el numero 0. Cuando el sistema llega a su cuenta max. reiniciara la secuencia.
Determinar el diagrama de estados y tabla de verdad
Para los circuitos secuenciales ocuparemos tablas de transicion y tablas de exitacion. Las cuales nos sirven para representar el estado presente de nuestro circuito y el estado al que quremos que pase, en este sentido, al estado futuro. Para nuestro circuito ocuparemos flip flop tipo D y para nuestra tabla de exitacion tenemos que es un tipo de diagrama de bloques en el cual se representa los estados que tenemos y a los que queremos que llegue, ya sea mediante alguna variable externa o simplemente que haga la transicion automatica.
TABLA DE EXITACION
[pic 3]
Tabla de transicion de estados
Tabla de transicion | ||||||||
Presente | Futuro | Requeridos para Flip Flop tipo D | ||||||
Q2 | Q1 | Q0 | Q2 | Q1 | Q0 | Q2 | Q1 | Q0 |
0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 |
0 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 |
0 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 1 |
0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 0 |
1 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 |
1 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 0 |
1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
Dibujar secuencial resultante
[pic 4]
Escribir VHD
Para estos circuitos ocuparemos señales de frecuencia para que en el display de 7 segmentos nos despliegue nuestras combinaciones con cierto tiempo de retraso entre cada uno de las combinaciones. Para esto tendremos que definir una parte del codigo que estaremos ocupando para todos nuestros circuitos. Cabe mencionar que estos valores pueden cambiar dependiendo de la necesidad que se presente, esto es unicamente para la frecuencia que tendra nuestro circuito.
En este caso iniciaremos un proceso para introducir nuestra frecuencia:
PROCESS (CLK)
begin
IF CLK 'EVENT AND CLK='1' THEN
IF CONTADOR= "10111110101111000010000000" THEN -- DIVISION DE FRECUENCIA DE 2 SEG
DIVCLK<= (NOT DIVCLK);
CONTADOR<= "00000000000000000000000000";
ELSE CONTADOR<= CONTADOR + '1';
END IF;
...