Está en la página 1de 7

DISEO DE CIRCUITO PARA CONTROL DIGITAL DE SEMFORO

Leonardo Erazo 2070251 Jonathan Zapata 2070308 Alejandro Pazos 2086447


Resumen El control de trfico en grandes urbanizaciones es muy importante debido al elevado nmero de vehculos que transitan. En este artculo se muestra el diseo, la simulacin y la implementacin de un sistema capaz de controlar las luces de trfico o semforos para permitir un trnsito secuencial y evitar las congestiones vehiculares. Palabras claves Semforos, Luces, Peatn, Maquina de Estados, Sensores, Pulsadores.
I.

extender por otro periodo de tiempo igual, pero lo har slo una vez y luego se volver a los ciclos normales. d) Las luces de peatn solo se encienden despus de que ha pasado el intervalo verde de la calle principal y si se ha presionado el pulsador respectivo en la segunda mitad del intervalo verde principal. Solicitudes de peatn hechas en otros intervalos de tiempo, no sern consideradas. Ahora, como no se dispone de una lmpara adicional para el efecto, simplemente se usar la convencin de encender simultneamente las luces de color rojo y amarillo de todos los semforos para habilitar el paso peatonal. e) Para atender una solicitud de peatn, el sistema va a amarillo en la va principal y rojo en la secundaria durante un tiempo (T2 de 2 a 4segundos) y luego si, se enciende la luz de peatn (todos los semforos en rojo y amarillo) durante un intervalo de tiempo (T1). Al final de este intervalo, el sistema pasar a verde en la va secundaria.

INTRODUCCIN

n este documento se presenta el diseo, y los resultados de emulacin de un sistema secuencial capaz de controlar la luces de 4 semforos para regular el trnsito de una calle principal y una calle secundaria. Adems en las esquinas formadas por la interseccin de la calle principal y la calle secundaria se colocan 4 pulsadores con el objetivo de proporcionarle tiempo al peatn para que cruce las calles. Tambin en la va secundaria hay 2 sensores para detectar el cruce de carros y definir si se permite trnsito en la va secundaria o se extiende el trnsito en la va principal. II. PROBLEMA a) Disear un circuito secuencial sincrnico (ASM) para controlar el trfico vehicular en la interseccin de una calle principal con una calle secundaria, con pulsadores en la calle principal para solicitar acceso peatonal y con sensores de trfico ubicados en la calle secundaria, para definir prioridades y tomar decisiones en el cruce, como se ha diagramado en la figura 1. b) Normalmente la calle principal tiene un intervalo de tiempo verde (2 * T1) y la calle secundaria tiene un intervalo de tiempo verde (T1 de 10 a 20 segundos). c) Si el sensor de trfico detecta vehculos cuando est a punto determinar el ciclo de la verde secundaria, ste se

Figura1. Diagrama esquemtico del cruce vehicular a controlar.

f) Por ltimo, como sucede a menudo en la mayora de las ciudades, a altas horas de la noche o cuando por medio de un interruptor lo decida el administrador del sistema, las luces de la calle principal titilarn en amarillo y simultneamente las de la calle secundaria en rojo, con un

intervalo de tiempo de un segundo tanto para los periodos de encendido como de apagado. g) Emular el estado de los semforos, con diodos emisores de luz (Leds). h) Disear y simular circuito con edicin en modo grfico y/o en modo texto (AHDL) con software MAX + plus II de ALTERA, debidamente licenciado. i) Montar el circuito con integrados de las familias TTL, CMOS o con PLDs de los existentes en el laboratorio y otros elementos requeridos. III. DISEO El diseo del sistema capaz de controlar las luces de trfico se basa principalmente en el diagrama de bloques de una mquina de estados algortmica. En la figura 2 se muestra el diagrama de bloques del sistema utilizado en este proyecto. La unidad de control es la encargada de definir el cambio de estados dependiendo de las entradas provenientes de la unidad operativa, de los usuarios, de los sensores y del operador. La unidad operativa en este proyecto es la que se encarga del conteo y de la temporizacin de los ciclos necesarios para atender un estado. La adecuacin de entradas se utiliza para poder atender la solicitud del peatn en el momento estipulado. Finalmente la visualizacin de datos ayuda a indicar el tiempo que transcurre durante el estado actual.
Ent radas de Cont rol Salidas de Cont rol

Figura3. Diseo de la Unidad Operativa.

