Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Grupo3 Semaforo
Grupo3 Semaforo
Bogotá D.C
Profesor:
Departamento de Electrónica
Código en VHDL.
Para el control del tráfico se definieron 5 señales data que se encargan de realizar la
transición lógica de un estado a otro en función del estado anterior, teniendo en cuenta que se
requiere un almacenamiento de la información del estado anterior para condicionar el
siguiente, a partir de los cronómetros diseñados para cada led se construye un switch case la
cual es una estructura de control empleando la técnica “one hot”. Tanto para el estado de los
leds como para sus respectivos enables y señales de reset sincrónicas.
Simulación
Luego de desarrollar el código del semáforo, se realiza una simulación tipo testbench para
poder verificar su correcto funcionamiento, para ello se tuvo en cuenta la generación de los
diferentes pulsos de reloj cada 10ns, activar y desactivar la señal de reset ya que esta se encarga
de llevar todas las salidas y transiciones a valores definidos para poder comenzar en un punto
conocido, finalmente se inicia con la señal stby en 0 para observar el estado inicial únicamente
en amarillo, el cual se genera por defecto y es un paso previo al funcionamiento continuo del
semáforo. Adicionalmente se cambiaron los tiempos de espera para cada uno de los estados
con el fin de poder visualizar en la simulación el comportamiento de una manera sencilla, para
ello se realizó la siguiente modificación.
• Rojo: 2s equivalente a 4 pulsos de reloj.
• Rojo-amarillo: 500ms equivalente a 2 pulsos de reloj.
• Verde: 3s equivalente a 6 pulsos de reloj.
• Amarillo: 500ms equivalente a 2 pulsos de reloj.
Finalmente, se seleccionaron unas entradas y salidas internas de las entidades que permiten
verificar la transición entre estados tal es el caso de la entidad Traffic_light_controller la cual
contenía todos los valores fundamentales y no únicamente el encendido y apagado de los leds,
por ejemplo, los diferentes estados, los valores de enable, sync_clr y max_tick de los timers.
Figura 8. Código test_bench semáforo_cronometro_tb.
Figura 9. Simulación test_bench semáforo_cronometro_tb.
En la simulación se puede evidenciar las diferentes transiciones de la FSM, los cuales en el
momento que se encuentra en dicho estado la señal se mantiene en 1 y al cambiar esta regresa
a 0, se puede constatar que el tiempo para cada estado en el que se mantiene encendido cambia
según los pulsos que se predefinieron previamente.
Funcionamiento.
En el link indicado en la parte inferior, se muestra un vídeo con el funcionamiento en tarjeta,
en el que se asigna la señal de stby a uno de los interruptores y se utilizan tres puertos de
propósito general para la alimentación de los LEDs con cada uno de los colores que se observan
en un semáforo real.
Configurando en serie resistencias a él cátodo del LED y al ánodo la alimentación de puertos
de propósito general cuando el semáforo inicia el color que se visualiza iluminado es el rojo,
después de un periodo de 2 segundos, el patrón cambia a rojo y amarillo encendidos al mismo
tiempo, luego de 500ms se enciende el LED verde durante 3 segundos y finalmente se enciende
el amarillo por un periodo de 500ms. Cuando el interruptor stby se encuentra accionado, se
muestra únicamente la luz amarilla que representa el estado inicial del semáforo.
Link: https://youtu.be/Kf-s2oGTMp8
Conclusiones.
- El uso de máquinas de estado finito facilita la implementación del control de tráfico, ya
que permite identificar los estados de transición para determinados periodos de tiempo,
sin embargo, al ser “one hot” se encuentra condicionado a la estructura de control a
nivel de compuerta.
- Una aplicación en la vida real en la que se utiliza un estado inicial cuando esta activa
la señal stby ocurre cuando las vías se encuentran congestionadas y por medio de este
estado se permite el paso libre.
- El mod counter es aplicable a realizar distintas cuentas de forma simultánea, ya que
para el control de tráfico indica los distintos instantes de tiempo en los que se cambia
el estado.