• No se han encontrado resultados

Convertir a base binaria los siguientes números: ( ) 2 ( ) 2 (235.3) 10 (100) 10 (26.5) 10. Analizar los siguientes circuitos. x y.

N/A
N/A
Protected

Academic year: 2022

Share "Convertir a base binaria los siguientes números: ( ) 2 ( ) 2 (235.3) 10 (100) 10 (26.5) 10. Analizar los siguientes circuitos. x y."

Copied!
21
0
0

Texto completo

(1)

Problema 1. Convertir a base decimal los siguientes números:

• (1000110)

2

• (1000110)

2

• (1110110)

2

Problema 2. Convertir a base binaria los siguientes números:

• (235.3)

10

• (100)

10

• (26.5)

10

Problema 3. Analizar los siguientes circuitos.

x1

x2 x3

x4 F

(c)

x y

F (d)

x y

z F

(a)

x y z

F (b)

b2 a2 b1 a1

X

Y (e)

x y

z F

(f)

x

y z F

(h) x

y z

F

(g)

Figura 1.1.- Circuitos a analizar.

(2)

Problema 4. Se desea diseñar el circuito de control de una planta de montaje encargado de la señal de aviso de evacuación. Para ello se dispone de tres sensores:

• A.- sensor de incendio,

• B.- sensor de humedad y

• C.- sensor de presión

Los materiales con los que se trabaja en dicha planta son tales que son inflamables y sólo toleran unos niveles mínimos de presión y humedad de forma conjunta (estos niveles se encuentran programados en los sensores correspondientes). El circuito a diseñar debe ser tal que active una señal de alarma cuando exista riesgo para los operarios de la planta.

Problema 5. Se desea diseñar un circuito de control de una máquina trituradora. En esta máquina existen dos sensores de llenado (S1 y S2), que determinan el nivel de los elemen- tos a triturar como se muestran en la figura:

Cuando la máquina se encuentra llena del todo, tienen que entrar en funcionamiento ambos trituradores; cuando se encuentra medio lleno, sólo tiene que funcionar uno de ellos; mien- tras que si no se detecta ningún elemento a triturar, ambos motores se han de parar. Dicha máquina tiene un mecanismo de emergencia a través de un conmutador de trituración, de tal forma que cuando está conectado la máquina opera según su contenido, mientras que si está desconectado, la máquina ha de pararse independientemente de su contenido.

Problema 6. Se desea diseñar un circuito de interfaz binaria-decimal, de tal forma que se active una señal indicando la combinación binaria que se ha introducido a la entrada. Reali- zar el diseño para números codificados con dos bits, siendo este elemento lo que se conoce como decodificador 2:4.

Problema 7. Encontrar una máquina de estados para los siguientes sistemas:

• Sistema de detección de error de un código “2-out-of-5”, con un solo canal de entrada por el que recibimos los bits de la palabra secuencialmente (uno detrás de otro). La determinación de la palabra correcta o no deberá coincidir con la llegada del último (quinto) bit.

• Sistema encargado por la siguiente carta:

“Querido amigo: Al poco tiempo de comprar esta vieja mansión, tuve la desagradable sorpresa de comprobar que está hechizada con dos sonidos de ultratumba: un canto picaresco y una sonrisa sardónica. Estos sonidos obedecen a ciertas leyes en función del sonido de un órgano o al olor de incienso quemado; de tal forma que en cada

P

M1 M2

S1 S2

Figura 1.2.- Esquema de la máquina trituradora.

(3)

minuto el sonido está presente o ausente. El estado de cada sonido depende del sigu- iente comportamiento:

• El canto conservará su estado (presente o ausente) salvo si durante el minuto actual no se oye la risa y toco el órgano, en cuyo caso el canto tomará el estado opuesto.

• En cuanto a la risa, si no quemo incienso, se oirá o no según el canto esté pre- sente o ausente (de modo que la risa imita al canto con un minuto de retardo).

Pero si quemo incienso, la risa hará lo contrario que hacía el canto.”

• En el caso anterior, ¿cuál será la secuencia de hechos para que no se escuche ni el canto ni la risa, si inicialmente se escuchaban los dos?, ¿cuánto tiempo pasará hasta que la casa se quede en silencio?