El temporizador T1 se muestra en la figura 4, el cual est formado por 1 contador binario de 6 bits (T1), implementado en QUARTUS con las mega-funciones. Este contador vara dependiendo del valor que tenga la entrada DIPSWITCH la cual es de 4 bits, por lo tanto T1 tendr un valor de 10 ms el valor decimal del DIPSWITCH. Ejemplo si el DIPSWITCH tiene un valor de 5, entonces T1=10+5=15, por lo tanto proporciona 15 segundos. Como el valor mximo de T1 es 20 segundos, el valor mximo del DIPSWITCH ser 10, para valores mayores la maquina no funciona.

Figura4. Diseo del temporizador T1.

UNIDAD DE CONTROL
Seales De Cont rol
Ent radas de Cont rol Adecuadas

ADECUACION DE ENTRADAS

VISUALIZAR DATOS

UNIDAD OPERATIVA

El bloque VARIAT es un sistema combinacional, originado a partir de una tabla de verdad que tiene como entradas, las salidas del contador T1 y las entradas del DIPSWITCH. Este bloque es implementado en QUARTUS con el lenguaje AHDL, utilizando las ecuaciones lgicas proporcionadas por la tabla de verdad. A continuacin se muestra el programa implementado en AHDL:

Seales de Est ado

Salidas de Dat os

Figura2. Diagrama de bloques del sistema.

IV. DISEO DE LA UNIDAD OPERATIVA En este sistema la unidad operativa es la que se encarga de realizar el conteo del tiempo que necesita cada semforo para cambiar de estado, por lo tanto se ha diseado 2 temporizadores como se muestran en la figura3, T1 es un temporizador variable de 10 a 20 segundos y T2 es un temporizador fijo de 2 segundos.

SUBDESIGN VARIAT( C5,C4,C3,C2,C1,C0,D3,D2,D1,D0: INPUT; ST1,S2T1: OUTPUT;) BEGIN ST1= (!C5&!C4&C3&!C2&C1&!C0&!D3&!D2&!D1&!D0)# (!C5&C4&!C3&!C2&C1&!C0&D3&!D2&!D1&!D0)# (!C5&C4&!C3&!C2&!C1&!C0&!D3&D2&D1&!D0)# (!C5&!C4&C3&C2&!C1&!C0&!D3&!D2&D1&!D0)# (!C5&C4&!C3&C2&!C1&!C0&D3&!D2&D1&!D0)# (!C5&!C4&C3&C2&C1&!C0&!D3&D2&!D1&!D0)# (!C5&!C4&C3&!C2&C1&C0&!D3&!D2&!D1&D0)# (!C5&C4&!C3&!C2&C1&C0&D3&!D2&!D1&D0)# (!C5&C4&!C3&!C2&!C1&C0&!D3&D2&D1&D0)# (!C5&!C4&C3&C2&!C1&C0&!D3&!D2&D1&D0)# (!C5&!C4&C3&C2&C1&C0&!D3&D2&!D1&D0); 2

S2T1= (!C5&C4&!C3&C2&!C1&!C0&!D3&!D2&!D1&!D0)# (C5&!C4&!C3&C2&!C1&!C0&D3&!D2&!D1&!D0)# (C5&!C4&!C3&!C2&!C1&!C0&!D3&D2&D1&!D0)# (!C5&C4&C3&!C2&!C1&!C0&!D3&!D2&D1&!D0)# (C5&!C4&C3&!C2&!C1&!C0&D3&!D2&D1&!D0)# (!C5&C4&C3&C2&!C1&!C0&!D3&D2&!D1&!D0)# (!C5&C4&!C3&C2&C1&!C0&!D3&!D2&!D1&D0)# (C5&!C4&!C3&C2&C1&!C0&D3&!D2&!D1&D0)# (C5&!C4&!C3&!C2&C1&!C0&!D3&D2&D1&D0)# (!C5&C4&C3&!C2&C1&!C0&!D3&!D2&D1&D0)# (!C5&C4&C3&C2&C1&!C0&!D3&D2&!D1&D0); END; Donde el smbolo & representa una compuerta AND, el smbolo # representa una compuerta OR y el smbolo ! representa una compuerta NOT. [1] El temporizador T2 es un contador binario de 2 bits, tambin es implementado en QUARTUS con las megafunciones y tiene un valor fijo de 2 segundos.

