Está en la página 1de 43
las tos Ha oe ‘al, ® 13.1 Maquina tragamonedas electronica A in, is 13.1.1 Definicién del problema ¥ Una méguina tragamonedas es un juego de tipo casino en el que un jugador in deposita una moneda y jala una palanea, lo cual hace que un conjunto de ruedas in comience a girar. Cada rueda tiene varios digitos o imagenes pintadas en su 1 circunferericia, que se despliegan a través de una ventana. Después de soltar la 1 palanca, ls ruedas se detienen y cada una muestra un digito 0 imagen. Silos r tnimeros 0 imagenes mostrados concuerdan con cierto conjunto de patrones especificos, se gana una cantidad determinada de dinero, La recompensa, 0 la cantidad de dinero ganada, depende del patrén concordante y, en algunos casos, puede depender de la cantidad de dinero depositada (o apostada). Existen muchas variantes de este juego, como los juegos electronicos de ‘mano que no utilizan dinero, los cuales operan al jaar una palanea u oprimir un botén para iniciar el giro y detener las ruedas numéricas. A fin de minimizar las partes mecinicas, con frecuencia se utiliza un display electrénico para simular Jas uedas que giran, cambiando de manera continua los digitos desplegados. Las combinaciones ganadoras se indican mediante luces parpadeantes 0 alarmas audibles. En algunos casos, se ganan y pierden puntos, lo que permite a los * Jugadores mantener una puntuacién mientras juegan. En este ejemplo disefiaremos un juego de maquina tragamonedas electrénico operado al oprimir un interruptorJUGAR, lo que hard que los digitos del intervalo [1..7] se muestren y cambien de manera continua en un panel clectrénico a modo de dar la impresién de ruedas giratorias, Los digitos se congelarén en el display al soltar el botén JUGAR. Si aparece alguno de los rnimeros de cierto conjunto, se otorgaré una recompensa, un nimero dado de puntos. En nuestra méquina, cualquier combinacion de dos o tes digits idénticos sera ganadora, tres digitos idénticos devolverén una recompensa mayor (més puntos) que dos digits idénticos. El monto dela recompensa también dependerd del valor del digito concordante y de una apuesta, que se fijaré mediante dos interruptores antes de oprimir el botén JUGAR. La figura 13.1 muestra la distribucién basica del panel frontal del juego. 790 Capitulo 18. Ejemplos de disefio Digios giatorios Cn nd aaa] * {opimie para inci) Oo eo aa CColocar apvesta ceeyon Figura 13.1 Juego electénico ‘Mquina tragamonedas eheetrnica ‘de maquina tragamonedas, 13.1.2 Necesidades del sistema y plan de solucion Comenzaremos el proyecto determinando las necesidades del sistema y desarrollando un plan que saisfaga estas necesidades, Segin la descripeién del juego, necesitaremos varios subsistemas principales: dos displays electrénicos de tres digitos para los digitos giratoriosy la recompensa, un bot6n JUGAR, dos imterruptores para fijar ls apuesta, citcuitos para generar los niimeros del display giratorio, y un eircuito para identificar los patrones ganadores y caleular la recompensa, El diagrama de bloques de la figura 13.2 ilustra estos subsistemas, {que deseribimos a continuacién. 1. Botén JUGAR, Utilizaremos un interruptor de bot6n para el botén JUGAR de la maquina tragamonedas. El botin se oprime para restablecer el juego ¢ iniciar los generadores de nimeras aleatorios; el boton se suelta para detenerlos, y en ese momento se tomar una decisidn en el sentido de que el jugador ha perdido o ganado, 2. Display con digitos giratorios, Utilizaremos tres LED (diodos emisores de luz) de siete segmentos para mostrar los digitos priducidos por los gencradores de numeros. Estos se actualizarin de manera continua ‘mientras el botén JUGAR se mantenga oprimido a fin de simular las ruedas de nimeros giratorias. Como apoyo a este efecto, los res digitos cambiarin con diferentes frecuencias y tambien se detendrin en instantes diferentes después de que el bot6n JUGAR se haya soltado, para simular el hecho de que las ruedas se detienen una tras otra Generadores de nimeros. Tres generadores de nimeros Forman la base del juego: eada uno produce digitosen el intervalo[[..7]. Los generadores de miimeros comienzan a funcionar cuando se oprime el botén JUGAR y se deticnen después de que el bot6n JUGAR se libera, Para que los generadores de mimeros parezcanaleatoros,difiuliando con ello la pre= diccién de sus valores finales, recbirdn pulsos de reloj a una velocidad alta, y cada uno cambiaré con una velocidad diferente, Ademas, al detenerse cada generador de nimeros en un instante diferente desputs de soltarel botén JUGAR, serd mas dificil predecir los valores finales de los digitos 4, Médulo temporizador. El médulo temporizador contendra un cireuito oscilador y varios cireuitos temporizadores para producir sefiales que controlen a los generadores de nimeros. Un conjunto de salidas del cireuito temporizador iniciard et funcionamiento de los generadores de ‘nimeros cuando se oprima el bot6n JUGAR y los detendri en instantes 3 2ctrénicg tema y cién del rénicos AR, dos display cular la stemas, | botsn ablecer ton se nenel sisores vor los sntinua lar tas ‘mular base sdores iARy te los apre- cidad 4s, al Wsde Jelos cuito sque 5 del osde Seccién 13.1 Maquina tragamonedas electronica 791 Display de its giratorios EIB Detector a at patron ‘panador riimeros | | nimeros. | | mimeros ateaorios 1 | | sleatrios2 | | sleatoris 3 cera de] [enero] [ened | | | Generador de] de recampense ‘ecompensa [> Boon JUGAR O tf Cineito \emporizador] ‘Swi SW2 Interupores para culocar apuestas Figura 13.2 Diagrama de bloques para el juego electénico de maquina tragamanedas. diferentes cuando se suelte el botén JUGAR. Un segundo conjunto de salidas hard que los generadores de niimeros cambien con velocidades dlistintas, §5, Entradas para la apuesta, Elnimero de puntos obtenidos se multiplicara por un factor de escala en el intervalo [1.4] seleccionado mediante dos interruptores que se establecerin antes de oprimir el botn JUGAR. Esto simula la colocacién de una apuesta respecto del resultado del juego. Podemos suponer que se pierde ciera cantidad de puntos si no ocurre una combinacién ganadora, de modo que la pérdida dependa tambien de la apuesta, 6, Detector de un patrén ganador. Este médulo evaluaré las salidas de los tres generadores de miimeros, después de que todos ellos se hayan detenido, silos tres niimeros finales producidos por los generadores de ‘nmeros corresponden a una de las combinaciones yanadoras: es decir, ppara determinar si dos o tres niimeros concuerdan. Los resultados se enviarin al generador de la recompensa. 7. Generador de recompensa. El generador de recompensa calculard la recompensa (el nimero“de puntos obtenidos) con base en la deteccién dde una combinacién ganadora y el valor del digito concordante. La ‘ecompensa serd proporcional al nimero del digito concordante, Ademés, la recompensa por tres digitos concordantes seré mayor que la correspondiente @ dos digitos concordantes. Por itimo, la recompensa ‘se multipicara por un factor de escala(1 a4) correspondiente la cantidad apostada, Se mostrara una recompensa nula (000) si no se detecta un patron ganador. 792 Capitulo 13 Ejemplos de disenio 8. Display de recompensa. F nimero de puntos obtenido se exhibiré en un display de LED con tres digitosy siete segmentos, controlado por las salidas del generador de recompensa 13.1.3 Disefto légico Para organizar el proceso de disefo del circuito ldgico de la méquina tragamonedas, cada médulo idemtficado en las necesidades se disefiara y probard dde manera independiente. Después, combinaremos estos médulos para erear el circuito completo de la maquina. Los siguientes pérrafos presentan el discfio de los médulos individuales. Botén JUGAR Utitizaremos un interruptor mecinico de boton para el botén JUGAR. EI interruptor genera una sefal | logico al oprimirse y 0 l6gico al soltarse. Un resorte regresa el interruptorasu posicién original sino se le mantiene oprimido, Para garantizar un funcionamiento confiable, es decir, tansiciones 0—> I y 1» O“limpias”, utilizaremos un circuito con filtrado de rebotes, En el capitulo 10 desarrollamos un cireuito interruptor con filtrado de rebotes (ver ejemplo 10.9) que s6lo es un par de compuertas NAND con acoplamiento cruzado (741S00). La figura 13.3 ilustra el cireuito completo para el botdn JUGAR, Imerrupor de boton \ Ciraitoeon | tno de res Figura 13.3 Botén JUGAR y crcuito con fitrado de rebotes. Generadores de nimeros : ‘Un verdadero generador de niimeros aleatorios seria ideal para este juego, pero ‘no es un circuit trivial. En vez de él, utilizaremos un cireuito contador binario sinerono simple que cuente de manera continua de 1 a 7 para cada uno de los tres digitos. La apariencia aleatoria provendré del funcionamiento de un cireuito temporizador que hard tres cosas: Seccién 13.1. Maquina tragamonedas electrénica 793 1. Los contadares trabajarin con tal rapidez que dificultaran al jugador la sib pradioin de as alas dels eontadoesl soa el bot [UGAR. lopor las 2. Los tes contadores operarin con frecuencias diferentes, La frecuencia mds alta ser de 45 hertz (Hz) para uno de los digits, mientras que las ‘tas fecuencias sean la mitad yuna tercera parte de la primera, o 22.5 maquina 9 15 Ha, respectivamente Latasa de 5 Hz ard que el digitocambie [5 y probera ‘eces por segundo, lo que permitré ver los digitos aunque cambien fo a crear el bastante rid como para inhibir la estimaci6n de su valor fina nine 3. Lostres contadores se detendrin en instanes distintos despues de soltar el botén JUGAR. Para obtener los nimeros 1 0.7, utilzaremos un contador binario para Shoat cada generador de nimeros, que ser cargado en forma sincrona con el valor 1 un despucs de llegar ala cuenta de 7. Aunque bastaran tes bit, elegimos un om contador de bits, pues los contadores de 3 bits no son médulos TTL estinda. ree Par= obtener diferentes frecuencias de conteo ¢ instantes de conclusién, necesitamos entradas independientes de ely de atvacién para cada contador, weit ademas dela capacidad de carga paralela. oly leontadorbinariosinerono de 4 bits SNTALS163A cumple los requisitos Pt anteriores, Usilizremos tres médulos SN74LS163A para est dseio, como se Iuestra en la igura 13.4 ‘ % te aa co , fee, te ob | se ot ] Sta a of, Mic |e) oh ole a h et shir | | chs lle ¢ i fel, Shor is? | fet, ob Fy | fed, of rtp cx rcof Be Jeb ex reo ox eco ina cu Pan rai [ eee kh pero saan so inario rae ae fe los cuito Figura 13.4 Generacion de ndmeros:circuitos contadores 1 a7. / ee _— - _ 794 Capitulo 13. Ejemplos de disefio ‘Observe que necesitamos tres setales para activar el conteo {EN,.EN,.EN,) y tres diferentes sefales de reloj (/,/,f,) para controlar los tres contadores. Las Salidas del contador se envian al display giratorio digital y al detector de Ia combinacién ganadora. Médulo temporizador La figura 13.Sa muestra un diagrama de bloques de médulo temporizador. Por la figura 134, sabemos que necesitamos tres sefiles de reloj Uf) y tres setales de acivacién (EW ,EN,,EN,) para controlar los contadores del generador de niimeros, Disefaremos un circuito oscilador para obtener una onda cuadrada de frecuencia f =45 Hz.que usaremos como seal de reloj paral primer contador, Dividiremos entonces la frecuencia de esta sefal entre 2 y 3. fin de producie otras dos sefiales con frecuencias f,= 22.5 Haz y f,= 15 Hz, respectivamente. El diagrama de tiempos de la figura 13.5 ilustrael funcionamiento deseado de las tres sefiales de activacin, Las tes seftales de activacin asumirin el valor 1 al dejar de oprimir el bot6n JUGAR. Después de soltar el botén, EN, asumird el Osiaioe ) | Senailes de fs > ej del Lo | contador ala! [= En: } acivcion }—— ei, Sofales de el contador may —e] — Figura 13.5 Médulo temporizador para el generador de nimeros. {a} Generador de tiempos. (b) Tiempos para la seal de activacion, ST ‘Seccién 13.1, Maquina tragamonedas electrénica 795 valor 0 después de un corto retardo D,, EN, lo haré después de un segundo wey retardo D,,y EN, después de un tercer retard ore ld Implantaremos et oscitador mediante un médulo temporizador de precisin '555 configurado para operar en modo multivibrador astable, como deseribimos en el capitulo 6 ¢ ilustramos en la figura 13.6. La frecuencia de oscilaciGn serd de 45 Hz; en el capitulo 6 definimos esta frecuencia como Lag dor. Por Ja pee a3 )y tres Por tanto, para obtener f= 45 Hz, elegimos los siguientes valores para los ae componentes: sadrada a ntador. Ry = 15D rodueir Ry = 8.52 sate, El oe de as C=luF for I al ilizaremos un circuito de divisiOn entre 2 y un circuito de division entre mit 3 para generar las otras dos sefales de reloj. Como podemos dividir de manera conveniente las frecuencias de los tenes de pulsos mediante contadores binarios, utilizaremos un contador binario 741892 médulo 12 como muestra la figura 13.6. Las slidas del 741.592, Q,, Qy Q,-y Q,, Son simplemente trenes de pulsos ‘cuyas frecuencias son 1/2, 1/3, 1/6 y 1/12 de la entrada de reloj, respectivamente Por tanto, la salida Q, proporcionara f, = {/2 = 22.5 Hz, mientras que Q, proporcionara f,=f/3 = 15 Hz. Ses Sette eri eantas, re Me jase Bs es btu t Pe wha | | bs | oT Te ak : Ee = reser acs oerPL Hd, a, . a Li m or (850); JTHRES euadrada OP nr TRIG RO}, re ¢ re Se ted | de | ow ae 2 [h sess 7 ar I on Ve 3 1 Pees ts on sucar Generar Figura 13.6 Médulo temporizador para el gonerador de nimeros. 796 Capitulo 13. Ejemplos de disefio Obtenemos las sales de activaciOn del contador EN,, EN, y EN, através de tres Jatches SR (SNTALS279). Los latches asumen el valor | al oprimir el bboton JUGAR y despues se restablecen a 0 en instantes distintos, después de que el botén JUGAR ha sido soltado. Para obtener instantes de restablecimiento } aol 4 Digtot i ides | ten m70ft Dini ade scones asi 2 sles] seaman teef* mn swore 2] fe} de imeros 464 [37]? apo alemorios 8 | 82>F ye 2 a 4 io2 me} hs oe ee 5 opt bed aat . ole adie nm Digi be ieooomeess nasi apt foot tla mn Det generador| cj tLe! “To |! wo faz] senor ¢ | 2757] eho] 4 ell E ita i]. |, fede * tdi, smo | Dip OED sem Figura 13.7 Gruito de interaz con csply de tres digs y sete segments, de 2 bits fijard las posiciones de estos interuptores cuando se oprima el botén JUGAR, con objeto de evitar que la apuesta cambie una vez iniciado el juego. La Salida de este registro se suministra como entrada al generador de recompensa. La figura 13.8 muestra el circuito. 798 Capitulo 13. Ejemplos de disefio Al penrador de recompensa nase L PR Pe lp” ol | soar {Tf “cr is To sw sw Delos « Interptores a ela puesta - Figura 13.8 tnterruptores y regio para la colocacion de una apuesta. Detector de la combinacién ganadora El detector de la combinacién ganadora determina si obtenemos dos o tres digitos coincidentes de los generadores de niimeros. Hacemos esto mediante los comparadores 74LS85 de 4 bits para detectar los valores idénticos. Como hay tres digitos, A = (4,4,A ,A,). B= (B,8,8,8,) y C= (C\C,CC,),utlizaremos wes comparadores como se muestra en la figura 13.9 para detectar las condiciones A=B,A=Cy B=C. Observe que sélo hay que verificar los 3 bits menores de cada digito, ya que los Gnicos digitos valides son del | a 7. Utilizamos una ccompuerta NOR para indicar que existe una concordancia en al menos uno de los comparadores. Ademas, si d= By 4 = C, esto implica que B=. Por tanto, utiizamos una tnica compuerta AND de dos entradas para detectar la condicion A= B=C. La figura 13.9 muestra el cireuito completo El circuito de cdlculo de la recompensa debe saber si coinciden dos 0 tres digitos y el valor numérico del digito concordante. Podemos utilizar un multiplexor para elegir uno de los nimeros de entrada, si concuerda con uno © dos de los otros, y pasarlo al circuito de recompensa, Para esto, utilizamos un multiplexor 74LS157 cuddruple 2a 1, con las dos entradas de 4 bits conectadas alas lineas de sefial para los digitos 4 y B, como muestra la figura 13.9. Si no hay dos digitos concordantes, segin indique la salida de la compuerta NOR, el multiplexor sera desactivado por su entrada de control, G, anulando todas sus salidas. Si B= C, elegimos el digito B usando la salida del comparador B= C para controlar la linea de seleccién del multiplexor S, Siexiste una concordancia Seccién 13.1. Maquina tragamonedas electronica 799 sausist 2 te ya Tres/Dos at a0 mm a 2». De los eeneradores de nmcros aleatrios si hay pares csoncordanies a cl lees La los hay tres ines sde una ide 0, in nee oo un Jas Figura 13.9. Cireuto detector de una combinacién ganadora. 800 Capitulo 13 Ejemplos de disefio y BaC, entonces A = B 0 A = C, por lo que elegimos el digito 4. La salida de la Pompuerta AND también se lleva hasta el generador de recompensas. Observe que | indica que existen tres digites concordantes y 0 indica lo contrario, Generador de recompensa Sisse detecta una combinacién genedora, el nimero de puntos ganados depende de si dos o tres de los digitos han concordado, ast como del valor del digito concordante. Ademés, el nimero de puntos se multiplica por un factor de 1 a4, segti laapuesta colocada con los interruptores de apuesta. La tabla 13.1 muestra cel mimero de puntos otorgados a cada combinacién ganadora, ‘TABLA 12.1 TABLA DE GANANCIAS (a) CONCORDANCIA DOBLE (b) CONCORDANCIA TRIPLE Apuesta Apuesta Dito 1 2° 3 4 | | digo 1° 12 03 4 1 5075 1 501) 150, 200 2 @ w ww] | 2m 1 1K 20 308 Oso 3 7 M9210 280 ee ee Pe ee ee ) 6 0 m8) 200 | | 6 1» 20 300 400 ee El circuito de céleulo de las ganancias tiene seis entradas: 1. Un némere de 3 bits (1 a 7) correspondiente al digito concordante, 0 rnulo sino existen digitos concordantes. 2. Un bit indica si existen dos tes digitos concordantes, suponiendo que hay al menos una concordancia, 3. Un niimero de 2 bits que corresponde a la apuesta coloceda, ‘Como el niimero de puntos es un ntimero decimal de tres digitos, el eircuito para cl célculo de las ganancias tendra 12 lineas de salida correspondientes a los tres digitos BCD. Para realizar este circuito, podriamos utilizar un dispositivo PROM de ‘64x12, es decir, una PROM con 6 entradas y 12 salidas. Sin embargo, 64x12 no ‘es una configuracién estindar disponible en el mercado; por tanto, utilizaremos ‘dos PROM, un 82LS129A (2564) para controlar el digito de las centenas y un 821.8135 (256.8) para controlar los digitos de las decenas y las unidades. La figura 13.10 muestra el circuito generador de recompensas completo, con la asignacién de sefales a las entradas de direccién de la PROM de 8 bits y las salidas de la PROM. La tabla 13.2 enumera el contenido de la PROM. adela serve pende digito tag, sestra oo 0 0 2» 0 ” 0 que ara Sienwe do entrada, aate mei an Seccién 13.2. Sistema de entrada automatica Sin ave “got ‘TABLA 13.2 CONTENIDO DE LOS PROMS GENERADORES DE RECOMPENSAS. Entrada Premio Entradas Promio At) A(43) ALO) O(11-8)0(7-8)0(8-0) A(5) (4-3) AL2-0) 0(11-8}0(7-4)0(3-0) — — ow 00 ee 02s 100 00 a 030 1 10 60 oo on 03s 1 oon on om 1% ow 1 0 100 080 om 1 085 a 00 o @ 110 050 10 100 oo om 060 140 oo ol 050 1 or oot 100 oo 010 060 1 0 010 120 oo on a7 1 oon M40 or 00 080 1 imo 160 rn 060 1 oF 10 180 oo 110 100 1 of} 110 200 o oo om 120 1 oo om 200 oo ot 075 110 Oo 150 om 0 0 1 010 180 o 0 on 105 1 on 210 0 10 120 1 W100 20 o m1 as 1 tor 20 o 0 to 150 1 10 300 o mo om 180 1 om 20 o on oO 100 1 oot 200 ne) 20 1 on 10 240 o noon 0 1 on on 280 on 100 160 1 on 100 x20 o one tt 180 1 on ol 160 oon Ho 200 boon to 00 oon om 240 boon am 560 ® 13.2 Sistema de entrada automatica sin llave 13.2.1 Definicién del problema Muchas veces, el propietario de un automévil camina hacia éste y deseubre que tas llaves han quedado encerradas dentro del auto, Para resolver este problema, seria deseable un sistema de entrada sin lave que permita al propietario del ~ ——— A 802 Capitulo 13 Ejemplos de disenio masiz0 256-4 PROM 5} 94 rm ) 2 ta Oy LS Digios | 2 a itt termes concordates 3" ona ‘pu | 4 oe a i Jae isto 2 cnt s 3 Figura 13.10 PROM goneradora de recompensa. autom6vil introducir un eédigo con una combinacién numérica mediante un teclado de botones y asi poder abrir la puerta del automdvil Por razones de seguridad, el diseiio de tal sistema debe minimizar la posibilidad de que un ladrén descubra el cdigo mediante prueba y error, como ‘ocurre con muchas cerraduras de combinacién. Podemos hacer varias cosas que dificulten la determinacién del c6digo correcto por experimentacién. Uno consiste cer la longitud del cédigo variable, de modo que el Indron no sepa cunios troducir. La tabla 23.3 muestra el ntimero posible de combinaciones con cuatro teclas numéricas (1, 2, 3, ), con cédigos de longitud 4, 5,6 y 7. La tabla también indica la probabilidad aproximada de adivinar la combinacién correcta en un intento. Seccién 13.2 Sistema de entrada automatica sin lave 803 ‘TABLA 13.3 COMBINACIONES PARA UN SISTEMA DE ENTRADA SIN LLAVE oe Probablidad Ty : aproximadade una_—_Tlem Longitud “| Numero de estimactén correcta en__ romper etc ldel codigo combinaciones "et primer intento (1 e5digo 4 256 411,000 4.25 horas 5 12s 1.000 2.1 dias 6 4036 1ys.000 1.7 semanas, 7 16.384 350,000 6.8 semanas tro obsticulo para los ladrones serfa desactivar de manera automética el sistema durante varios minutos si se realizan dos o tes intentos incorrectos por abrir la cerradura. Muchos ladrones no desean permanecer cerea y esperar para realizar otros intentos, aunque esto seria un inconveniente menor para el propietario del automévil comparado con una llamada a un cerrajero. La tabla 13.3 enumera el tiempo estimado necesario para probar todos los e6digos,sise prueba uno cada minuto, con una espera obligada de 3 minutos después de cada tres entradas incorrectas. 13.2.2 Necesidades del sistema ‘Operamos el sistema de entrada al autom6vil sn Hlave mediante un teclado de cinco botones cerca de la manija externa de la puerta. Para no hacer demasiado ‘complejo el proyecto, slo utilizaremos cuatro botones numéricos (1,2,3,4). El ‘codigo de entrada sera una secuencia definida por el usuario de cuatro, cinco, seis 0 siete digitos. También se dispondra de un botén RESET, que puede ullizarse, por ejemplo, en easo de introducirse un cédigo ersénco. Después de ‘oprimir el botén RESET, la secuencia del cédigo correcto deberd se introducirse desde el comienzo. Para que el propictario del automévil pueda establecer un cédigo de entrada ‘que pueda recordar con facilidad, el interior del automévil endré un tablero con el que el propietario podré configurar interruptores que programen los digitos ‘de la combinacién y la longitud del codigo. El sistema tendra una dnica salida, UNLOCK, Ia cual activaré un ‘mecanismo para poder abrir la puerta. Suponemos que esta seflal electronica tiene menos prioridad que la cerradura mecdnica normal y el mecanismo de la llave. La figura 13.11 muestra un diagrama de bloques del sistema de entrada 1 ‘del auto sin lave. Contiene los subsistemas siguientes: 1. Teclado para introducir el c6digo. Utilizaremos cuatro interruptores ') 4 de botén que representaran les digitos 1, 2,3 y 4. Un quinto interrup- tor de bot6n activard la funcién RESET. Al oprimirse cada interruptor, ‘generard un pulso alto logico, Para garantizar que los pulsos sean 4 Jimpios, cada interruptor tendré un filtro de eliminacién de rebotes. : Las sefiales producidas por los cuatro interruptores de datos se envian ‘aun circuito codificador, el cual generard un Ginico pulso cada vez que se oprima uno de los cuatro botones numéricos, junto con un e6digo binario de 2 bits que representa ese bot6n. El botén RESET generaré tun pulso para desactivar Ia unidad de control del sistema. Este botén Sa 804 Capitulo 13 Ejemplos de disefio “eetado cere de la anja de ta pe) 1) Go eteodieaa dee Citgo ese feted opie Sefaes de cont Digtocomeeto | nidad | Mietiocgs Longa cores | comtat lapuera ‘Se caign [leans Lateeta Ape Digi Digkol Digi? longi ‘oe secotigo Tablero de configura Figura 13.11 Diagrama de bloques del sistema de entrada @ un auto sin Have. sera desactivado durante un intervalo “de latencia”, cada vez que se hagan tres intentos incorrectos sucesivos por abrir la puerta. 2. Tablero de configuracién. Proporcionaremos un tablero de 16 interruptores DIP, como se muestra en la figura 13.12a, para progra- rmar la longitud de la secuencia de c6digo y los digitos del cOdigo. Como la secuencia valida de digitos puede tener una longitud de 4, 5, 16 07 digitos, utilizaremos dos interruptores DIP, B7 y B8, para establecer la longitud de a secuencia de c6digo definida en a figura 13.12, Cada digito de la secuencia del cédigo debe ser uno de los ccuatro nimeros 1, 2, 304. Por tanto, asignaremos dos interruptores DIP a cada digito de la secuencia del cédigo y los configuraremos . ccomo en la figura 13.12c. Como la longitud maxima del eédigo es de 7 digitos, necesitamos un total de 14 interruptores para definir eval- secuencia de cédigo posible. Enviaremos las sefiales de los 16 interruptores DIP al médulo verificador del eédigo, el cual determina si se introdyjo un c6digo correcto, 3. Verificador del ebdigo. El verificador del c6digo determina si una secuencia de digitosintroducidos mediante el teclado es la secuencia de cédigo definida por los interruptores DIP del tablero de configu-, racién, Este médulo requiere un contador que cuente el nimero.de~ ‘ digitos introducidos y un eircuito que compare cada digito con el par de interruptores correspondiente del tablero de activacién. La ‘unidad de control genera una sefial UNLOCK si se detecta una Secci6n 13.2 Sistema de entrada automatica sin llave 805 Ioxerrupoe DIP A Ineraptor DIP B air abrir Digi bigio Digto —Digho || Diglo’ Digho Digio Longits : 2 3 4 3 ‘ Tse codigo Longitud 6 cgo | jterupt_tnerupior Digito_|ter.oreruptor 20. itrruptoe >| Cerrado cenado 1 | eerado cerrado | Gerd abiento 2 | cemado —sbierto © | Abies cerrado 3 | abierlo —cerado 7 | ‘Abjero ——abierto © | abit abit © Figura 13.12 Tablero de configuracion del sistema de entrada sin {ores DIP. (b) Parimetros de la longitud del algo. (c) Coaigns de digits. secuencia de eddigo correcta. La unidad de control genera una seal ERROR si cualquier digito introducido es incorrecto o si se han introducido demasiados digitos. Deberemos restablecer estas sefales ‘cuando la puerta se abra 0 se desactive la cerradura. 4, Circuito de latencia. La funcién del circuito de latencia es evitar que €l sistema sea restablecido durante 3 minutos después de tres intentos ‘consecutivos por abrir la cerradura, El circuito restableceré el sistema en forma automatica después de 3 minutos. 5. Unidad de control. La unidad de control proporcionaré todas las sefiales de tiempo y control para los demas médulos. Al hacer esto, determinard si se est4introduciendo una seeuencia de cédigo, si se necesita una sefal reset después de introducir una secuencia de cédigo incorrecta, 0 si hay que activar al circuito de latencia después de tres intentos incorrectos consecutivos por introduc la secuencia de cédigo correcta, 13.2.3 Disefio légico Presentaremos el disefio del circuito 16gico del sistema de entrada a un auto sin lave mediante la descripcién de cada médulo identificado en las necesidades. Después combinaremos los médulos para crear el circuito completo. Los siguientes pdrrafos presentan el disefio de los médulos individuales. Interfaz del teclado y codificador Lainterfaz del teclado tiene cinco interruptores de botén, un cireuito con filtrado de rebotes y un circuito eodificador. Podemos utilizar un par de compuertas ‘NAND con acoplamiento eruzado como circuito fltrador de rebotes para cada interruptor, como se mostré en la figura 13.3 para el ejemplo anterior, Para ‘obtener el cédigo de 2 bits cada botén podemos utilizar un codificador con a 806 Capitulo 13 Ejemplos de disefio prioridad 4 a 1 estindar, descrito en el capitulo 4 (Fig. 4.19). Repetimos el dingrama del cireuito en ta figura 13.13. Observe que el crcuito tiene tres satis: ‘indica que se ha oprimido al menos un bot6n de digit, y d.d, es el ebdigo de 2 bits correspondiente al botén de maxima prioridad. Botones de telado x rp fe ty Ky} coditeator [| cotigo ° con Lowy, | det baton a] proridna hy % 402 “ [ep (Borin de no Aigo oprimiy K a Figura 13.13 Codiicador 4 a 1 con prioridad para el tecado de entrada de cédigo. {a} Simboio i6gico. (b) Diagrama logico. Para funcionar correctamente, el resto del circuito esperara que la seiial D sea alta y después baja conforme se oprima cada nuevo boton. Si se oprimen dos botones al mismo tiempo, s6lo se detectaré el botén con el numero mayor. Tablero de configuracién Los 16 interruptores DIP del tablero de configuracién se configuran de antemano y supondremos que permanecen fijos durante el funcionamiento del sistema, En onsecuencia, no necesitamos un circuito fitrador de rebotes. Configuramos los interruptores DIP como se muestra en la figura 13.14. Cada linea se leva al valor logico | cuando el interruptor est ABIERTO y al valor I6gico 0 cuando esté CERRADO. Voc AV AD AS AR Mee BDA, mgr LLY ae DP wee a4. ae 4 6 Figura 13.14 inerruptores DIP del tablero de contiguracién. rence Seccién 13.2 Sistema de entrada automética sin llave 807 wal Los interruptores DIP 87 y BB se dirigen directamente al circuito que das: verifica el nimero de digitos introducidos. Los otros 14 interuptores se dirigen ode al circuito que los compara con el eédigo introducido, Verificador de e6digo El verificador de c6digo realiza dos funciones. La primera es contar el nimero de digitos introducidos en el teclado. Como la longitud maxima del cédigo de entrada es de 7 digitos, podemos utilizar un contador binario de 3 bits como contador de los digitos. Incrementaremos el contador de digitos en la transicién descendente de cada pulso en INCD y lo limpiaremos cuando CLRD genere una “4 seflal RESET. En este ejemplo, elegimos un contador binario 74SL93 de 4 bits con reset asincrono, conectado como se muestra en la figura 13.15. El segundo 74L893 de la figura 13.15 cuenta el mimero de intentos de “a introduccién del cédigo, Este contador se incrementa después de cada intento fallido en la transicién descendente de un pulso en INCT y se limpia mediante tun pulso en CLRT. En las salidas del contador, se obtiene un | en la salida Tde Ia compuerta AND cuando la cuenta llega a3; es decir, cuando Q,,=11. Esto » indica la unidad de control que han ocurrido tres intentos fallidos por introducir elebdigo La segunda funcién del veriicador de cédigo es comparar el cédigo de 2 7) bits para el n-ésimo digito de una secuencia de cOdigo introducida mediante el os teclado con la configuracién del par m de interuptores DIP del tablero de configuracién, Necesitamos un cicuito paraclegiry guiar el par nde interruptores, ‘aun comparador que lo comparara con el c6digo del digito introducido, Puesto {que hay siete parejas de interruptores, podemos usar un multiplexor dual 8 a1 para esto, Utlizaremos dos médulos multiplexores 74LS151 8 a 1, como se sano ‘muestra en la figura 13.15, Elegimos el par deinterruptores mediante el contador En de digitos descrto anteriormente. El par 0 se elige inmediatamente después de nos que el contador se restablece a0, el par | después de introducir el primer digito, aal etc, Observe que el 74593 se incrementa en la transicién descendente de cada do ppulso en INCD, pero la comparacidn se realiza mientras el pulso es alto. Necesitamos dos circuitos de comparacién, uno para comparar los digitos introducidos con los pares correspondientes de interruptores DIP y el segundo para comparar el niimero de digitos introducidos con los pares de interruptores ‘que definen la longitud de Ia secuencia de cédigo. En el primer caso podemos utilizar un comparador de 2 bits; para la longitu de la secuencia, podemos usar ‘un comparador de 3 bits. En lugar de diseiar estos circuitos, uilizamos médu- Jos comparadores 74L$85 de cuatro bits para cada uno, como en la figura 13.15. Para el primer 74LS85, las entradas superiores provienen del codificador del teclado y las inferiores del multiplexor de lo interruptores DIP. Para el segundo 7ALS85, la entradas superiores provienen del contador de digitos, mientras que Jas entradas inferiores provienen de los iterruptores DIP B7 y B8. ‘cuito de latencia El circuito de latencia debe inhibir el funcionamiento del sistema durante un periodo de 3 minutos después de tres intentos incorrectos por introducir la combinacién. Haremos esto mediante un médulo temporizador 555, configurado ‘como en la figura 13.16 para una operacién monoestable (one-shot). E1555 serd disparado por un pulso activo bajo desde la unidad de control segin la seftal sa 7 4 808 Capitulo 13 Dl blero ae sonfiguracion Ejemplos de disefio MUX selector de digs codiiedor los + dl teciado| Tasecuenc Det Veriieadr de its de aL ss a ase ase pare nee Plas a1 a AeB Anh ADB > fl fs fe 7ai510 Be Verfendor ue Tongitud de lasecuencia “ASS 1s 6 c rn (digo comeetoy (loo coerce) ven nm cm law Axe off [> a Yee @ intemos) 4 Figura 13.15 Diagrama logico de veiieador de cécigo. sefal STP siempre que se detecte una tercera secuencia de introduccion de c6digo incorrecta consecutiva, generando una sefial SLEEP en forma de pulso con dduracién de 3 minutos que evitard el restablecimiento de la unidad de control Recordemos del capitulo 6 que el ancho de pulso de salida del 555 esta dado por LICR EDs 132) sto) et) igo ‘on al sta 42) Secci6n 13.2 Sistema de entrada automética sin lave 809 m m "2, CONT Ver Inhibit restableciieno ‘de la und de sonal SLEEP RESET isch our runes Fa ms TRIG gpegg | Sinus = exp Tr Muitisibrador shot Figura 13.16 biagrama lice “one-shot del ccuito de atencia, Por tanto, los valores R, = 3 MQ y C= 60 jF producen un pulso con una dduracién aproximada de 3 minutos. Unidad de control En respuesta alas entradas desde el teclado, la unidad de control se encarga de determinar ef momento de activar el mecanismo UNLOCK, el momento de aeti- vvar el circuito SLEEP, y el momento de restablecer el sistema, ‘Como hemos visto, el codificador de teclado produce un pulso en la seftal siempre que se oprima uno de los cuatro botones de digito, y el botbn RESET produce un pulso en la seal R. Como éstas son las seftales primarias que incian acciones en el sistema, disefaremos la unidad de control como un circuito secuencial asincrono de modo pulso, segin lo descrito en el capitulo 10. ‘Al generar los pulsos en las sales Dy R, otras tres condiciones determinan Jo que debe hacer la unidad de contro. Estas tres condiciones estén representadas por las lineas de seftal C, L y Tcomo sigue: 1 si el digito introducido en ese momento es correcto, y Osi el digito actual es incorrecto. L= 1 si el nimero de digitos introducidos es igual a la longitud de la secuencia de cédigo de entrada, y 0 en caso contrario. T= 1 si han ocurtido tres intentos anteriores por introducir la secuencia de cédigo, y 0 en caso contrario. La figura 13:15 muestra que la sefial Ces la salida del comparador 74LS85, el cual verifica los digitos correctos, la seal Les a salida del 74L.S85 que compara 810 Capitulo 13 Ejemplos de disefio la salida del contador de digitos con la longitud del cédigo seleccionado, y Tse ‘obtiene a partir del contador del “detector de tres intentos” ‘Como vimos en el capitulo 10, iniciamos el disefto de la unidad de control desarrollando un diagrama de estados, el cual aparece en la figura 13.17. De este diagrama deducimos que la unidad de control tiene tres estados: INIT: Estado incial, en espera de Ia introduccion del primer digit. ENTRY. Estado de introduccion de digitos: la unidad de control permanecerd ten este estado en tanto se introduzcan los digitos corectos. Se sara de este estado cuando se detecte un error en la introducciin del cédigo, cuando se ‘prima el bot6n RESET, o cuando se haya inlroducido una secuencia completa ‘correcta del cbdigo de entrada. ERROR: Estado de error; la unidad de contol entraré en este estado si se ‘comete un error en la secuencia del cédigo de entrada y sino han gourido tres cerrores anteriormente. La unidad de control permanecera en este estado hasta {que se oprima el bot6n RESET, momento en que regresard al estado INIT. Las figuras 13.18a y b muestran la tabla de estados y ta tabla binaria de estados para la unidad de control, respectivamente. Utilizaremos flip-flops JK. configurados para operar como flip-flops T. La figura 13.18¢ muestra la tabla de exeitacién del flip-flop T. De esta tabla podemos deducir las ecuaciones de excitacion del flip-flop T, y de la tabla de transicién podemos deducir las ‘ecuaciones de salida para el cireuita secuencial de modo pulso. (D + (RP IY, DCL A + WCLIS, (DET + DET + AT + RT, DCLIS, + RT CLRT = (DCLI5, La figura 13.19 muestra el diagrama logico para la unidad de control B® 13.3 Controlador de trafico de un carril En muchos lugares, el trfico de automévites en doble sentido debe pasar por un tramo de un solo caril, como en los puentes angostos del campo, los caminos ‘en reparacién y otras calles estrechas. Como sé muestra en la figura 13.20, el camino sencillo une por lo general dos segmentos de camino de doble sentido. Para controlar el irifico en doble sentido en este camino sencillo necesitamos seméforos especiales en cada extremo del camino de un carril que permitan al trafico flu en una direccién durante un periodo de tiempo y después detenerlo para quel trifico fuya.en la otra direccin, de manera atemada. En cada cambio de direcci6n, el controlador del semiforo debe detener el téfico en una direccién y esperar hasta que el cal est libre antes de permiti que el tréfico avance en se rol De 2 ste a se 8s le la Seccién 18.3 orilador de Cua nen incorrect Cuaron inemeelo— DCTORTSLP Sa cen Figura 13.17 Diagrama de estados de la unidad de contra sade: peck vee bef _ocr__eF_at wsirsofiaxco. — [2] str [aaner] asi CLD uytay =i [TaNep Javan] 2 | air Poascr] osc CURD, cuRD cikt - eeaon=2]—3 [2] 3] 2 [anc ‘cx| | bel pet ve Der RF ar istr-mor[—To om entry «or or Dar [a0 [wf 00 fete ea ee cn m%e o Init = 0] ENTRY=01 nf ERROR = 1] Figura 13.18 Tablas de estas, de ransicion y de exctacion do la ‘unidac de cont (a) Taba ce astados. (b) Tabla de estados bina. {6) Tabla do oxctacion tip-top. 812 Capitulo 13. Ejemplos de disefio » . ; ‘SUP (Dispara crcuiwo SLEEP) ® CURD (par ta eva de iis) INCT (ermal vena de enemas) sure CLR (Limpert evens de seinento) LUNE (Abr pera) inet lineromentar eerta de igo) Figura 19.19 Diagrama logic de la unidad do contro. Samstra Senor Tico t Dression . se etd eo on — Trafeo en 13.20 Tratico de doble sentido en un camino de un care. a vemos) ) a Secoién 13.3. Controlador de trafic de un carr 813 Ia direccién contraria, Para lograr un trifico ptimo, el periodo de tiempo asignado al trfico en cada direccién debe ajustarse segiin las condiciones de trafico, de modo que la direccién correspondiente a un trifico més pesado reciba ‘un periodo més largo que el otro. Podemos medir el flujo de trafico mediante sensores instalados en el camino al final del carril En este proyecto disefiaremos un controlador de semaforos adaptable para coordinar tos sematforos en los dos extremos de un camino de un carily permitir ¢l rico en ambos sentidos. Colocaremos un sensor... cada extremo del camino para detectar los autos que entran y salen de! camino, Asignaremos tiempo al flujo de trfico en cada direccidn segin la medicién del lujo de trafico obtenida ‘mediante [os sensores durante cada periodo de 5 minutos. 13.3.1 Necesidades del sistema El controlador de tifico controlar las luces verde, ambar y roja de dos semaforos (Gi, Vly RI para el semaforo 1 y G2, ¥2-y R2 para el semsforo 2) uno en cada extremo del camino. Suponemos que eada una de lasses luces tiene una linea de control ON/OFF aparte. Las entradas al controlador de trificoineluyen las seftales de dos sensores, $1 y $2, colocados en cada extremo del camino. Cada sensor genera un pulso siempre que cruza un auto, También se dispone de un boton RESET para inicializar el controlador. La principal funcién del controlador consiste en determinar cudindo cambiar los semaforos de un color al siguiente. Para los autos que se mueven en la direccién 1, G1 estaré activo durante un tiempo 7, que sera calculado de nuevo cada 5 minutos segin el flujo del trafico en cada direccién. Despuds del instante 7, se activars la luz Ambar ¥1 por una dinica unidad de tiempo 7, (utilizaremos 10 segundos como la unidad bisica de tiempo para este ejemplo}, y después se cencenderd la luz roja RI hasta que el controlador esté listo para activar Gi de nuevo. La figura 13.21 ilustra este patron de tiempos. Para los autos que se mueven en la direccién 2, la luz G2 no se activa sino hhasta que el wltimo auto que circula en la direccién | ha salido del camino. El ‘nero de autos que permanecen en el eamino se puede determinar comparando cl nimero de autos que entran en él, indicado mediante un sensor, con el nimero de autos que salen del eamino, indicado por el otro sensor. Cuando la diferencia Figura 13.21 Diagrama de tiempos del controlador de trafic. 814 Capitulo 13 Ejemplos de disefio Borde. entre ambos nimeros es cero, suponemas que el eamino estd vacio, Caleulamos ln duracién de la luz verde G2, 7, como T, = T,~T,, donde 7,, €8 una cantidad total de tiempo de luz verde. 7, Se dividird entre las direcciones 1 y 2 segin el ‘lujo de trfico relativo en cada direccién, La figura 13.22 presenta un diagrama de bloques del controlador de sema- foros. Los principales componentes del controlador son un oscilador de base de tiempo, un contador para determinar si permanecen autos en el camino, un con- tador de trfico para medir el flujo de trico relativo en ambas direeciones, un cireuito para calcular las asignaciones de tiempo de duracion de la luz verde para ambas direeciones, y una unidad de control de la maquina de estados. A continuacién describimos de manera breve las funciones de estos médulos. 1. Oseilador de base de tiempo. Este oscilador generaré una seta de reloj que serdutilzada para calcular los momentos en que las luces se alternrin, Supondremos que el periodo de 10 segundos para Ia luz mbar ser c evento mis corto dest sistema. Caleularemos los demas tiempos de alterancia como rultiplos de 10 segundos. Ast ulizaremos una seal de reloj con wn period de 10 segundos. Calevlaremos la cantidad de tiempo de luz verde asignada a cada dreecién cada $ minutos. Por tanto, e osciladorinerementard un contador aque servieb para generar un pulso cada $ minutos. 2. Contador de autos en eleamino, Para determinar si quedan autos en el camino antes de ativar una luz verde utlzaremos un contador que calcul la diferencia fenire el nimero de autos que eniran en el camino, Ny el imero de aos que salen dl eamino, N Supondremos que cl camino est libre siN,~ V,=0. EL ‘ndmnero de autos que entran en cl eamino se determina contando los puss de ‘un senso, mientras que el nimero de autos que salen se determina contando los ‘ulsos del oto sensor. Como la nica condicin de interés es N,~ N, =0,n0 hecesitamos contar realmente, Po ano, utilizaremos un contador arbalabajo {que se incrementari mediante los pulsos del sensor Sy se deersmentra mediante {os pulsos dl sensor S, Una setal de salida del contador indica la condicién M,-N,=0. Maquina de estados de la uidad de contol Seccién 13.3 Controlador de trafico de un carril 815 css ar. Fr ron conidia de op de: ca A climenetenemmaasereacar naire Seek ee enn eee eee Ss tama aeons lg en Grech ecporens om roe ape er Easing tagaen ss er oe sear oe fue vests iom pea eee ann eienad mek maior Se ee ae ieee eo cin 4. Ligeia fotos pac vera sms edad coin fee ee a ree a aesoos onion ge ere aman cespriciistuinmely See ech fe eseeed 0) 050) mice Se eet ceiraerliakpen See ata waa 8 og FE Te dios aicsimvn ale 5, Und dental delenit La wie econ dela mis co tae conical} geek eaten ee Goatste cerenooaoens eset OO Sek galas omaoen sagen tes Sires acer omnia Seer Season 13.3.2 Disefio ldgico Enestaseccién desarrollaremas el disefio de fos médulos individuales ya deseritos. Después conectaremos estos médulos entre si para completar el diseo de sistema Generador de base de tiempo Una sefial de retoj con un periodo de 10 segundos proporcionara Ia base de tiempo para el controlador, Esta seftal de relo} sera generada mediante un ‘emporizador 555 que operard en mado multivibrador astable, como vimos antes ‘en la figura 13.6 para el ejemplo de la maquina tragamonedas. La ecuacién 13.2 implica que podemos obtener un periodo de 10 segundos si elegimos los siguientes valores de la resistencia y el condensador: Ry = 20K Ry, = 200K C=MaF La figura 13.23 muestra que la salida del circuito oscilador es la seital CLK. ‘Necesitamos un pulso corto al final de cada periodo de 5 minutos para seilalar que es tiempo de realizar un muestreo del contador de trfico y calcular ide nuevo la asignacion de tiempo de luz verde. Deduciremas este pulso mediante un contador binario simple incrementado por el generador de reloj. Como 5 min = 5% 60 8 30x10 8 usaremos un contador médulo 30, E1 741.$390 es un contador dual asinerono de décadas de 4 bits que podemos utilizar para este fin, como se muestra en la figura 13.234, En este ejemplo, el contador 1 se inerementaré una vez caua 10 segundos y el contador 2 se incrementaré cuando el contador | cambie de 9» 816 Capitulo 13 Ejemplos de diserio Contador 1 (edly as tap e tek =A oe Contador 2 T isd b cd 2dr S minutus i eo. 20 rao o_o eo ow wl ofolule w)o fala] « 7 ofofala]a nfo foflef al ul fae wlofolale wfolulele » © Figura 13.23 Dise‘o de circuito del ganerador de base de tiempo. (a) iagrama logic. (b) Contador 1 = 9c) Contador 2 = 3. 0. En relacién con el mapa K de la figura 13.236, como el contador 1 nunca excede 9, 1 contador 2 debe incrementarse segun la condicién a Q,=1 ee bs) a Seccién 13.3. Controlador de trético de un carrl 817 De igual manera, el contador 2 nunca excede 3. Por tanto, segin ef mapa K de la figura 13.23¢, ambos contadores deben restablecerse para tener la condicion del ‘contador 2 2,-2.7) ‘Adems, ambos contadores sern desactivados pot In seftal masta RESET. La figura 15.23a muestra el eiteuito generador de base de tiempo completo Contador de autos en el camino ‘Como deseribimos anteriormente, el camino estard despejado siempre que el nimero de autos que salen del eamino (W,) sea igual al nimero de autos que entran en él (N,) Para detectar esta condici6n, tilizaremos un contador binario arriba/abajo como sigue. Generaremos pulsos desde los sensores 5, y S, eada ‘vez que un auto entre o salga del eamino. Para el trifico en la direccién I. los pulsos de S, indican autos que entran en el eamino, mientras que para ladireecion 2 indican autos que salen del camino, y viceversa para el sensor S., Como solo {importa la diferencia entre los autos que entran y salen, utlizaremos tos pulsos de'S, para incrementar el contador y los pulsos de S, para deerementarlo, Cada ‘vez que la cuenta sea igual a cero, el eontador se haba inerementado y decremen- tado un mismo niimero de veces; es decir, N, ~ N, = 0, lo cual indica que el camino esté despejado, El contador binario arribalabajo utilizado para este médulo debe tener un riimero suficiente de bits para contar ef nimero maximo de autos que pueden entrar en el camino sin salir de ék es deir, para caleular el maximo valor esperado {de N, W,, En este ejemplo supondremos que basta un contador binario de 4 bits: es decir, no habré mas de 15 autos en el camino en cualquier instante dado, 1 7ALS193 es un contador binario de 4 bits arribsvabajo con entradas de reloj independientes para contar hacia arriba y hacia abajo. La figura 13.24 muestra su configuracién, de modo que la entrada de reloj UP sea controlada por pulsos desde el sensor 5, y la entrada de reloj DOWN sea controlada por 5,. Una ‘compuerta NOR de 4 entradss detectard una cuenta igual a cero y producira una Salida de 1 l6gico, lo que indicara que N, = Ven cuyo caso todos los autos que han entrado al camino lo han dejado. 7415198 818 Capitulo 13. Ejemplos de diserio Contador de trifico El funcionamiento del contador de trfico es similar al del contador de autos en el camino, pues mide Ia diferencia entre el nimero de autos que cireulan en el ‘camino en cada direccién. Utilizaremos de nuevo un contador arriba/abajo, inerementado por los autos que circulan en una direccién y decrementado por los autos que circulan en sentido opuesto, En este caso, solo utilizaremos los, pulsos de un sensor, 5, y una seRal de fa unidad de control indicaré la direecién del tfico, Para minimizar la complejidad, supondremos que la diferencia entre el nimero de autos que circulan en el camino en tas dos direcciones no seri ‘mayor que 15, por lo que basta un contador de 4 bits, ‘De nuevo utilizaremos un contador arriba/abajo 74LS193 de 4 bits, como se muestra en la figura 13.25. El contador se incrementa con cada pulso en SI ‘mientras Gl se encuentra activa, y se decrementa con cada pulso en $1 mientras @2 se encuentra activa, Restableceremos el contador cada § minutos. Asignacién de tiempo de luz verde La cantidad total de tiempo asignado a las luces verdes en un ciclo de trafic completo es T=T,+T, donde 7, es el de tiempo asignado a la tuz verde Gi en la direccién | y 7,¢s el tiempo asignado a la luz G2 en la direecién 2. Si el trifico en cierto periodo de 5 minutos es mayor en Ia direecién | que en Ia direccién 2, 7, se incrementara ‘en una unidad de tiempo y T, se reducira en una unidad de tiempo, mantenieado Ty, constante. Para evitar una obstruccién del trifico en cada direccin. no redueiremos el tiempo por debajo de un valor minimo especifico. En este diseRo asignaremos T,, = 160 s, lo cual corresponde a 16 periodos de la seal de reloj CLK. Este tiempo se reparte entre 7, y 7, La figura 13.25, muestra el circuito. El contador de tiempo de luz verde 741895 se inerementa cada 10 segundos mientras esté encendida alguna luz verde: es decir, mientras G1=10G2= 1. Lasefal de reloj se desactiva cuando G1 =G2=0, Suponemos que GI se enciende-a la cuenta de 0. Un comparador 74.885 detectars la condicién (= 7,, y en ese momento G! se apagara y el contador se detendra hasta que G2 se encienda. A continuacién, contara hasta 15 (Q,.0, Q,0,= 1111). y entonces 7, asumird el valor | para apagar G2 en la unidad de control La asignacién de tiempo para 7, estaré determinada por un segundo contador. Este contador se inicializa con el valor 7 en el momento del restablecimiento, haciendo 7, = T,= 80. Luego, el contador se inerementara 0 decrementara después de cada periodo de 5 minutos, segin el contador de trifico, para ajustar 7, Utilizaremos un tiempo minimo de 40 segundos para T, y Ty, Por tanto, et contador no se decrementard si T, = 3 y no se increméntard si 7, = 12. Deducimos las condiciones para inhibirel deeremento ¢ incremento del contador mediante los mapas K'de la figura 13.26. Observe {que los mapas contienen condiciones prescindibles, ya que el contador nunca sera menor que 3 ni mayor que 12. La expresién logica utilizada para inhibir al contador es la siguiente: INHIBIT = DN -(,0,) + DN (QQ) ‘Seccién 13.8 Controlador de trafico de un carril 819 oe 998 Comste, (2 asi as asia i Pre : Sas a pwr of da ; pose tant Go| pf ‘ | sees a ! on Asw Ane ri Eas 6 n H p bP ° yaw le Coa T, s 3 ee a | Figura 18.25 Diagrama\égico del temporizador do luz VERDE. . onde DN es la senal del contador de trfico que controls la entraia DN/UP det : Contador 7, La sefal INHIBIT se aplica ala entrada CTEN del contador Ty : ‘esactivando el contador cuando INHIBIT = 1 y activéndolo cuando INHIBIT : La figura 13.25 muestra el circuit légico, ‘Unidad de control La unidad de control requiere durante Jos cuales la luz es verde y amar is estados, lentes @ los momentos ila en cada direccién y durante los 820 Capitulo 13 Ejemplos de disefio a0 Ove OX mor os \ a0 orto wl) afolo}o wlofofafo ola felolo afolofale ular felofo nfelo]alto wl «| o}ofo wl olo]alo @ » Figura 13.26 Mapas K para la ligica que retuerz los limites de tempo de luz ‘verde. (a) Mapa K para intibir el conteo hacia abajo. (b) Mapa K para inhibi el conteo hacia aba, ‘cuales ambas luces son rojas. La figura 13.21 mostré los tiempos para estos cestados, Definimos los seis estados como sigue: ‘Estado Luz) Luz” 4 ‘Verde Rojo" a Amarillo Rojo ¢ Rojo Rojo D Rojo Verde £ Rojo Amarito F Rojo Rojo La figura 13.27 muestra el diagrama de estados deseado. Observe que la unidad de control sale de los estados 4 y D después de los instantes 7, y 7, respectiva- ‘mente, como ya hablamos definido. Salimos de los estados B y E después de un ‘solo periodo de reloj Salimos de los estados Cy F tan pronto como el nimero de ‘autos que salen del camino es igual al mimero de autos que entr6 en él, es decir, tan pronto como la salida del contador de autos en el camino es igual a cero, lo que indica la condicién de camino despejado. En esta méquina de estados, las transiciones de estado ocurren en una secuencia fija, como en un contador simple médulo 6; es decir, la maquina s6lo realizaun ciclo. través de los estados A~B-C-D-E-F-A, etcétera. Elmomento de los cambios de estado depende de las tes entradas 71, 7, y Despejado. Podemos utilizar varios métodos para diselar esta maquina de estados; uno de ellos consisira en diseftar un contador médulo 6, con un decodificador, para deducir las seis salidas, El contador se incrementarla con cada eambio de estado, Otra alternativa es desarrolar el disefo.a partir de una tabla de estados de seis filas y ocho columnas, correspondientes a los seis estados y las tres ‘entradas, Esta implantacién requeriria tres flip-flops y varios circuitos de Logica ‘combinatoria. Para este ejemplo, utlizaremos una asignacin de estados one-hot, definida nel capitulo 8, y realizaremos la maquina de estados con un registro de corri- rmiento de seis bits, como en Ia figura 13.28. Cada sala del registro de corimien- to corresponde a un estado de la méquina. Las salidas 4 y B controlan las luces a AT Figura 13.27 Diagrama de estados del controlador de trae, Gy YL, respectivamente, mientras que las salidas D y E controlan las luces G2 y ¥2. Laluz RI se enciende siempre que Gi y YI estén apagadas y, de la misma ‘manera, R2 se enciende siempre que G2 y ¥2 estan apagadas. Estas condiciones de salida son las siguientes: Sg, Q, Gs Qn ¥ ca R= @ R= (GFR) OR = (FH ‘Cuando se oprime el botén RESET, el bit 0 del registro de corrimiento se inicializa con 1 y los demas bts con 0 para que la maquina inicic en el estado 4 ‘A continuacién, se activa la entrada de activacion uel corrimiento y el registro realiza un corrimiento para cada condicién indicada en el diagrama de estados. Estas condiciones se combinan para dar Ia siguiente sefial de activacion del ‘corrimiento: SHIFT-EN =(A-T)) + B+ (C-CLR)+(D-T) +E + UF CLR) La figura 13.28 muestra que la sefial SHIFT_FN se combina mediante un AND con CLK para controlar las dos entradas CKI del 74LS95. que proporciona la sefial de reloj durante las operaciones de corrimiento. CLK también controla las entradas CK2 del 74L.S95, que suministran la sefal de reloj al registro durante las operaciones de carga. ® 13.4 Caja registradora de una tienda de abarrotes Lamayor parte de los establecimientos de venta al menudeo, incluidas las tiendas de abarrotes, utilizan cajas registradoras para cobrar asus clientes. Las funciones bisicas de una caja registradora en una tienda de abarrotes son introducir y mostrar los precios de los aticulos individuales que el cliente desea adquit ‘para después calculary presentar la cuenta total, Muches terminales electrénicas ‘modemas de punto de venta calculan tambign descuentos, llevan un registro de {os inventarios, ealculan el cambio reaizan algunas otras funciones. Se utilizan a a 822 Capitulo 13. Ejemplos de disefio. Salas alas ces nm an af elelo——tsator—= [a] € ct — > [ + ——t _tt BT pd jn pase lolobobo | puss lolebuly Dels | Camino SERN Os Qe Qe Qn sarin 2s Qn Ge Or hea iq woe Ed wove soar | ee ale eden & odccs a Shek a wep a}afals| ck SS Figura 13.28 Diagrama igico de [a unidad de control del sematoro lectores magnéticas de cédigo de barras o teclados para introducir los precios, cl niimero de inventario, los descuentos y dems informacion. Para este ejercicio, disefiaremas el circuito de control de una caja registra ‘Abarotes ACME, s soe ‘dora con funciones minimas, que slo calcue la cuenta para una lista dearticulos, s (8) (8). (6 (8) Los precios de todos los articulos se introduciran mediante un teclado, La parte numérico, Los 14 botones incluyen los digitos 0 a9, y as siguientes funciones OQ oO ®@ especiales: y @ : © Seret a gan gpa saber iniroducido todos los precios, para mostrar frontal se verd como el diagrama dela figura 13.29, con 14 botones y un display ‘amen: Se oprime después de tedear cada precio. ‘cuean extny: Se prime para limpiar el display si se ha cometiGo un errr al introducir el precio de un articuo. =» Figura 13.29 Caja recistradora ‘ean Toran: Se oprime para limpiar el total de la caja registradora antes de 4 una tienda de abarrotes. introducir los aticuls de un nvevo cliente. Para que el proyecto sea manejable, restringiremas los nimeros a cuatro igitos decimeles, de modo que todos ls precios ytotalesestarian ene ntervalo {00.01.. $99.99}. Exhibiremos todos los nimeros como valores decimales en displays LED de siete segmentos. - ne TT Secci6n 13.4 Caja registradora de una tienda de abarrotes 823 13.4.1 Necesidades del sistema Las components principales del creuito de contol de laa , yen un tcladoy un codifcador para ls 14 teas de cae egiesoern os, “splay de cuatro digits, un registro de entrada en el que se recorren los codigen [BCD de cuatro bits pari del coiicador del tecladoy se envian al aiplay, yun acumulador, que calcula el total actual. Todos los elementos son controlados por Seflales desde el teclado. La figura 13.30 muestra un diagrama de bloques parm ‘ireuito de control dela caja registradora. Los componente son los siguientes: 1. Teclado. El eclado tiene 14 teclas de bot6n ya desriss, Utilizaremos iterruptores de boton con filtrado de rebotes. Un circuito codificador generari el valor BCD correspondiente a cada digito numérico inroducdo, junto con un pulso que indique el hecho de que se ha ‘oprimido una tecla de digit. Las sefalesindividuales de los botones TOTAL, ENTER, CLEAR TOTAL y CLEAR ENTRY se enviardn directamente alos regsiros de entrada y acumulado. 2. Display Los digitos decimales se presentarén en cuatro elementos LED ée siete segmentos. Como Ios nimeros deben aparecer en deci- ‘mal, uilizaremos decodificadores BCD a siete segmentos para contro- lar display. Durante la introduccion del precio, los digitos se recorre- rin de derecha a izquierda a través del display al ser introducidos. Para Cuslguier nimero que necesite menos de cuatro digitos no exhibiremos fos cers a la iquierda; es decir, estos digitos aparecerin en blanco en el display para mejorar la legibilidad dl nimero desplegado, 3. Registro de entrada, El registro de entrada se cargard con nimeros introducidos desde el tectado y se recorrera de derecha a izquierda hasta que se oprima la tecla ENTER. Las salidas del registro de entrada se enviardn al display yal acumulador, donde se aleularé 1a cuenta. Si se introducen mas de cuatro digits, solo se conservarin los fitimos cuatro. Después de oprimir la tecla ENTER, el valor se cconservarien el registro de entrada, de mado que podamos a ‘otro anticulo del mismo preci a la cuenta con solo opr ir ira tecla ENTER de nuevo. Al oprimir la tecla TOTAL, el registro de entrada : Poo " c J , | Lae ——— vom, e u CLEAR ENTRY faa al cameo aie nen ‘ Thies : tte in Figura 13.30 Diagrama de bloques de Ia cal registradora. _—d 824 Capitulo 13 Ejemplos de disefio se cargard con la cuenta total del acumulader. Si se comete un error al introducie un precio, el registro de entrada se limpiar4 oprimiendo la tecla CLEAR ENTRY. El registro de entrada también se fimpiaré cuando se oprima la tecla CLEAR TOTAL en preparacién para el proximo client. 4, Acumulador. El acumulador mantiene el total hasta ese momento de Ta venta actuat, Para iniciar una nueva operacién con un cliente, el acumulador se limpia oprimiendo la tecla CLEAR TOTAL. Posterior- ‘mente, cada vez.que se oprima la tecla ENTER el precio que esté en el registro de entrada se sumaré al total actual que esta en el acumulador. Como todos los ndmeros son decimales,utlizaremos un sumador [BCD de cuatro digitos para calcula los totales 13.4.2 Disefo légico Como en nuestros ejemplos anteriores, realizaremos el disefo del eircuito de Ia caja registradora disefiando y probando por separado cada uno de los médulos ya descritos. A continuacién, conectaremos estos médulos entre si y los probaremos hasta que todo el sistema funcione. Los siguientes parrafos presentan Jos disefios de los médulos individuales. Teclado Cada uno de los 14 botones del teclado serd un interruptor de botén con filtrado de rebotes, como vimos antes (Fig. 13.3). Las seflales producidas por las 10 teclas de digitos numéricos (0 a 9) se codificardn en un valor BCD de 4 bits ‘yuna seal DIGIT enviada al registro de entrada para indicar que se ha oprimido tuna tecla de digito. Las sefales de las euatro teclas especiales de funcién se enviar de manera directaa los registros de entrada y acumulador para inicializar las operaciones correspondicntes. Produciremos los cédigos de digito BCD mediante un eodificador 10.0 4 ‘con prioridad construido como en la figura 13.31. El codificador 10 a 4 se construiré con dos codificadores 8 a 3 con prioridad 74LS148. Los botones 0 a 7 controlan las entradas del primer couificador, y los botones 8 y 9 controlan las primeras dos entradas del segundo codificador. Como las entradas del 74LS148 Son activas bajas, al oprimir los botones 0 a9 deberemos obtener una seal baja En consecuencia, las seiales para cada uno de tos botones 0 a 9 tomarén de la ‘salida superior de la compuerta NAND (pin 3 de slida de a compuerts NAND) del circuto con filtrado de rebotes de Ia figura 13.3, correspondiente ata salida Odet laich. Esta saida sera baja si se oprime el botén que establece elfarch con filirado de rebotes y alta cuando se deje de oprimir ese bot6n. Las salidas 42 a . ‘AO del codificador proporcionan los 3 bits inferiores del nimero de tecla. Elbit ‘mas significativo es 0 para las teclas 027, y 1 para las teclas 8 y9. Al oprimirse una tecla de digito, la salida GS del codificador afectado seré baja. Por tanto, jpodemos utilizar la salida GS det primer codificador como el bit mas significative del cédigo BCD, ya que es 0 cuando oprimimos una de las teclas 0 a 7, y 1 en ‘caso contratio, Observe que realizamos un OR con las salidas 40 de los dos codificadores para obtener el bt menos significativo del eddigo BCD; hacemos Jo mismo con las salidas Al y 42 para obtener los otros dos bits del e6digo BCD. De manera andloga, se forma un OR con las dos salidas GS para tener una ‘sefial de pulso, DIGIT, que se envia al registro de entrada para forzar la captura “ de-un nuevo digito. x Secol6n 13.4 Caja registradora de una tienda de abarrotes 825, Teclas de digas (de as slidas activa bajas dt eircito con ftrado de reboes) T2345 67 ra.su8 “Tectas de funcisn AL a2 a0 os (Ge as slidas actives alas det eireito ‘con ilzado de ebotes) 9 14] 6] 7] 9 Cc ————__., ‘ CLEAR CLEAR TOTAL ENTER 5 TOTAL ENTRY : 1 Diao ee ee " | | | ! Alos resists i Figura 13.31 Codificador del teclado dela caja registradora Registro de entrada El registro de entrada debe almacenar hasta cuatro digitos para el display, estos digitos también se envian al acumulador para caleular el precio total. A fin de crear el efecto del corrimiento de los dgitos de derecha a izquierda en el display durante Ia introduecién de los precios, el registro debera cargarse en forma serial con digitos BCD del codificador del teclado cuando se reciba un pulso en la linea DIGIT. Al oprimir la tecla TOTAL, el registro deberd cargarse en forma paralela con el valor del acumulador para enviar al display el precio total. Por {ltimo, al oprimir el botén CLEAR ENTRY 0 CLEAR TOTAL, el registro de ‘entrada se inicializard en ceros, ‘Las funciones anteriores requieren un registro de corrimiento de 16 bits que realice las funciones de corrimiento hacia laizquierda, carga en paralelo y de limpiar. E1 médulo 7ALS195A es un registro de corrimiento de 4 bits, con corrimiento sincronizado, carga paralela y con entradas de control de limpiar asincronas. Utilizaremos cuatro de estos médulos para el registro de entrada, como se muestra en la figura 13:32. Cada digito BCD es un valor de 4 bits. En vez de desplazar un nuevo

También podría gustarte