• Sistema de control de una escalera mecánica bidireccional. Para ello disponemos de dos sensores de presión, P1 y P2, como se muestra en la figura adjunta. Cuando se activa un sensor, la escalera empezará a andar en dirección al sensor restante y no parará hasta que se active el otro sensor. La máquina deberá mostrar el comporami- ento de la dirección de los motores, así como su estado (encendido o apagado).

• Sistema de detección de fin de cadena en un equipo de telecomunicaciones. El sis- tema deberá detectar la cadena “101”.

• Sistema de control de un paso a nivel con barreras. El sistema contará con dos sen- sores de posición, P1 y P2, a una distancia igual a 200 m. del paso a nivel.

• ¿Cómo cambiará el apartado anterior si sabemos que la longitud máxima de los trenes que utilizarán dicha via no superará los 300 m.?

• Sistema de control de un ascensor para un edificio de cuatro plantas, de tal forma que las salidas deben ser la acción del motor y el sentido. Para evitar peticiones simul- táneas, el sistema debe incluir las siguientes prioridades en el mismo orden:

• Mantener en el caso que sea posible el mismo sentido (ascendente o descend- ente)

• Pasar primero por el piso más próximo al actual

• Sistema de detección de error de un código biquinario, con un solo canal de entrada por el que recibimos los bits de la palabra secuencialmente (uno detrás de otro). La determinación de la palabra correcta o no deberá coincidir con la llegada del último bit.

• Sistema codificador de números binarios naturales a código Gray. Los datos tendrán una longitud de cuatro bits, los cuales irán entrando de forma secuencial (uno detrás de otro). Además de generar los datos en el nuevo código, también deberá detectar el final de un dato y el comienzo del siguiente.

P1

P2

Figura 1.3.- Esquema de la escalera mecánica.

(4)

• Sistema generador de paridad para bits que van llegando de forma secuencial (uno detrás de otro). El sistema deberá tener un estado de inicialización para separar una generación de otra.

• Sistema de alarma de una planta industrial. En la planta hay elementos inflamables según las siguientes condiciones (existen sensores que nos indican cuando la presión, densidad y la exposición al sol han superado su límite):

• Si la presión del contenedor es igual o superior a 4 unidades, después de haber estado expuesto al sol

• Si la densidad del contenedor es igual o superior a 5 unidades, después de estar sometido a una presión mayor o igual a 4 unidades.

• En el departamento de logística de una fabrica de pelotas de tenis, éstas ruedan por una cinta hasta caer en una caja que está sobre una cinta transportadora. La cinta transportadora debe dar un paso cuando una caja esté llena (con un total de tres pelotas), para colocar debajo una nueva caja. Se desea diseñar el sistema de control de la cinta transporadora, sabiendo que cuando cae una pelota en la caja activa un sensor de movimiento colocado encima de la entrada a la caja, como se muestra en la sigu- iente figura. Las pelotas caen con el suficiente espacio temporal para que no se sola- pen los pulsos del sensor.

Problema 8. Imlpementar el sistema de control de una máquina expendedora de refrescos.

Dicha máquina contará con las siguientes características:

• Únicamente dispone de un tipo de refresco, con un precio total de 32 unidades.

• Puede admitir monedas por un valor mínimo de 1 unidad, a través del puerto moneda.

• Las monedas son detectadas cuando se produce un cambio en una señal, denominada moneda_ins.

• Tiene la capacidad de devolver cambio, con un valor máximo de almacenamiento de 256 unidades.

• Dispone de un señal, denominada botón, para solicitar la expulsión del refresco y la devolución del cambio.

• Solamente se expulsará el refresco y devolverá el cambio (cuando la señal refresco tome el valor ‘1’, y se devolverá la cantidad almacenada en vuelta), cuando se halla introducido una cantidad superior o igual al precio del refresco.

Sensor

S

Pasa una pelota

No pasa nada

Figura 1.4.- Esquema de la cadena de llenado.

(5)

• Se tratará de un sistema síncrono, por lo que existirá una señal de reloj llamada clk.

Un posible diagrama ASM corresopndiente a dicha máquina se muestra en la figura 1.5. A continuación comentaremos las diferentes partes de dicho diagrama, dividido en cuatro bloques ASM diferentes, según la función que deban realizar.