Luz Peatn Semforo Semforo Semforo Semforo Semforo Semforo Semforo Semforo Semforo Semforo Semforo Semforo

Habilita Pulsador para el Peatn Luz Roja 1 calle Principal Luz Amarilla 1 calle Principal Luz Verde 1 calle Principal Luz Roja 1 calle Secundaria Luz Amarilla 1 calle Secundaria Luz Verde 1 calle Secundaria. Luz Roja 2 calle Principal Luz Amarilla 2 calle Principal Luz Verde 2 calle Principal Luz Roja 2 calle Secundaria Luz Amarilla 2 calle Secundaria Luz Verde 2 calle Secundaria.
Tabla 2. Salidas de la unidad de Control.

P R1 A1 V1 R2 A2 V2 R11 A11 V11 R21 A21 V21

- Diagrama de flujo. En el anexo 1 se muestra el diagrama de flujo diseado para la implementacin del proyecto. - Diseo de la mquina de estados. En esta parte se disea la FSM usando el diagrama de estados y utilizando una maquina tipo MOORE, como se muestra en la figura5. Las entradas tiene el siguiente orden: 2T1,T1,T2,SC,SP,NOCHE

V. DISEO DE LA UNIDAD DE CONTROL Para el diseo de la unidad de Control (UC) se utiliza una mquina de estados Finita (FSM) y se realizan los siguientes pasos: - Identificar Entradas. En la tabla 1 se muestran las entradas de control que provienen del operador, de los usuarios, de los sensores y las seales estado que vienen de la unidad operativa. Origen Seal de reloj Operador Sensor Sensor Sensor Usuario Usuario Usuario Usuario Unidad Operativa Unidad Operativa Unidad Operativa Descripcin Ciclo de la FSM Para Reiniciar Estado Nocturno Detectar vehculo en la secundaria Detectar vehculo en la secundaria Pulsador para el Peatn Pulsador para el Peatn Pulsador para el Peatn Pulsador para el Peatn Conteo de 2seg Conteo de 10 a 20 Seg Conteo de 20 a 40 seg IN CLOCK RESET NOCHE SC1 SC2 SP1 SP2 SP3 SP4 T2 T1 2T1

Figura5. Diagrama de estados, maquina MOORE.

Las salidas se muestran en la tabla 3. XX RT1 RT2 P R1*R11 A1*A11 V1*V11 R2*R21 A2*A21 V2*V21 X1 0 1 0 0 0 1 1 0 0 X2 0 1 1 0 0 1 1 0 0 X3 1 0 0 0 1 0 1 0 0 X4 0 1 0 1 1 0 1 1 0 X5 1 0 0 0 1 0 0 1 0 X6 0 1 0 1 0 0 0 0 1 X7 1 1 0 0 1 0 1 0 0 X8 1 1 0 0 0 0 0 0 0

Tabla 1. Entradas de la unidad de Control.

- Identificar Salidas. En la tabla 2 se muestran las salidas de control que activaran o desactivaran la luces de los semforos, y las seales de control que cargaran los respectivos temporizadores. Destino T1 T2 Descripcin Carga Contador Carga Contador OUT RT1 RT2 3

Tabla 3. Valor lgico de las salidas de la unidad de Control.

Para la implementacin en QUARTUS se utiliza el lenguaje AHDL el cual se muestra a continuacin.

