circuitos electrónicos. curso 2007 2008. examen parcial … · circuitos electrónicos. curso...

13
Circuitos Electrónicos. Curso 20072008. EXAMEN PARCIAL Primer problema Se desea diseñar un sistema síncrono para el control de una puerta de un ascensor. El sistema debe ser capaz de abrir la puerta del mismo, una vez ha llegado al piso, y mantenerla abierta durante un cierto tiempo (T1). Si transcurrido ese tiempo no ha entrado ni salido nadie, lo que detectará con un sensor infrarrojo de paso, cerrará las puertas. Si detecta el paso de alguna persona, comenzará la cuenta de un tiempo más largo (T2). Cada vez que pase una nueva persona, se reiniciará la cuenta. En el dibujo se observa el ascensor con los sensores correspondientes. Para resolver el circuito, se propone dividirlo en dos bloques, el primero de los cuales será una máquina de estados síncrona de Moore y el segundo básicamente un contador. Seguidamente, se propone el funcionamiento de la máquina de estados: 0. Reposo. Permanezco en este estado mientras el ascensor se está moviendo entre una planta y otra. Cuando llegue a la planta deseada, se activará la señal SA. En ese caso, iré al estado 1. Durante este estado, la señal de abrir puerta estará desactivada, y el contador auxiliar se reseteará usando la señal RES=0. 1. Abro la puerta (ABRE=1) y empieza la cuenta del tiempo T1 (RES=1, CL=0). En este estado permanezco hasta que acabe la cuenta (FIN=1) o bien se detecte el paso de una persona en el sensor SP. En el primer caso iré al estado 2 y en el segundo al 3. 2. Una vez acabada la cuenta de T1, empiezo a cerrar las puertas (ABRE=0). Una vez estén completamente cerradas, se desactivará la señal SA, momento en el cual volveré al estado 0. Sin embargo, si estando en este estado entrase o saliese alguien, volvería a abrir las puertas y a comenzar el ciclo, yendo al estado 3. 3. En el estado 3 reinicio el contador, que ahora debe contar un tiempo T2, y espero a que se desactive el sensor de presencia, en cuyo caso iré al estado 4. Para señalizar que el tiempo debe ser T2 uso la señal CL=1 4. En el estado 4 espero a la finalización del tiempo T2, poniendo CL=1 hasta que FIN sea 1, yendo en ese caso al estado 2. Si durante este estado se volviese a activar el sensor, volvería a 3. Supondremos que, durante todo el proceso la señal SA no puede desactivarse de manera accidental, y sólo se pondrá a 0 cuando el ascensor esté completamente cerrado. Se pide: 1.Diseñar el Bloque 1 como una máquina síncrona de Moore. Se sugiere para ello simplificar de alguna manera el número de entradas a la máquina. 1.1: Tabla de transición de estados completa comentada (3 puntos) 1.2: Simplificación y resolución de la máquina de estados, expresando las ecuaciones lógicas del circuito combinacional de entrada y de salidas de la máquina (3 puntos) 2. Diseñar el bloque 2. Para ello, habrá que generar una única señal FIN en función de las señales RES y CL. Los tiempos T1 y T2 se fijan a 4s y 6s respectivamente, siendo el reloj del sistema de 5Hz. (3 puntos) 3. Se desea incluir ahora también un pulsador de emergencia, que lleve al sistema a un estado nuevo, en el cual se abren siempre las puertas, y del que no se sale hasta que se reinicie el controlador. ¿Cuál sería la mínima modificación del sistema resuelto anteriormente? Suponer que la señal de emergencia proviene de una “seta” (pulsador con enclavamiento que permanece siempre a 1 una vez pulsado, hasta que se “rearma” (1 punto) NOTA: en todos los casos se dispondrá únicamente de puertas estándar y de biestables tipo D. TIEMPO: 1h 30min BLOQUE 1 BLOQUE 2 SA SP ABRE RES CL FIN CLK

Upload: lyduong

Post on 25-Sep-2018

231 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Circuitos Electrónicos. Curso 2007 2008. EXAMEN PARCIAL … · Circuitos Electrónicos. Curso 2007‐2008. EXAMEN PARCIAL ... 1.2: Simplificación y resolución de la máquina de

Circuitos Electrónicos. Curso 2007‐2008. EXAMEN PARCIAL  Primer problema  Se desea diseñar un sistema síncrono para el control de una puerta de un ascensor. El sistema debe ser capaz de abrir la puerta del mismo, una vez ha  llegado al piso, y mantenerla abierta durante un cierto tiempo (T1). Si transcurrido ese tiempo no ha entrado ni salido nadie, lo que detectará con un sensor infrarrojo de paso, cerrará las puertas. Si detecta el paso de alguna persona, comenzará la cuenta de un tiempo más largo (T2). Cada vez que pase una nueva persona, se reiniciará la cuenta. En el dibujo se observa el ascensor con los sensores correspondientes.  

Para resolver el circuito, se propone dividirlo en dos bloques, el primero de  los cuales será una máquina de estados síncrona de Moore y el segundo básicamente un contador. Seguidamente, se propone el funcionamiento de la máquina de estados: 

0. Reposo. Permanezco en este estado mientras el ascen‐sor  se está moviendo entre una planta y otra. Cuando llegue a la planta deseada, se activará la señal SA. En ese caso,  iré  al  estado 1. Durante este estado,  la  señal de abrir puerta estará desactivada, y el contador auxiliar se reseteará usando la señal RES=0.  

1. Abro la puerta (ABRE=1) y empieza la cuenta del tiempo T1 (RES=1, CL=0). En este estado permanezco hasta que acabe la cuenta (FIN=1) o bien se detecte el paso de una 

persona en el sensor SP. En el primer caso iré al estado 2 y en el segundo al 3.  2. Una vez acabada la cuenta de T1, empiezo a cerrar las puertas  (ABRE=0). Una vez estén completamente cerra‐

das, se desactivará la señal SA, momento en el cual volveré al estado 0. Sin embargo, si estando en este estado entrase o saliese alguien, volvería a abrir las puertas y a comenzar el ciclo, yendo al estado 3.  

3. En el estado 3 reinicio el contador, que ahora debe contar un tiempo T2, y espero a que se desactive el sensor de presencia, en cuyo caso iré al estado 4. Para señalizar que el tiempo debe ser T2 uso la señal CL=1 

4. En el estado 4 espero a la finalización del tiempo T2, poniendo CL=1 hasta que FIN sea 1, yendo en ese caso al estado 2. Si durante este estado se volviese a activar el sensor, volvería a 3. 

Supondremos que, durante todo el proceso la señal SA no puede desactivarse de manera accidental, y sólo se pondrá a 0 cuando el ascensor esté completamente cerrado.  

Se pide: 

1.‐ Diseñar el Bloque 1  como una máquina  síncrona de Moore. Se  sugiere para ello  simplificar de alguna manera el número de entradas a la máquina. 

  1.1: Tabla de transición de estados completa comentada (3 puntos) 

1.2: Simplificación y resolución de la máquina de estados, expresando las ecuaciones lógicas del circuito com‐binacional de entrada y de salidas de la máquina (3 puntos) 

2. Diseñar el bloque 2. Para ello, habrá que generar una única señal FIN en función de las señales RES y CL. Los tiempos T1 y T2 se fijan a 4s y 6s respectivamente, siendo el reloj del sistema de 5Hz.  (3 puntos) 

3. Se desea  incluir ahora  también un pulsador de emergencia, que  lleve al  sistema a un estado nuevo, en el cual  se abren siempre las puertas, y del que no se sale hasta que se reinicie el controlador. ¿Cuál sería la mínima modificación del sistema resuelto anteriormente?  Suponer que la señal de emergencia proviene de una “seta” (pulsador con encla‐vamiento que permanece siempre a 1 una vez pulsado, hasta que se “rearma” (1 punto) 

NOTA: en todos los casos se dispondrá únicamente de puertas estándar y de biestables tipo D.  

TIEMPO: 1h 30min 

BLOQUE 1

BLOQUE 2

SA

SP

ABRE

RES CL FIN

CLK

Page 2: Circuitos Electrónicos. Curso 2007 2008. EXAMEN PARCIAL … · Circuitos Electrónicos. Curso 2007‐2008. EXAMEN PARCIAL ... 1.2: Simplificación y resolución de la máquina de

Circuitos Electrónicos. Curso 2007‐2008. EXAMEN PARCIAL  Segundo problema  Se desea diseñar un aparato para medir distancias inferiores a 10m, con una precisión de 1cm. Para ello, se va a usar un sistema de emisión y recepción de ultrasonidos. Al pulsar una tecla, el sistema enviará una onda sonora y esperará a la recepción de la misma. En el receptor, un circuito generará un ‘1’ lógico mientras se reciba la señal sonora. Una vez que se reciba dicha señal durante al menos 4 ciclos de reloj consecutivos daremos por finalizada  la medición. Para ello,  la recepción de la señal irá almacenando la señal recibida e incrementando un contador hasta que se alcance el final indi‐cado. Suponiendo, para simplificar, que la velocidad del sonido fuese justamente 300 m/s, se diseñará el sistema para que cada incremento en el contador suponga justamente 1cm de separación, lo que significa que en ese tiempo el soni‐do debe haber recorrido 2cm (uno de ida y otro de vuelta). El circuito se dividirá en los bloques que se muestran en la figura:  

 

1. El primer bloque será una máquina de estados o circuito equivalente que, una vez activa  la señal P,  inicie el proceso, espere al final del mismo (señal FIN), yendo a un estado en el que se activará FIN_M para que se al‐macene el valor de  la cuenta. Si el contador se desbordase (señal FALLO), deberá  ir a un estado de error, del que no se saldrá hasta que P se desactive, y en el que se activará la salida ERR. Dados los tiempos característi‐cos del sistema, supondremos que P está activa todo el tiempo que dure el proceso, por lo que habrá que es‐perar, finalmente, a que P se desactive antes de pasar al reposo. 

2. El segundo bloque deberá comprobar la recepción de 4 ciclos consecutivos de ‘1’ en la entrada, una vez que el sistema se pone en marcha, e indicarlo con la señal FIN al primer bloque. 

3. El tercer bloque contará el tiempo hasta que se alcance el final. Para ello, deberá ser capaz de contar hasta el equivalente  a  10m,  sabiendo  que  en  cada  pulso  ha  recorrido  la  onda  sonora  1cm.  Cuando  reciba  la  señal FIN_M, almacenará el resultado de  la medida en el registro de salida MEDIDA, teniendo para ello en cuenta que el tiempo efectivo será de algunos ciclos menos de reloj de los que marca el contador, debido al retraso de la señal FIN 

 

Se pide: 

1. Calcular la frecuencia necesaria de reloj para que el sistema funcione como se ha descrito. (1 punto) 

2. Diseñar y resolver el bloque 1.(3 puntos) 

3. Diseñar y resolver el bloque 2 usando bloques constructivos. (2 puntos) 

4. Diseñar y resolver el bloque 3, calculando el tamaño necesario del contador y del registro de salida,  y la inter‐acción con las señales P y FIN_M. (4 puntos) 

NOTA: Para este problema, sólo se podrán usar puertas lógicas estándar y biestables de cualquier tipo. Se aconseja vivamente usar la señal P como Reset Síncrono en cada uno de los bloques, dadas las condiciones del problema.  

 

TIEMPO: 1h 

Page 3: Circuitos Electrónicos. Curso 2007 2008. EXAMEN PARCIAL … · Circuitos Electrónicos. Curso 2007‐2008. EXAMEN PARCIAL ... 1.2: Simplificación y resolución de la máquina de

Solución a los problemas del primer parcial 07‐08. P.3 

Solución al Primer problema. Para resolver el primer problema debemos realizar primero el diseño de la máquina de estados del bloque 1. El incon‐veniente puede venir de que tengo (al menos  inicialmente) 5 estados y 3 entradas. Esto me  llevaría, si no se pudiese simplificar, a tener que resolver por Karnaugh un sistema que depende de 6 variables (3 bits de estado y 3 entradas). Por ello se nos sugiere simplificar las entradas de la máquina.  

Independientemente de ello, nos piden inicialmente la tabla de estados completa, comentada, o sea sin realizar simpli‐ficaciones de ningún tipo. Dicha tabla sería: 

  Entradas: SA‐FIN‐SP  Salidas   000  001 010  011  100 101 110 111 ABRE RES CL 0: reposo  (0)  (0)  (0)  (0)  1  ‐‐  ‐‐  ‐‐  0  1  0 1: abriendo T1  ‐‐  ‐‐  ‐‐  ‐‐  (1)  3  2  3  1  0  0 2: Cerrando  0  ‐‐  ‐‐  ‐‐  (2)  3  (2)  3  0  1  0 3:Res. Cont.   ‐‐  ‐‐  ‐‐  ‐‐  4  (3)  4  (3)  1  1  1 4: abriendo T2  ‐‐  ‐‐  ‐‐  ‐‐  (4)  3  2  3  1  0  1  Como comentarios a la tabla, conviene notar que: 

• Se ha supuesto posible cualquier combinación de entradas en caso de que SA sea 0, para el primer estado. Esto significa que, mientras el ascensor está en movimiento no puedo saber, o mejor dicho no me interesa, el valor de las otras señales. 

• Una vez que arranca, en el primer ciclo sí que consideraré imposible que estén activas las señales provenientes del sensor o del contador. La primera suposición tiene que ver con que, físicamente, si está el ascensor en su si‐tio y las puertas cerradas no se puede interrumpir la señal del sensor SP. La segunda es evidente ya que estoy reseteando el contador en este estado. 

• Una vez en el estado 1, el único caso en el que SA se puede desactivar es en el estado 2, por definición del pro‐blema.  

• Se observa que siempre que se activa el sensor de paso, voy al estado 3, en el que reseteo de nuevo el conta‐dor y pongo a 1 la señal CL para indicar “cuenta larga”. 

• Tanto en el estado 1 y 4, en  los que estoy abriendo  la puerta, o bien esperando el tiempo que corresponda, como en el estado 2, en el que estoy cerrando la puerta, atiendo a la entrada de una persona, dando prioridad como es lógico al hecho de que haya alguien entrando o saliendo. 

• En el estado 2 permanezco hasta que ocurra uno de los dos eventos posibles: que entre alguien antes de que termine de cerrar (en cuyo caso me voy a 3) o que se cierre la puerta y se mueva el ascensor (en cuyo caso se desactivará la señal SA). 

• En los estados 2 y 3, en los que reseteo el contador, no considero imposible que FIN esté activa, porque en el primer ciclo tras llegar a ellos, de hecho, todavía no estará reseteado dicho contador por lo que puede estar a 1, según como se haga el contador.  

 Viendo la tabla, a simple vista se observa que todos los estados tienen distintas salidas, a excepción de 0  y 2, los cuales no son simplificables por tener distintas transiciones. Por lo tanto, no puedo simplificar el número de esta‐das. Sin embargo, sí puedo simplificar el número de entradas, basándome en la influencia que la señal SA tiene en el sistema. En efecto, es fácil comprobar que SA actúa llevando siempre al sistema al estado de reposo (0). Esto sig‐nifica que la señal SA actúa de forma efectiva como un Reset Síncrono. O lo que es lo mismo, puedo prescindir de ella para el análisis del sistema,  incluyéndola al  final en  las ecuaciones, multiplicando a  lo que obtenga de resolver el resto del circuito:  De esta manera, para calcular las ecuaciones del  Circuito  Combinacional  de  Entrada,  sólo tendré  que  tener  en  cuenta  las  señales  SP, FIN, y los bits del estado. 

D0

D1

D2

D0'

D1'

D2'

Q0

Q1

Q2

SP

FIN

SA

C.C.E.

Page 4: Circuitos Electrónicos. Curso 2007 2008. EXAMEN PARCIAL … · Circuitos Electrónicos. Curso 2007‐2008. EXAMEN PARCIAL ... 1.2: Simplificación y resolución de la máquina de

Solución a los problemas del primer parcial 07‐08. P.4 

Usando esta simplificación propuesta, la tabla simplificada queda como se muestra a continuación.  

  Entradas. FIN‐SP     00  01  10  11  ABRE RES CL0: reposo  1  ‐‐  ‐‐  ‐‐  0  1  0 1: abriendo T1  (1)  3  2  3  1  0  0 2: Cerrando  (2)  3  (2)  3  0  1  0 3:Res. Cont.   4  (3)  4  (3)  1  1  1 4: abriendo T2  (4)  3  2  3  1  0  1 

 A partir de la tabla simplificada, en la que tengo ya sólo 2 entradas, la resolución es la de un sistema combinacional de 5 variables, para el circuito combinacional de entrada, y de 3 variables para el de salida. Lo primero que debo hacer es codificar el estado. La única precaución que hay que tomar es que el estado de reposo debe ser el 000, para que se pueda hacer la simplificación propuesta. Codificando por el valor binario de cada estado, la tabla de excitaciones de los biestables queda: 

   Y con esto genero las tablas de Karnaugh, en este caso de 5 varia‐bles, para las tres entradas de los biestables:  

 

D3=Q3∙ /Fin∙ /SP + Q2∙ Q1∙ /SP  

   

D2=SP + Q2∙ /Q1 + /Q2∙ Fin  

         

 D1=SP + /Q3∙/Q2∙/Fin 

Q3  Q2  Q1  Fin  SP  D3 D2  D1 

0  0  0  0  0  0 0  1 0  0  0  0  1  ‐‐ ‐‐  ‐‐ 0  0  0  1  1  ‐‐ ‐‐  ‐‐ 0  0  0  1  0  ‐‐ ‐‐  ‐‐ 

0  0  1  0  0  0 0  1 0  0  1  0  1  0 1  1 0  0  1  1  1  0 1  1 0  0  1  1  0  0 1  0 

0  1  0  0  0  0 1  0 0  1  0  0  1  0 1  1 0  1  0  1  1  0 1  1 0  1  0  1  0  0 1  0 

0  1  1  0  0  1 0  0 0  1  1  0  1  0 1  1 0  1  1  1  1  0 1  1 0  1  1  1  0  1 0  0 

1  0  0  0  0  1 0  0 1  0  0  0  1  0 1  1 1  0  0  1  1  0 1  1 1  0  0  1  0  0 1  0 

Q3=0 

 

D3

Q3=1           FIN‐SPQ2Q1 

00  01 11 10         FIN‐SP Q2Q1 

00  01  11 10

00  0  ‐‐  ‐‐  ‐‐  00  1  0  0  0 

01  0  0  0  0  01  ‐‐  ‐‐  ‐‐  ‐‐ 

11  1  0  0  1  11  ‐‐  ‐‐  ‐‐  ‐‐ 

10  0  0  0  0  10  ‐‐  ‐‐  ‐‐  ‐‐ 

Q3=0 

 

D2

Q3=1           FIN‐SPQ2Q1 

00  01 11 10         FIN‐SP Q2Q1 

00  01  11 10

00  0  ‐‐  ‐‐  ‐‐  00  0  1  1  1 

01  0  1  1  1  01  ‐‐  ‐‐  ‐‐  ‐‐ 

11  0  1  1  0  11  ‐‐  ‐‐  ‐‐  ‐‐ 

10  1  1  1  1  10  ‐‐  ‐‐  ‐‐  ‐‐ 

Q3=0    

D1 

Q3=1           FIN‐SP Q2Q1 

00   01  11  10         FIN‐SPQ2Q1 

00 01 11 10

00  1  ‐‐  ‐‐  ‐‐  00  0  1  1  0 

01  1  1  1  0  01  ‐‐  ‐‐  ‐‐  ‐‐ 

11  0  1  1  0  11  ‐‐  ‐‐  ‐‐  ‐‐ 

10  0  1  1  0  10  ‐‐  ‐‐  ‐‐  ‐‐ 

Page 5: Circuitos Electrónicos. Curso 2007 2008. EXAMEN PARCIAL … · Circuitos Electrónicos. Curso 2007‐2008. EXAMEN PARCIAL ... 1.2: Simplificación y resolución de la máquina de

Solución a los problemas del primer parcial 07‐08. P.5 

 Como se ha comentado anteriormente, éstas no son realmente las ecuaciones del circuito combinacional de entrada de la máquina de estados pedida, dado que no incorporan la señal SA. Para calcular las ecuaciones finales basta con multiplicar las obtenidas por SA, haciendo de esta manera que cuando SA sea 0, los tres bits de estado valgan 0, funcionando como reset síncrono del sistema: 

D3= SA ∙ (Q3∙ /Fin∙ /SP + Q2∙ Q1∙ /SP) D2= SA ∙ (SP + Q2∙ /Q1 + /Q2∙ Fin) D1= SA ∙ (SP + /Q3∙/Q2∙/Fin) 

 

Por último, tengo que resolver el circuito combinacional de salida, para calcular las señales Abre, Res y CL en función de Q3, Q2, Q1. Realizando las tablas de Karnaugh para cada una de ellas, se obtiene que: 

 

Abre=Q1+ Q3 RES=Q2+/Q3∙ /Q1 CL=Q3∙ /Q1 + Q2 

 Con esto ya tengo finalizado el primer apartado. En la siguiente figura se muestra el circuito: 

Para el segundo apartado tendré que diseñar un contador, reseteable síncronamente, que genere una señal de FIN al  llegar a 4s ó 6s, dependiendo del valor de la señal CL. Para ello usaré  la celda básica del contador encadenable, formada por un biestable D, una puerta Xor, y dos puertas AND (una para el reset síncrono y 

otra para la propagación de la activación de la cuenta). 

Como nos dicen que la frecuencia es de 5Hz, y tengo que contar a 4s y a 6s, necesitaré contar a 20 y 30 respecti‐vamente. Esto nos hace que necesitemos un contador de 5 bits, que puede contar hasta a 31. 

Page 6: Circuitos Electrónicos. Curso 2007 2008. EXAMEN PARCIAL … · Circuitos Electrónicos. Curso 2007‐2008. EXAMEN PARCIAL ... 1.2: Simplificación y resolución de la máquina de

Solución a los problemas del primer parcial 07‐08. P.6 

En la siguiente figura se muestra el circuito completo que implementa esta función. Se ve que FIN se obtiene como la suma de dos señales, una generada en 20 cuando CL vale 0, y otra en 30 cuando CL valga 1. 

Observando el circuito, vemos que FIN valdrá 1 durante 4 ciclos de reloj en el caso de contar hasta 20 (por‐que se mantendrá en los casos 20, 21, 22 y 23), mientras que sólo durará 2 ciclos en el caso de contar hasta 30, correspondientes a los casos 30 y 31. Y todo esto siempre y cuando no resetee el contador. Esto justifica el que no haya considerado imposible ninguna opción acerca de la señal FIN en la máquina de estados. 

Por último, en cuanto al tercer apartado, se nos pide incluir otra señal en el sistema. Esta función se podría implementar directamente como una máquina de estados, en este caso con 6 estados y 4 entradas, aunque resulta  poco  operativo. Otra  posibilidad  es  considerar  la  señal  de  emergencia  a  la  salida  de  la máquina, sumándosela directamente a la señal Abre. El problema de esta solución es que justamente la señal de aper‐tura de puertas pierde entonces la característica de ser salida de una máquina de Moore, convirtiéndose en algo similar a una máquina de Mealy, en la que las salidas pueden cambiar en cualquier momento. 

La solución propuesta aquí es utilizar una técnica en todo similar a la de considerar SA el Reset síncrono. En efecto, si tomamos  la señal ERROR como  ‘set síncrono’ del sistema, que  lleve al mismo al estado  ‘111’, del que no salgo nunca, y cuya salida ABRE sea 1, tengo resuelto el problema. Se comprueba que sólo he tenido que añadir 3 puertas lógicas en el circuito combinacional de entrada, mientras que el circuito combinacional de salida no cambia: 

Page 7: Circuitos Electrónicos. Curso 2007 2008. EXAMEN PARCIAL … · Circuitos Electrónicos. Curso 2007‐2008. EXAMEN PARCIAL ... 1.2: Simplificación y resolución de la máquina de

Solución a los problemas del primer parcial 07‐08. P.7 

 

En la siguiente figura vemos una simulación del circuito original, en la que se activa primero el contador cor‐to, tras lo cual se cierra la puerta, y en un segundo ciclo se observa que se activa también el sensor de pre‐sencia, con lo que el contador pasa a ser de 6s, tras lo que se cierra el ascensor: 

 

Se observa que el tiempo desde que se abre la puerta hasta que se da la señal de cerrar, en el primer caso es de 4s, mientras que en el segundo caso el tiempo desde que se desactiva el sensor hasta que se produce la señal FIN es de 6s. 

También es fácil observar que en  la señal FIN se producen glitches, pero que éstos no afectan al funciona‐miento del sistema, dado que es un sistema síncrono.  

Page 8: Circuitos Electrónicos. Curso 2007 2008. EXAMEN PARCIAL … · Circuitos Electrónicos. Curso 2007‐2008. EXAMEN PARCIAL ... 1.2: Simplificación y resolución de la máquina de

Solución a los problemas del primer parcial 07‐08. P.8 

Solución al segundo problema. En el segundo problema se plantea una situación bastante similar al problema anterior, en cuanto a que  la máquina de estados se parecerá bastante, aunque esta vez será más simple.  Lo primero que se nos pide es calcular  la  frecuencia de  trabajo. Para ello, sabemos que el contador  tiene que  incrementarse una vez por cada centímetro de separación con  la pared. Como en realidad el sonido tiene que “ir y volver”, el espacio recorrido por el mismo será 2cm, a una velocidad de 300m/s. Esto nos da un tiempo de: 

T=2∙10‐2 m / 300 m/s = 66.67µs 

O lo que es lo mismo, una frecuencia de 15kHz. 

Para realizar ahora el segundo apartado, nos sugieren vivamente que usemos la  señal P como Reset Síncro‐no, de la máquina de estados y del resto de bloques. Haciendo uso de esta sugerencia, se obtiene que la ta‐bla de transición queda como se muestra a continuación: 

 

 

 

 

Para entender esta tabla hay que recordar la existencia de la señal P, que lleva a la máquina al estado 0. Una vez allí, si P se desactiva paso directamente a 1, estado en el que permanezco hasta que se activa una de las dos entradas. Se observa que si  llegan “a la vez” daré prioridad a la señal Fallo, ya que esto significaría que la pared está a 10.01m, fuera del rango de medida. Los estados 2 y 3 son completamente estables, a excepción de la activación de la señal P, que los llevará de nuevo al estado 0.  

En el estado 0, podría haber considerado imposibles la activación de FIN y de FALLO, ya que ambas dependen de otros bloques que, de estar en el estado 0 estarán reseteados, y por tanto no se pueden producir.  En ese caso, el estado 0 sólo iría al 1 en la primera columna, cuando las entradas son 00, y en el resto de las colum‐nas pondría “–“ para  indicar transición  imposible. Si  lo hiciese así,  los estados 0 y 1 resultarían ser pseudo‐equivalentes, y sólo tendría 3 estados. Ambas soluciones son posibles, pero aquí desarrollaremos la indicada en la tabla de transición de estados. 

Al  igual  que  en  el  problema  anterior,  una  vez  calculadas  las  ecuaciones usando  esta  “tabla  simplificada”,  las  ecuaciones  reales  se  obtendrán  sim‐plemente multiplicándolas  por  la  señal  P.Codificando  cada  estado  con  el valor binario correspondiente, construyo la tabla de excitación como: 

  Entradas. FIN‐FALLO   00  01  11  10  Error Fin_m0: reposo  1  1  1  1  0  0 1: Esperando   (1)  3  3  2  0  0 2: Llegó Fin  (2)  (2)  (2)  (2)  0  1 3: Llegó Fallo.   (3)  (3)  (3)  (3)  1  0 

Q1  Q0  Fin  Fallo D2 D1

0  0  0  0 0 10  0  0  1 0 10  0  1  1 0 10  0  1  0 0 1

0  1  0  0 0 10  1  0  1 1 10  1  1  1 1 10  1  1  0 1 0

1  0  0  0 1 11  0  0  1 1 11  0  1  1 1 11  0  1  0 1 1

1  1  0  0 1 01  1  0  1 1 01  1  1  1 1 01  1  1  0 1 0

Page 9: Circuitos Electrónicos. Curso 2007 2008. EXAMEN PARCIAL … · Circuitos Electrónicos. Curso 2007‐2008. EXAMEN PARCIAL ... 1.2: Simplificación y resolución de la máquina de

Solución a los problemas del primer parcial 07‐08. P.9 

 Y a partir de ésta las tablas de Karnaugh para D1 y D0: 

 

D1=Q1∙Q0∙ FIN+Q0∙ Fallo  

 

 

D0=/Q0∙/Q1 + Q0∙Q1 + /Q1∙/FIN +/Q1∙Fallo    Hay que recordar que estas anteriores no son las ecuaciones reales de la máquina de estados, sino ellas mismas multiplicadas por P, como se muestra a continuación: 

D1=P∙(Q1∙Q0∙ FIN+Q0∙ Fallo) 

D0=P∙(/Q0∙/Q1 + Q0∙Q1 + /Q1∙/FIN +/Q1∙Fallo )  

Por último,  tendré que calcular el circuito combinacional de  salida, para el que no hace  falta ahora hacer ninguna tabla de Karnaugh, al activarse las salidas sólo en un caso: 

Error= Q1∙Q0 

Fin_m=Q1∙/Q0 

Con esto ya puedo dibujar el circuito, teniendo en cuenta las ecuaciones reales: 

          FIN‐Fallo Q1Q0 

 00  

 01

 11 

 10 

00  0  0  0  0 

01  0  1  1  1 

11  1  1  1  1 

10  1  1  1  1 

          FIN‐Fallo Q1Q0 

 00  

 01

 11 

 10 

00  1  1  1  1 

01  1  1  1  0 

11  1  1  1  1 

10  0  0  0  0 

Page 10: Circuitos Electrónicos. Curso 2007 2008. EXAMEN PARCIAL … · Circuitos Electrónicos. Curso 2007‐2008. EXAMEN PARCIAL ... 1.2: Simplificación y resolución de la máquina de

Solución a los problemas del primer parcial 07‐08. P.10 

Para el bloque 2, tengo que diseñar un sistema que sea capaz de “reconocer” la llegada de 4 “unos” consecu‐tivos. Esto se puede hacer de muchas maneras, pero tal vez la más sencilla sea con un registro de desplaza‐miento, de 4 bits. Nos indican que la señal P se puede usar como Reset Síncrono, y para hacer esto sólo ten‐go que multiplicar cada entrada por P, de forma que mientras sea 0 reseteo todo el registro, y cuando pase a valer 1, empiezo a dejar que la entrada evolucione. Si durante 4 ciclos seguidos vale 1, entonces tendré que Q3∙Q2∙Q1∙Q0 vale 1, siendo 0 en otro caso. Usando este circuito resuelvo el bloque: 

 

Con lo que ya estaría terminado este apartado. 

 

Por último, en el diseño del bloque 3 tendré que tener en cuenta que tengo que contar hasta ‘10m’, en  in‐crementos de 1cm. Esto da  inicialmente una cuenta de 1000. Pero, además, el circuito del bloque 2 me  in‐troducirá un retraso en  la medida de 4 ciclos de reloj, con  lo que en realidad debo contar hasta 1004. Para ello, en cualquier caso, necesitaré un contador de 10 bits, que me permita contar esos valores. Para hacer este circuito, lo más sencillo es usar algún tipo de celda encadenable. En este caso el contador tiene que ser reseteable  síncronamente, ascendente y no necesita  condición de marcha/paro.  La  celda básica  se puede tomar como: 

 

Uniendo diez celdas como la mostrada, realizo un contador de 10 bits, que me generará la señal de Fallo al  llegar a 1004 (1111101100 en binario) : 

Se observa que una vez que llegue la señal de FIN_M el contador parará. Como se comenta en el enunciado, este contador no almacena realmente el valor deseado, debido al error de 4 ciclos que se comete por tener que esperar a que la señal de entrada (in) esté activa durante 4 ciclos. Esto lo puedo resolver de dos formas distintas: la primera de ellas, la más evidente, es restar 4 a la salida, o lo que es lo mismo sumar ‐4. En princi‐

Page 11: Circuitos Electrónicos. Curso 2007 2008. EXAMEN PARCIAL … · Circuitos Electrónicos. Curso 2007‐2008. EXAMEN PARCIAL ... 1.2: Simplificación y resolución de la máquina de

Solución a los problemas del primer parcial 07‐08. P.11 

pio no presenta ninguna complicación, pero es tedioso, como se verá. La   otra posibilidad, más inteligente, es arrancar el contador 4 ciclos después de que la señal P se active, usando un circuito similar al empleado en el bloque 2. De esa manera “retraso” 4 ciclos el comienzo, y cuando  llegue FIN_M  tendré exactamente el tiempo empleado por la señal, y por tanto la distancia.  

Solución 1: La primera aproximación exige que realice un sumador de 10 bits, que puedo hacer fácilmente a partir del sumador completo de 1 bit: 

conectando  10  bloques  como  éste  realizo  el  sumador.  En  una  de  sus entradas pondré  la  salida del contador, y en  la otra  ‐4, que en binario resulta ser: 

  4: 00 0000 0100    Complemento a 1: 11 1111 1011   Complemento a 2: 11 1111 1100 

Por lo tanto el circuito sería: 

 

Para completar el problema todavía necesito un registro de almacenamiento del resultado. Ello no es más que un registro de captura de 10 bits, activado por la señal FIN_M.  

 

Solución 2: La otra posibilidad era retrasar el comienzo de  la cuenta. De esta manera, en el contador siempre tengo el valor correcto. Para ello, usaré el siguiente circuito auxiliar: 

 

Page 12: Circuitos Electrónicos. Curso 2007 2008. EXAMEN PARCIAL … · Circuitos Electrónicos. Curso 2007‐2008. EXAMEN PARCIAL ... 1.2: Simplificación y resolución de la máquina de

Solución a los problemas del primer parcial 07‐08. P.12 

Usando este circuito, e introduciendo la señal p_retrasado en vez de P en el contador anteriormente descri‐to, evitamos tener que usar el restador.  

En  la siguiente  figura vemos el resultado de una simulación realizada usando el primer método. En ella se observa cómo el contador avanza hasta 726, almacenándose finalmente en el registro de medida un 722. Se ve cómo el estado evoluciona de 0 a 1, y de 1 a 2, permaneciendo en 2 hasta que p se desactiva.  

 

Haciendo un Zoom en la zona en la que se produce la llegada de la señal, se observa que en efecto cuando llega la misma el contador vale 721, siendo 722 el valor que se debería almacenar: 

Page 13: Circuitos Electrónicos. Curso 2007 2008. EXAMEN PARCIAL … · Circuitos Electrónicos. Curso 2007‐2008. EXAMEN PARCIAL ... 1.2: Simplificación y resolución de la máquina de

Solución a los problemas del primer parcial 07‐08. P.13 

 

Por último, si hacemos una simulación en  la que el pulso  llegue más tarde de  la cuenta, veremos cómo se activa la señal Fallo, que provoca que se active la salida Error de la máquina de estados, la cual permanecerá en el estado 3  hasta que se desactive la señal P. En este caso, el registro de salida no cambia: 

 

Haciendo un Zoom en el momento del cambio, se observa lo comentado: 

Es significativo que la señal FALLO se activa y desactiva varias veces, debido a que está constituida como un circuito combinacional de las salidas de un contador, que no se detiene en caso de fallo. Este comportamien‐to, sin embargo, no tiene efectos negativos en el funcionamiento general del sistema, dado que una vez que llega “Fallo”, permanece en el estado 3 indefinidamente.