El primer bloque, el cual contiene el estado E0, está formado por una caja de estados vacía y dos cajas de selección. La función de este bloque será la de decidir que operación hay que realizar: acumular la cantidad almacenada, o selección del refresco. Estas opera- ciones están priorizadas de tal forma que la más prioritaria es la acumulación. La caja de estado debe estar vacía porque si no se selecciona ningún refresco o no se inserte nin- guna moneda, el sistema no debe hacer nada.

El segundo bloque, formado por el estado E1, está formado únicamente por una caja de estados. En dicho bloque se producirá la acumulación de dinero para poder obtener el refresco deseado.

El tercer bloque, el cual contiene el estado E2, está formado por una caja de estados y una caja de selección. Tiene la finalidad de chequear la cantidad de dinero almacenada.

El cuarto bloque, el cual contiene el estado E3, está fromado por una única caja de estado.

La finalidad de este bloque es devolver elrefresco y el posible cambio.

Una vez que hemos obtenido el diagrama ASM, pasamos a obtener los elementos que contendrá el procesador, es decir, las diferentes operaciones que deben ser realizadas.

Para obtener de forma clara el número de componentes necesarios para el procesador, vamos a mostrar una visión según el ciclo de operación. Dicha visión es mostrada en la

cantidad = cantidad + moneda

Selección de refresco

A = cantidad - precio

A >= 0

expulsar refresco devolver A

no si

no

si

cantidad = 0

Figura 1.5.- Diagrama ASM correspondiente a la máquina expendedora de refrescos.

moneda_ins = 1

no Puertos de entrada

moneda (bus) moneda_ins Puertos de salida

A (bus) refresco Señales internas

cantidad (bus) E0

E1

E2

E3 si

(6)

figura 1.6. Únicamente se han indicado las operaciones que requieren un bloque digital para llevarlas a cabo, por lo que las comparaciones con un bit (moneda_ins y selección de refresco) y las operaciones de expulsión y devolución no han sido incluidos en el dia- grama.

Según el diagrama anterior, los bloques necesarios son los siguientes:

• dos registros, para almacenar la cantidad acumulada y el cambio.

• un bloque sumador/restador, para realizar la suma y resta de los estados E1 y E2.

Como se encuentran en ciclos de operación diferentes, el bloque puede ser compar- tido para realizar ambas operaciones.

• y un comparador para realizar la comparación entre la cantidad almacenada y el pre- cio. Realmente, la comparación indicada en el diagrama ASM es del cambio con “0”, pero para evitar problemas con los números con signo, vamos a realizar la com- paración antes mecionada.

Por lo tanto, el procesador quedaría tal como se muestra en la figura 1.7. Podemos apre- ciar, que tanto al registro como al bloque sumador/restador, le deben llegar entradas difer- entes dependiendo del ciclo de operación en el que nos encontremos. No obstante, del conexionado nos encargaremos en último lugar.

Una vez que hemos obtenido el procesador, el siguiente paso es encontrar el controlador que gobierne la operación del sistema. Para ello obtenemos el diagrama de estados directamente del diagrama ASM, el cual se muestra en la figura 1.8.

Recordad: ESTE DIAGRAMA DE ESTADOS NO SE DEBE MINIMIZAR PORQUE YA NO cantidad = cantidad + moneda

Selección de refresco

A = cantidad - precio

A >= 0

expulsar refresco devolver A

no si

no

si

cantidad = 0 moneda_ins = 1

no E0

E1

E2

E3

si E0

E1

E2

E3

Almacenar cantidad sumar cantidad y moneda Restar cantidad y precio comparar cantidad y precio

Iniciar cantidad a 0

Figura 1.6.- Diagrama temporal de las operación según el ciclo de operación.

(7)

CORRESPONDERÍA AL DIAGRAMA ASM DE PARTIDA. En este diagrama no aparecen las señales de salida, las cuales son el control del bloque sumador/restador, la habilitación de los registros y la expulsión del refresco. No obstante, como la implementación va a ser una máquina de Moore, todas estas señales serán una operación combinacional de las señales de estado del controlador.

El siguiente paso será la obtención del controlador, para lo cual utilizaremos la codificación one-hot. Por lo tanto, las ecuaciones del controlador quedarán de la siguiente forma:

E0 = e0 · (moneda_ins · seleccion) + e1 + e2·S1 + e3 E1 = e0·moneda_ins

E2 = e0 ·seleccion E3 = e2·S1

S/R = e2

Gcantidad = e1 + e3 Gcambio = e2 refresco = e3