SUBDESIGN CONTROL( CLK,RST,2T1,T1,T2,SC,SP,NOCHE : INPUT; RT1,RT2,P,R1,A1,V1,R2,A2,V2 : OUTPUT;) VARIABLE % estado salida % % actual actual % SS: MACHINE OF BITS ( RT1,RT2,P,R1,A1,V1,R2,A2,V2) WITH STATES ( S1=B"010001100", % LUZ VERDE CALLE PRINCIPAL% S2=B"011001100", % HABILITA PULSADOR PEATON% S3=B"100010100", % SOLICITUD DEL PEATON% S4=B"010110110", % LUCES PARA EL PEATON% S5=B"100010010", % LUZ AMARILLA% S6=B"010100001", % LUZ VERDE CALLE SECUNDARIA% S7=B"110010100", % LUCES PARA LA NOCHE ENCENDIDO% S8=B"110000000", % LUCES PARA LA NOCHE APAGADO% S9=B"100010010");% LUZ AMARILLA% BEGIN SS.CLK=CLK; SS.RESET=RST; TABLE % estado entradas estado % SS, 2T1,T1,T2,SC,SP,NOCHE => SS; S1, X,0,X,X,X,0 => S1; %VERDE CALLE PRINCIPAL% S1,X,1,X,X,X,0 => S2; %PASA A HABILITAR PULSADOR PEATON% S1,X,X,X,X,X,1 => S7; %PASA A ESTADO NOCTURNO% S2,0,X,X,X,X,X => S2; %HABILITA PULSADOR PEATON% S2,1,X,X,X,1,X => S3; %PASA A SOLICITUD DEL PEATON% S2,1,X,X,1,0,X => S5; %PASA A AMARIILLO% S2,1,X,X,0,0,X => S1; %PASA NUEVAMENTE VERDE CALLE PRINCIPAL% S3,X,X,0,X,X,X => S3; %LUCES PARA MOSTRAR SOLICITUD DEL PEATON% S3,X,X,1,X,X,X => S4; %PASA A LUCES PARA EL PEATON% S4,X,0,X,X,X,X => S4; %LUCES PARA EL PEATON% S4,X,1,X,0,X,X => S1; %VERDE CALLE PRINCIPAL% S4,X,1,X,1,X,X => S5; %PASA A AMARILLO% S5,X,X,0,X,X,X => S5; %LUCES EN AMARILLO% S5,X,X,1,X,X,X => S6; %PASA A VERDE CALLE SECUNDARIA% S6,X,0,X,X,X,X => S6; %VERDE CALLE SECUNDARIA% S6,X,1,X,X,X,X => S9; %PASA A AMARILLO% S7,X,X,X,X,X,X => S8; %ESTADO NOCHE LUCES ENCENDIDAS% S8,X,X,X,X,X,1 => S7; %ESTADO NOCHE LUCES APAGADAS% S8,X,X,X,X,X,0 => S1; %PASA A VERDE CALLE PRINCIPAL% 4

S9,X,X,0,X,X,X => S9; %LUCES EN AMARILLO% S9,X,X,1,X,X,X => S1; %PASA A VERDE CALLE PRINCIPAL% END TABLE; END; Despus de realizar la sintetizar la unidad de control se proporciona un bloque como se muestra en la figura 6. En la parte izquierda estn las entradas de la unidad de control y en la parte derecha estn las salidas. Para las salidas se observa que no se encuentran las salidas R11, A11, V11, R21, A21 y V21, esto se debe a que el valor de las salidas son iguales a R1, A1, V1, R2, A2 y V2 respectivamente, por lo tanto no hay necesidad de crear nuevas salidas.

Figura6. Bloque de la Unidad de Control.

VI. DISEO DE LA ADECUACIN DE ENTRADAS La adecuacin de entradas se disea principalmente para mantener activo el pulso generado por los pulsadores del peatn, ya que si no se hiciera esto, cuando el intervalo verde de la calle principal fuese a terminar, la maquina no obtendra la entrada para la peticin del peatn si esta se gener mucho antes del cambio de estado. Se utiliza un flipflop. VII. DISEO DEL VISUALIZADOR DE DATOS El visor de datos se encarga de mostrar el tiempo que se va generando para cada estado, este bloque se disea con genera con dos contadores binarios por dcadas 7490, tal como se muestra en la figura7.

Figura7. Contadores 7490.

Adems se utiliza codificadores de BCD a 7 segmentos 7447, tal como se muestra en la figura 8.

-Ciclo con sensores de trfico activados. En la figura10 se presenta el ciclo cuando se activa el trnsito de la va secundaria debido a la presencia de carros en esta va, por la tanto al terminar el intervalo de la verde principal se activa el verde de la secundaria.

Figura8. Codificadores BCD a 7 segmentos 7447.

Figura10. Salidas Para ciclo con Sensores de trfico activados.

