Você está na página 1de 19

PASO 6. COMPONENTE PRÁCTICO.

SESIÓN 2

ANDRÉS CAMILO RINCÓN VALÉNCIA (CÓDIGO. 1113659572)

CURSO ELECTRÓNICA DIGITAL (243004) – GRUPO (26)

TUTORA: SANDRA MILENA GARCÍA

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD

CEAD PALMIRA

2018
ACTIVIDADES POR DESARROLLAR

El circuito mostrado en la figura 1 permite contar las personas que ingresan a una discoteca.

El diseño cuenta con dos contadores y un detector de flanco. El diseño se debe implementar usando
dos componentes y un archivo de alto nivel.

El sistema cuenta con una interfaz infrarroja, de tal forma que cada vez que una persona cruza la
puerta la Entrada infrarroja se pone en un 1 lógico por varios ciclos de reloj.

En las salidas (Unidades y Decenas) se observa la cantidad de personas:

• 00, 01, 02, …, 50, 51, 52, 53, …, 91,92, 93, etc.

Por ejemplo, si van 52 personas, la salida Unidades será igual 2 y la salida decenas igual a 5.

• Se debe hacer la implementación en VHDL del circuito propuesto.

• Adicionalmente se debe simular para comprobar que efectivamente el circuito cuentas las
veces que Entrada infrarroja se pone en un 1 lógico.
DESARROLLO.

Primero desarrollamos los tres bloques, contador de unidades, contador de decenas y el

componente de alto nivel que básicamente es el detector de flanco de subida.

Contador para el indicador de unidades:


Diseño: cómo se puede ver en el diagrama de bloques, nos encontramos con una entrada de reset,

una de enable, reloj, una variable de control para el multiplexor que es el enable del contador de

decenas, y la salida del contador que se conectará a la salida del archivo de alto nivel.

Se crean dos señales de control para el manejo de datos en el multiplexor y comparador y a manera

de buffers, el flip flop tipo D con enable, reset y activación en alto se diseña con la sentencia if,

básicamente se mira si las condiciones de activación son correctas y se verifica el valor de la salida,

de acuerdo a ésta información se resetea el contador, o se envía a la salida la suma de la cantidad

de personas detectadas por el sensor ubicado en el alto nivel.

En éste bloque se encuentra una instrucción que para el caso fue el más difícil de configurar, la

salida “salcomp” pues ésta es la encargada de hacer enable en el bloque contador decimal, uno de

los grandes problemas hallados era que éste enable no era preciso, pues al tratarse de un circuito

síncrono con entrada aleatoria, usar sólo este enable suponía que todas las entradas llegarían en el

mismo instante que el reloj, por esto, la salida del decimal cuándo se empezó a practicar, llegaba

a un valor de uno, mientras el unitario se encontraba en 9, debido a que se detectaba el 9, pero el

siguiente bloque cambiaba inmediatamente llegaba un flanco de subida en el reloj, finalmente se

decidió trabajar con la condición de igualdad a 9, especificando que otros valores significaban un

cero en dicho puerto de salida.

Finalmente, la salida del bloque que se calculó con una señal de proceso se envía al puerto de

salida.
Contador para el indicador de decenas:

Diseño: cómo se puede ver en el diagrama de bloques, tenemos una entrada de reloj, un enable

procedente del bloque contador unitario, un reset global, y una salida de tipo vector (4bits), se
decidió añadir otra variable de enable porque existía un error de disparo cuándo se pasaba de una

novena persona a una décima, como se explico en el anterior bloque, de ésta manera se diseñó una

condición doble para que el flip flop asigne la sumatoria a la salida. Esta doble condición viene

dada a que aumenta el contador decimal sólo si hay señal reloj en flanco de subida, y además si

hay un cambio en la señal de entrada del objeto de alto nivel, ésta última señal es el mismo enable

del bloque unidades.

De esta manera se pudo lograr exactitud en la salida del contador, pues si hay un retardo en la señal

de entrada global, se produciría un error en la salida decimal, pues ésta aumentaría paulatinamente

según la señal de reloj si la persona 9, 19, 29… etc. demoraba en cambiar su estado de ingresado

o no, es decir, una entrada 1 con un retardo superior. Con este arreglo se solucionó el inconveniente.

El esquema de funcionamiento es el mismo para el flip flop del contador de dígitos, sólo cambia

la doble condición elsif. Finalmente se asigna la salida del bloque a la salida global.
Archivo de alto nivel:

Diseño: primero se definen las entradas globales, reset, lectura de sensor infrarrojo, reloj, y las

salidas decena, unidad, cada una de 4 bits, seguidamente se definen cada uno de los dos

componentes de menor nivel, así como las entradas y salidas usadas en cada uno. Luego se añaden

señales para control interno, y se crea el detector de flanco de subida para la lectura del sensor

infrarrojo usando un flip flip tipo d diseñado con un ciclo if, luego, la salida se niega y se opera

lógicamente con la entrada d, el resultado se guarda en una variable de control y se envía como

enable a los dos bloques de mas bajo nivel. Finalmente se asignan todas las conexiones entre los

diferentes niveles, ya sea con puertos o variables de control.

El reset y la señal de reloj son las mismas para todos los bloques, se cambiaron los nombres de los

puertos para evitar bucles al compilar.


DIAGRAMA DE BLOQUES DEL CIRCUITO COMPLETO
SIMULACIÓN

Archivo de simulación diseñado:

Incluye la descripción de entradas y salidas del nivel superior, se hace un cambio de estado en la

entrada de sensor por un determinado periodo de oscilaciones, las salidas deben mostrar las sumas

correspondientes para unidades y decenas.


RESULTADOS:

La primera línea corresponde a la entrada del sensor infrarrojo, la segunda a la señal de reset, la
tercera a la señal de reloj, la cuarta al contador unitario, y la quinta al contador de decenas.

Momento en el que una décima persona entra y se reinicia a cero el contador unitario, y el de
decenas aumenta, con total precisión y sincronía gracias al arreglo diseñado.
Momento en que una 20va persona entra, el contador de unidades se reinicia a cero y el de
decenas aumenta a dos.

Momento en que la señal de reset reinicia de manera sincrónica ambos contadores.

Cómo se puede apreciar, se cumplen con todos los parámetros de diseño para un circuito

síncrono y funcional según las especificaciones de diseño, con lo cuál se da por cumplida en

un 100% la tarea propuesta.

Você também pode gostar