n

n

+/- n

A B a<b a=b a>b

A<B A=BA>B n

n

‘1’‘0’

‘0’

S1 clk C

n n

G

S/R

“0”

precio

moneda

precio

Figura 1.7.- Procesador de la máquina de refrescos.

clk C

n n

G

Figura 1.8.- Diagrama de estados.

E0

E1

E2 E3

on m a_ ed

ins selección

moneda_ins & selección

comparación com

para ción

comparación = S1

E0

E1

E2 E3

ne mo _ins da

selección

moneda_ins & selección

S1

S1

(8)

Luego, el esquema del controlador sería el mostrado en la figura 1.9.

Antes de la unión del procesador y controaldor, debemos tener en cuenta la conexión del procesador. Si nos decantamos por la conexión a través de multiplexores, debemos obtener la matriz de interconexión. Dicha matriz se muestra en la figura 1.10. Según dicha matriz, se necesitanlos siguientes multiplexores y demultiplexores:

• un multplexor en la entrada de minuendo del bloque sumador/restador de 2:1

• un multiplexor en la entrada del registro de cantidad de 2:1

• un demultiplexor a la salida del bloque sumador/restador. No obstante, este bloque no es necesario ya que estaría conectado a registros, los cuales únicamente estarán habilitados cuando su conexión debe estar habilitada.

• un demultiplexor a la salida del registro de cantidad. No obstante, este bloque no es necesario ya que estaría conectado a bloques combinacionales, cuyas operaciones no están solapadas en el tiempo.

Por lo tanto, el procesador quedaría tal y como se muestra en la figura 1.11.

De esta forma, el controlador completo estaría formado por la unión del procesador y con- trolador. Dicho esquema se muestra en la figura 1.12.

G

D0 Q0

D1 Q1

D2 Q2

D3 Q3

moneda_ins seleccion

S1

‘1’

Greg

S/R = Gcambio

refresco

Figura 1.9.- Esquema del controlador.

e0

e1 e2

e3

(9)

sumador/restador comparador

cantidad precio moneda

A

sumador/restador comparador cantidad precio moneda A

X X

X X

X X

X

Figura 1.10.- Matriz de interconexionado.

n

n

+/- n

A B a<b a=b a>b

A<B A=BA>B n

n

‘1’‘0’

‘0’

S1

clk C

n n

G

S/R “0”

precio moneda

precio

Figura 1.11.- Procesador utilizando multiplexores como medio de interconexión.

clk C

n n

G 0

1 1 1

0 1

e2

e2 e2

e3 Gcantidad

(10)

n

n

+/- n

A B a<b a=b a>b

A<B A=BA>B n

n

‘1’‘0’

‘0’

S1

clk C

n n

G

S/R “0”

precio moneda

precio

clk C

n n

G 0

1 1 1

0 1

S/R

Gcambio e2

e3 Gcantidad

G

D0 Q0

D1 Q1

D2 Q2

D3 Q3

moneda_ins seleccion

S1

‘1’

Gcantidad

S/R = Gcambio

refresco e0

e1

e2

e3

Figura 1.12.- Esquema completo del controlador de la máquina de refresco.

(11)

En el caso de que abordemos la conexión a través de buses, debemos obtener la tabla de transferencia por ciclos. Dicha tabla se muestra en la figura 1.13. En ella podemos ver que son necesarios tres buses diferentes, los cuales serán asignados de la forma indicada en la figura 1.13.

De esta forma el procesador quedaría de la forma mostrada en la figura 1.14, en la que se ha incluido el sistema completo.

sumador/restador comparador

cantidad precio moneda

A

E0 E1 E2 E3

+ -> cantidad + -> A

cantidad -> + cantidad -> +, comp “0” -> cantidad precio -> +, comp

moneda -> +

Figura 1.13.- Matriz de interconexionado.

bus1 bus2 bus3

E0 E1 E2 E3

cantidad -> + cantidad -> +, comp moneda -> + precio -> +, comp

+ -> cantidad + -> A “0” -> cantidad Tabla de transferencia por ciclos

Asignación de buses

(12)

A B a<b a=b a>b

A<B A=B A>B 3

3 n

n

n

S/R ‘0’

‘1’‘0’

S1

clk C

n n

G

clk C

n n

Gcambio G Gcantidad

“0”

moneda precio