Para sincronizar los contadores del visor de datos y los contadores de la unidad operativa se utiliza bloque implementado en QUARTUS mediante AHDL, como se muestra a continuacin. SUBDESIGN VIS( R1,A1,V1,R2,A2,V2,T1,2T1,T2: INPUT; SVIS: OUTPUT;) BEGIN SVIS=(R1&!A1&!V1&!R2&!A2&V2&T1)# (!R1&A1&!V1&R2&!A2&!V2&T2)# (!R1&A1&!V1&!R2&A2&!V2&T2)# (!R1&!A1&V1&R2&!A2&!V2&2T1)# (R1&A1&!V1&R2&A2&!V2&T1)# (!R1&!A1&!V1&!R2&!A2&!V2); END; VIII. SIMULACIN DEL SISTEMA Para la simulacin se utiliza QUARTUS II, debido a que el editor de seales se puede ampliar a grandes vectores de tiempo. A continuacin se realizan diferentes pruebas. -Ciclo con sensores de trfico y pulsadores desactivados. Debido a que no hay carros en la calle de la secundaria al finalizar el intervalo verde de la calle principal y al no presionarse ningn pulsador, el intervalo verde de la calle principal se extiende hasta que haya una activacin en los sensores de trfico o en los pulsadores, teniendo en cuenta que al iniciarse un intervalo verde, este primero debe terminar para pasar al siguiente estado, si hay motivo de transicin. En la figura9 se muestran las seales.

-Ciclo con Pulsador activado a tiempo. En la figura11 se presenta el ciclo cuando se activa el cualquier pulsador, se muestra que al generar un pulso se activa la salida del adecuador de entrada y por tanto despus de terminar el intervalo verde pasa a las luces determinadas para que el peatn pueda cruzar las calles.

Figura11. Salidas Para ciclo con pulsador activado.

-Ciclo Nocturno. En la figura12 se presenta el ciclo cuando la ciudad est en tiempo nocturno donde el transito es bajo, en la figura se muestra como las salidas prenden y apagan y cuando la seal NOCHE pasa de 1 a 0 vuelve al estado inicial.

Figura12. Salidas Para el ciclo Nocturno.

IX. IMPLEMENTACIN DEL SISTEMA Para la implementacin del sistema se utiliza el kit de desarrollo UP2 [2], de la cual se programa la FPGA EPF10K70RC240-4 de la familia FLEX10k.
Figura9. Salidas Para ciclo con Sensores de trfico y pulsadores desactivados.

Primero se debe realizar un divisor de frecuencia para utilizar el oscilador de 25.175MHz. Por lo tanto se utiliza un contador de 25 bits para obtener un frecuencia aproximada a 1Hz, debido a la siguiente formula, donde Fo es la frecuencia a la salida del divisor y Fi es la frecuencia que se desea dividir.

( ( ) Se aproxima a 25 bits.

Debido a lo anterior se utiliza el oscilador del kit de desarrollo, por lo tanto a la entrada de reloj se le asigna el PIN 91. Para las entradas de la variacin del tiempo del temporizador T1 se utilizan los SWITCHES del kit de desarrollo, por tanto se asignan los PINES 33 ,34 , 35 y 36, que corresponden a los SWITCH SW8, SW7, SW6 y SW5 respectivamente. Para emular los sensores de trfico se asignan los PINES 39 y 40, que corresponden a SW3 y SW2 respectivamente. Adems para emular la entrada para pasar al estado nocturno se usa el PIN 41, que corresponde a SW1. Para la entrada de los pulsadores de peatn y la entrada del Reset se utiliza la extensin de pines A, por tanto se asignan los PINES 45, 48, 50, 53 para los pulsadores y el PIN 55 para el reset. Para las salida que van a los leds utilizados para emular los semforos, se utiliza la extensin de pines C, por tanto se asignan los PINES 175, 182, 184, 186, 188, 191, 193, 195, 198, 200, 202 y 204. Para visualizar el tiempo que transcurre se usan los Displays de la tarjeta de desarrollo y se configura como se muestra en la referencia [2].

X. REFERENCIAS
[1] Introduction to Design Using AHDL. [2] University Program UP2 Education Kit.

ANEXO 1 DIAGRAMA DE FLUJO

V1*V11ON R2*R21ON INICIA T1

0
NOCHE

A1*A11 ON R2*R21 ON

0
T1

A1*A11 ON R2*R21 ON

1
V1*V11ON R2*R21ON PON

2*T1

1 0 0
SC1+SC2 SP1+SP2+SP3+SP4

1
A1*A11ON R2*R21ON INICIA T2

1
A1*A11ON A2*A21ON INICIA T2

T2

1
R1*R11*A1*A11 ON R2*R21*A2*A21 ON INICIA T1

T2

T1

0 1
R1*R11 ON V2*V21 ON INICIA T1

0
T1

1
A1*A11 ON A2 *A21ON INICIA T2

0 1
T2

También podría gustarte