e3

e2

e2 e1

e2

e1

G

D0 Q0

D1 Q1

D2 Q2

D3 Q3

moneda_ins seleccion

S1

‘1’

Gcantidad

S/R = Gcambio

refresco e0

e1

e2 e3

Figura 1.14.- Sistema completo con el interconexionado basado en buses.

(13)

Problema 9. El sistema sobre el que se realizará el diseño se muestra en la figura 1.15, de tal forma que se controlará el nivel de un tanque de líquido. En ella podemos distinguir el esquema del tanque y sus operaciones. Por lo tanto, tenemos dos señales de control, C

1

y C

0

, que determinarán la operación que hay que realizar y el detector de nivel del tanque, N, que nos indicará la capacidad de llenado en cualquier instante de tiempo. Así mismo, ten- dremos una entrada más, denominada R, para un llenado preciso, y dos señales de control adicionales, inicio y parada, para el comienzo de la operación y una parada de emergencia.

La operación deberá empezar por un pulso de la señal de inicio. Tras lo cual, comenzará la operación determinada por las señales de control de operación. Esta operación se deberá mantener hasta que cambien las señales de control de operación, o bien si se pulsa la señal parada. En el caso de que se pulse la señal parada, el sistema deberá ir a un estado inicial de espera, del cual saldrá con un pulso de la señal inicio. En el caso de que hayan cambiado las señales de control de operación, el sistema, después de realizar la operación previa, deberá realizar la nueva operación.

Consideraciones:

• Tanto el detector de nivel como el nivel de llenado preciso deberán estar codificados en binario natural.

• Las señales de entrada y salida son tales que tomarán el valor ‘1’ cuando dejen pasar el líquido (llave abierta) y ‘0’ cuando no dejen pasar el líquido (llave cerrada).

Diagrama ASM

El sistema de control descrito con las especificaciones anteriores puede ser descrito con el diagrama ASM de la figura 1.16. En este diagrama podemos distinguir seis bloques ASM, que vamos a analizar a continuación.

Detector de nivel

salida entrada

0 0 --> No operación 0 1 --> Vaciado 1 0 --> Llenado 1 1 --> Nivel = R C

1

C

0

--> Operación

Figura 1.15.- Esquema de un controlador de nivel de un tanque de líquido.

(14)

tamento de Ingeniería Electrónica de Sistemas Informáticos y Automática14 inicio = 1

C1C0

parada = 1

parada = 1

nivel > 0 entrada <= ‘0’

salida <= ‘1’

parada = 1

nivel < max entrada <= ‘1’

salida <= ‘0’

parada = 1

nivel > R entrada <= ‘0’

salida <= ‘1’

nivel < R entrada <= ‘1’

salida <= ‘0’

entrada <= ‘0’

salida <= ‘0’

NO

SI

SI

NO 11

10 00

01

NO SI

SI SI

NO

NO NO

SI

SI

NO NO

NO SI

SI

E1

E2

E3

E4

E5

Figura 1.16.- Diagrama ASM del diseño ejemplo a resolver.

Puertos -> C1, C0, inicio, parada, nivel, R entrada = ‘0’

salida = ‘0’

Estado inicial --> E0

max, min

(15)

El estado E0 será el estado de inicio, de tal forma que mientras no exista un pulso en la señal inicio, el sistema permanecerá en dicho estado abriendo ambas llaves de paso para mantener el mismo nivel de líquido.

El estado E1 decidirá qué operación se deberá realizar en función de los valores de las señales de control de operación, C1 y C0. El sistema permanecerá en este mismo estado mientras la codificación de control de operación es “00”.

El estado E2 es el estado de operación de vaciado. Sólo se podrá sacar al sistema de este estado en dos situaciones: activar la señal parada, en cuyo caso deberá ir al estado inicial;

o cambiar el código de las señales de control de operación, en cuyo caso deberá ir al estado correspondiente a la nueva operación.

El estado E3 es el estado de operación de llenado. Sólo se podrá sacar al sistema de este estado en dos situaciones: activar la señal parada, en cuyo caso deberá ir al estado inicial;

o cambiar el código de las señales de control de operación, en cuyo caso deberá ir al estado correspondiente a la nueva operación.

El estado E4 es el estado de operación de llenado preciso, por lo que el nivel del tanque debe tender a un nivel fijado por el puerto R. Sólo se podrá sacar al sistema de este estado en dos situaciones: activar la señal parada, en cuyo caso deberá ir al estado inicial;

o cambiar el código de las señales de control de operación, en cuyo caso deberá ir al estado correspondiente a la nueva operación.

Finalmente, el estado E5 es el estado al que se llega desde cualquier estado de operación (E2, E3 o E4) si ya se ha cumplido la operación correspondiente. De esta manera, no se podrá alterar el nivel del tanque.

Módulos y conexionado del procesador

El sistema que queremos diseñar se trata de un controlador, por lo que su mayor parte estará formado por el controlador. Luego el procesador estará formado por los bloques necesarios para las diferentes tomas de decisión, y no para el procesado de las señales.

En nuestro caso particular, el procesador estará formado por comparadores, necesarios para tomar las decisiones oportunas. En el diagrama observamos tres comparaciones:

• Nivel del tanque con el nivel ‘0’, en el caso de la operación de vaciado.

• Nivel del tanque con el nivel máximo, en el caso de la operación de llenado.

• Nivel del tanque con el nivel de llenado preciso, en el caso de la operación de lle- nado preciso.

Luego, una posible opción sería utilizar tres comparadores con sus correspondientes entradas. No obstante, esta elección no sería óptima en cuestión de recursos ya que nin- guna comparación coincide en el tiempo con las otras. Así que consideraremos un único comparador con las entradas multiplexadas según la operación en curso. El esquema del procesador sería el mostrado en la figura 1.17.

La opción elegida será útil a nuestro sistema en el caso de que los requerimientos de velocidad nos permita mantener el retraso correspondiente a la conexión anterior, es decir, un multiplexor con un comparador. En caso contrario deberemos volver a este punto y continuar con otra opción más recomendada para las especificaciones.

(16)

Controlador

Para realizar el diseño del controlador, debemos obtener en primer lugar el diagrama de estado correspondiente. Para ello, basándonos en el diagrama ASM, utilizamos los difer- entes bloques ASM como estados del controlador. Las entradas del controlador serán las entradas de control (inicio, parada, C1 y C0), y las señales de estado del procesador (las salidas del comparador); en cambio las salidas del controlador serán las salidas de control (entrada y salida) y las salidas de control del procesador (las señales de selección para el multiplexor que determinará las entradas del comparador). El diagrama de estados es mostrado en la figura 1.18.

Vamos a indicar algunos comentarios breves sobre el diagrama.

• Las etiquetas de las transiciones corresponderán al formato:

entradas, llave_de_entrada llave_de_salida, señales de control

• Para simplificar el diagrama sólo se considerarán en las transiciones aquellas

a>b

a=b a<b

A>B A=B A<B A

B n n n

n n

E2 E3 E4 ‘0’

‘1’ ‘0’

‘0’

max R

nivel

Figura 1.17.- Esquema del procesador del ejemplo de diseño.

entrada = 0 E0 salida = 0

entrada = 0 E5 salida = 0 E1

E2

E3

E4 inicio

inicio parada parada

parada

C1 C0

C1C0

C1C0

C1C0

>, 01, ‘0’

<,10, max

<,10, R

>,01, R

not >

not <

=

Figura 1.18.- Diagrama de estados del controlador del diseño ejemplo.

(17)

señales que son relevantes.

• En el caso de que una salida sea función de un determinado estado, y no de una condición de entradas, se indicará dentro del recuadro del estado. Por ejemplo, siempre que estemos en el estado E0, ambas llaves estarán abiertas para no alterar el nivel.

• En el caso de la transición del estado E4 al E5, se tendría que cumplir que las com- paraciones no fuesen ni mayor ni menor, por lo que al disponer del terminal igual, se ha optado por la utilización de este terminal. De esta forma eliminamos la puerta AND necesaria para garantizar la condición.

• Cuando se alcanza el estado E1, las salidas de control no deben cambiar ya que puede provenir de cualquier código de operación. Esta situación se puede conseguir de dos formas diferentes, basadas en el almacenamiento de estas señales en un biestable: activar o desactivar el terminal de habilitación correspondiente; o reali- mentar su valor actual. Como las salidas de control son un solo bit y sólo es necesa- rio un biestable, vamos a elegir la segunda opción por si el biestable utilizado no tiene entrada de habilitación.

Una vez que disponemos del diagrama de estados, pasamos a la implementación del con- trolador. Para ello, seguimos los pasos del flujo de diseño mostrado en el tema 4: mini- mización del diagrama de estados, asignación de estados, tabla de transición, tabla de excitación e implementación lógica.

• Minimización del diagrama de estados.

Este paso no se llevará a cabo para que la coincidencia con el diagrama ASM de partida, y por tanto del procesador, sea total.

• Asignación de estados.

En este tipo de diseños, en los que hay un elevado número de estados, una codifi- cación muy utilizada es la conocida como one-hot. Esta codificación se basa en utili- zar una señal por cada estado. De esta forma, podemos obtener una expresión relativamente sencilla a partir del diagrama. Esta solución no es problemática ya que al tratarse de un circuito síncrono (y generalmente) con flip-flops, los problemas de las carreras no tendrán efecto. Siguiendo esta codificación, la señal de estado del estado inicial sería:

E0 = inicio·e0 + parada(e2+e3+e4)

• Tabla o ecuaciones de transición.

Al partir directamente desde el diagrama de estado, daremos directamente las ecua- ciones de transición. Estas ecuaciones no serán necesariamente mínimas ya que no serán aprovechadas las condiciones de inespecificación. No obstante, al considerar la relación tiempo de diseño / optimización, observamos que esta solución es acept- able. Luego, las ecuaciones de transición obtenidas se muestran a continuación:

E0 = inicio·e0 + parada(e2+e3+e4)

E1 = inicio·e0 + C1·C0·e1 + parada(mayor·e2 + menor·e3 + igual·e4) + e5 E2 = C1·C0·e1

E3 = C1·C0·e1 E4 = C1·C0·e1

E5 = mayor·e2 + menor·e3 + igual·e4

entrada = e3·menor + e4·menor + e1·entrada salida = e2·mayor + e4·mayor + e1·salida sel_0 = e2

(18)

sel_max = e3 sel_R = e4

Tabla o ecuaciones de excitación.

En este caso, la mayoría de controladores son implementados utilizando biestables tipo D, en los que las tablas de excitación coinciden con las de transición.

Implementación lógica.

Una vez que se ha separado el comportamiento secuencial del combinacional, pasamos a obtener el circuito lógico según los métodos de la lógica combinacional vistos en la asig- natura del cuatrimestre anterior. Como ya tenemos expresadas las funciones como fórmu- las lógicas, pasamos a obtener directamente el circuito lógico. No obstante, previo a este paso debemos obtener la codificación correcta de las selecciones del multiplexor. Todo ello se muestra en la figura 1.19.

Conexionado global

Por último, se debe unir el procesador y controlador en un único circuito utilizando las señales de estado y de control del circuito correspondiente. Por lo tanto, el circuito global se muestra en la figura 1.20, donde las señales externas se han marcado en negrita para diferenciarlas de las conexiones internas (las cuales no se han puesto para clarificar el esquema).

Como se comentó al comienzo, la parte de mayor envergadura se encuentra en el contro- lador ya que esta es la funcionalidad principal del circuito. No obstante, este ejemplo nos sirve para ilustrar la diferencia entre el procesador (que por lo general contendrá disposi- tivos MSI, tales como sumadores) y el controlador (que, al ser un autómata finito, por lo general contendrá puertas y biestables).

(19)

S1 S0 0 0 0 1 1 0 1 1

Selección

‘0’ max R --

S1 = sel_R = e4 S0 = sel_max = e3

D Q entrada D Q e0

D Q salida inicio

e0

parada e2

e3 e4 inicio

e0 C1C0 e1e2 mayor

e3 menor

e4 igual

parada

e5

D Q e1

D Q e2

C1C0 e1

D Q e3

C0C1 e1

D Q e4

C0C1 e1

D Q e5 e2

mayor e3 menor

e4 igual

e2 mayor

e4 mayor

e1 salida

e3 menor

e4 menor

e1 entrada

Figura 1.19.- Esquema lógico del controlador del diseño de ejemplo

(20)

D Q entrada D Q e0

D Q salida inicio

e0

parada e2

e3 e4

inicio e0 C1C0 e1e2 mayor

e3 menor

e4 igual

parada

e5

D Q e1

D Q e2 C1C0

e1

D Q e3

C0C1 e1

D Q e4

C0C1 e1

D Q e5 e2

mayor e3 menor

e4 igual

e2 mayor

e4 mayor

e1 salida

e3 menor

e4 menor

e1 entrada

Figura 1.20.- Esquema lógico del controlador del tanque de líquido.

a>b a=b a<b

A>B A=B A<B A

B n n n

n n

01 10 11 ‘0’

‘1’ ‘0’

‘0’

max R

nivel

e2 e3 0 1

mayor igual menor PROCESADOR

CONTROLADOR

(21)

Problema 10. Implementar un multiplicador binario basado en incrementos sucesivosm, es decir, únicamente se puede sumar de uno en uno. Este sistema tendrá las señales típicas de cualquier multiplicador, es decir

• Señal de inicio de multiplicación

• Dos operandos, los cuales van a tener un tamaño de 8 bits

• Un salida del producto, la cual debe tener un tamaño de 16 bits

• Una salida de acabado, indicando la fincalización de la multiplicación

Problema 11. Implementar un divisor siguiendo un algoritmo similar al del problema anterior, es decir, únicamente se permiten restas de uno en uno. Las señales serán las típicas de cualquier circuito divisor.

Problema 12. Implementar un circuito que calcule la parte entera de la raiz cuadrada de un número binario de 8 bits sin signo. Para ello, utilizaremos el algoritmo de la resta de enteros impares. Para ello, vamos restando el dato de entrada (y sus restas sucesivas) con los enteros impares en orden creciente; de tal forma que la parte entera de la raíz cuadrada es el número de restas que se puedan realizar sin obtener un valor negativo.

Ej.: La parte entera de la raiz cuadrada de 11 será igual a 3

11 - 1 = 10 - 3 = 7 - 4 = 3 - 5 = -2 => tres restas sin obtener valores negativos

Problema 13. Implemente el sistema de control de un ascensor para un edificio de dos plantas.

Obviamente, la operación de llamada del ascensor será menos prioritaria. Cuando no se deba realizar ningún moviemiento (no hay ninguna llamaday no hay nadie en el interior), el ascensor debe permanecer parado. Este sistema tendrá las siguientes señales:

• IR

1

e IR

2

, que corresponderán a los botones en el interior del ascensor para ir a la 1ª y 2ª planta respectivamente

• LL

1

y LL

2

, que corresponderán a los botones de cada planta para llamar al ascensor

• ES

1

y ES

2

, que corresponderán con las señales que indican la posición actual del ascensor, ya sea en la 1ª o en la 2ª planta.

• SU, será la salida que se debe activar para que el ascensor suba.

• BA, será la salida que se deberá activar para que el ascensor baje.

• RE, será una entrada de reset de tal forma que cuando se pulse, el ascensor debe ir a la

1ª planta con la mayor prioridad (incluso aunque se encuentre en movimiento).

Referencias

Documento similar

Título:DISEÑO, DESARROLLO E INNOVACIÓN DEL CURRÍCULUM (2010) Autor/es:Sevillano García, Mª Luisa ; Medina Rivilla, Antonio

A través de la prueba presencial se evaluará la comprensión del alumno sobre la asignatura, tanto en su vertiente teórica como práctica. Los aspectos teóricos podrán ser

BLOQUE TEMÁTICO I: MARCO CONCEPTUAL DE LA AUDITORÍA FINANCIERA TEMA 1: Aspectos conceptuales de la Auditoría Financiera.. TEMA 2: El Proceso de Auditoría de Cuentas Anuales TEMA

BLOQUE TEMÁTICO I: MARCO CONCEPTUAL DE LA AUDITORÍA FINANCIERA TEMA 1: Aspectos conceptuales de la Auditoría Financiera.. TEMA 2: El Proceso de Auditoría de Cuentas Anuales TEMA

(...) la situación constitucional surgida tras la declaración del estado de emergencia es motivo de preocupación para la Comisión de Venecia. La declaración en sí misma no definió

Para la revisión de exámenes, en su caso, los alumnos deberán ponerse en contacto con los Profesores de la asignatura, pudiéndose también solicitar a través de la Secretaría

Dado que el régimen de los poderes de emergencia afecta a la democracia, a los derechos fundamentales y humanos, así como al Estado de derecho, el control de

El contar con el financiamiento institucional a través de las cátedras ha significado para los grupos de profesores, el poder centrarse en estudios sobre áreas de interés