departamento de ingeniería electrónica de sistemas

21
Departamento de Ingeniería Electrónica de Sistemas Informáticos y Automática 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.

Upload: others

Post on 18-Nov-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Departamento de Ingeniería Electrónica de Sistemas Informáticos y Automática 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.

x1x2

x3x4 F(c)

x

yF

(d)

xy

zF

(a)

xy

z

F

(b)

b2

a2

b1a1

X

Y

(e)

xy

z F

(f)

xyz F

(h)

x

y

z

F

(g)

Figura 1.1.- Circuitos a analizar.

Departamento de Ingeniería Electrónica de Sistemas Informáticos y Automática 2

Problema 4. Se desea diseñar el circuito de control de una planta de montaje encargado de laseñ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ólotoleran unos niveles mínimos de presión y humedad de forma conjunta (estos niveles seencuentran programados en los sensores correspondientes). El circuito a diseñar debe ser talque 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 estamá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 ambostrituradores; 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. Dichamáquina tiene un mecanismo de emergencia a través de un conmutador de trituración, de talforma 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 seactive 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 conocecomo 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 entradapor el que recibimos los bits de la palabra secuencialmente (uno detrás de otro). Ladeterminació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 desagradablesorpresa de comprobar que está hechizada con dos sonidos de ultratumba: un cantopicaresco y una sonrisa sardónica. Estos sonidos obedecen a ciertas leyes en funcióndel 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.

Departamento de Ingeniería Electrónica de Sistemas Informáticos y Automática 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 minutoactual no se oye la risa y toco el órgano, en cuyo caso el canto tomará el estadoopuesto.

• 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 elcanto ni la risa, si inicialmente se escuchaban los dos?, ¿cuánto tiempo pasará hastaque la casa se quede en silencio?

• Sistema de control de una escalera mecánica bidireccional. Para ello disponemos dedos sensores de presión, P1 y P2, como se muestra en la figura adjunta. Cuando seactiva un sensor, la escalera empezará a andar en dirección al sensor restante y noparará 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 trenesque utilizarán dicha via no superará los 300 m.?

• Sistema de control de un ascensor para un edificio de cuatro plantas, de tal forma quelas 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 entradapor el que recibimos los bits de la palabra secuencialmente (uno detrás de otro). Ladeterminación de la palabra correcta o no deberá coincidir con la llegada del últimobit.

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

P1

P2

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

Departamento de Ingeniería Electrónica de Sistemas Informáticos y Automática 4

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

• Sistema de alarma de una planta industrial. En la planta hay elementos inflamablessegú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 haberestado expuesto al sol

• Si la densidad del contenedor es igual o superior a 5 unidades, después de estarsometido 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 poruna cinta hasta caer en una caja que está sobre una cinta transportadora. La cintatransportadora debe dar un paso cuando una caja esté llena (con un total de trespelotas), para colocar debajo una nueva caja. Se desea diseñar el sistema de control dela cinta transporadora, sabiendo que cuando cae una pelota en la caja activa un sensorde 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, denominadamoneda_ins.

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

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

• Solamente se expulsará el refresco y devolverá el cambio (cuando la señal refrescotome el valor ‘1’, y se devolverá la cantidad almacenada en vuelta), cuando se hallaintroducido 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.

Departamento de Ingeniería Electrónica de Sistemas Informáticos y Automática 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. Acontinuación comentaremos las diferentes partes de dicho diagrama, dividido en cuatrobloques 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 estadosvacía y dos cajas de selección. La función de este bloque será la de decidir que operaciónhay 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 deestado 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 deestados. En dicho bloque se producirá la acumulación de dinero para poder obtener elrefresco deseado.

El tercer bloque, el cual contiene el estado E2, está formado por una caja de estados y unacaja 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 quecontendrá 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ónde refresco

A = cantidad - precio

A >= 0

expulsar refrescodevolver A

no

si

no

si

cantidad = 0

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

moneda_ins = 1no Puertos de entrada

moneda (bus)moneda_ins

Puertos de salidaA (bus)refresco

Señales internascantidad (bus)

E0

E1

E2

E3

si

Departamento de Ingeniería Electrónica de Sistemas Informáticos y Automática 6

figura 1.6. Únicamente se han indicado las operaciones que requieren un bloque digitalpara llevarlas a cabo, por lo que las comparaciones con un bit (moneda_ins y selección derefresco) 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, delconexionado nos encargaremos en último lugar.

Una vez que hemos obtenido el procesador, el siguiente paso es encontrar el controladorque gobierne la operación del sistema. Para ello obtenemos el diagrama de estadosdirectamente 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ónde refresco

A = cantidad - precio

A >= 0

expulsar refrescodevolver A

no

si

no

si

cantidad = 0

moneda_ins = 1no

E0

E1

E2

E3

si E0

E1

E2

E3

Almacenar cantidadsumar cantidad y moneda

Restar cantidad y preciocomparar cantidad y precio

Iniciar cantidad a 0

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

Departamento de Ingeniería Electrónica de Sistemas Informáticos y Automática 7

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

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

E0 = e0 · (moneda_ins · seleccion) + e1 + e2·S1 + e3E1 = e0·moneda_insE2 = e0 ·seleccionE3 = e2·S1S/R = e2Gcantidad = e1 + e3

Gcambio = e2

refresco = e3

n

n

n+/-

A

B

a<ba=ba>b

A<BA=BA>B

n

n

‘0’‘1’‘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

moned

a_ins

selección

mon

eda_

ins

& se

lecc

ión

comparacióncom

paración

comparación = S1

E0

E1

E2

E3

moned

a_ins

selección

mon

eda_

ins

& s

elec

ción

S1

S1

Departamento de Ingeniería Electrónica de Sistemas Informáticos y Automática 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 delprocesador. Si nos decantamos por la conexión a través de multiplexores, debemosobtener la matriz de interconexión. Dicha matriz se muestra en la figura 1.10. Según dichamatriz, 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 bloqueno es necesario ya que estaría conectado a registros, los cuales únicamente estaránhabilitados cuando su conexión debe estar habilitada.

• un demultiplexor a la salida del registro de cantidad. No obstante, este bloque no esnecesario ya que estaría conectado a bloques combinacionales, cuyas operacionesno 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

Departamento de Ingeniería Electrónica de Sistemas Informáticos y Automática 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<ba=ba>b

A<BA=BA>B

n

n

‘0’‘1’‘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

01

110

1e2

e2

e2e3

Gcantidad

Departamento de Ingeniería Electrónica de Sistemas Informáticos y Automática 10

n

n

n+/-

A

B

a<ba=ba>b

A<BA=BA>B

n

n

‘0’‘1’‘0’

S1

clk C

n n

G

S/R “0”precio

moneda

precio

clk C

n n

G

01

110

1S/R

Gcambio

e2e3

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.

Departamento de Ingeniería Electrónica de Sistemas Informáticos y Automática 11

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

De esta forma el procesador quedaría de la forma mostrada en la figura 1.14, en la que seha 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

Departamento de Ingeniería Electrónica de Sistemas Informáticos y Automática 12

A

B

a<ba=ba>b

A<BA=BA>B

3

3

nn

n

S/R‘0’‘1’‘0’

S1

clk C

n n

G

clk C

n n

GGcambioGcantidad

“0”

moneda precio

e3

e2

e2e1

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.

Departamento de Ingeniería Electrónica de Sistemas Informáticos y Automática 13

Problema 9. El sistema sobre el que se realizará el diseño se muestra en la figura 1.15, de talforma que se controlará el nivel de un tanque de líquido. En ella podemos distinguir elesquema del tanque y sus operaciones. Por lo tanto, tenemos dos señales de control, C1 yC0, 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 controladicionales, 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á laoperació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ñalparada. En el caso de que se pulse la señal parada, el sistema deberá ir a un estado inicialde espera, del cual saldrá con un pulso de la señal inicio. En el caso de que hayan cambiadolas 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 codificadosen binario natural.

• Las señales de entrada y salida son tales que tomarán el valor ‘1’ cuando dejen pasarel 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 eldiagrama ASM de la figura 1.16. En este diagrama podemos distinguir seis bloques ASM,que vamos a analizar a continuación.

Det

ecto

r de

nive

l

salida

entrada

0 0 --> No operación0 1 --> Vaciado1 0 --> Llenado1 1 --> Nivel = R

C1C0 --> Operación

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

Departam

ento de Ingeniería Electrónica de Sistemas Inform

áticos y Autom

ática14

entrada <= ‘0’salida <= ‘0’

inicio = 1

C1C0

parada = 1

parada = 1

nivel > 0entrada <= ‘0’salida <= ‘1’

parada = 1

nivel < max entrada <= ‘1’salida <= ‘0’

parada = 1

nivel > Rentrada <= ‘0’salida <= ‘1’

nivel < Rentrada <= ‘1’salida <= ‘0’

entrada <= ‘0’salida <= ‘0’

NO

SI

SI

NO

1110

00

01

SINO

SI

SI

NO

NO NO

SI

SI

NO

NO

NO

SI

SI

E0

E1

E2

E3

E4

E5

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

Puertos -> C1, C0, inicio, parada, nivel, Rentrada = ‘0’salida = ‘0’

Estado inicial --> E0max, min

Departamento de Ingeniería Electrónica de Sistemas Informáticos y Automática 15

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

El estado E1 decidirá qué operación se deberá realizar en función de los valores de lasseñales de control de operación, C1 y C0. El sistema permanecerá en este mismo estadomientras 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 esteestado 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 alestado 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 esteestado 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 alestado correspondiente a la nueva operación.

El estado E4 es el estado de operación de llenado preciso, por lo que el nivel del tanquedebe tender a un nivel fijado por el puerto R. Sólo se podrá sacar al sistema de esteestado 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 alestado 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 sepodrá 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 parteestará formado por el controlador. Luego el procesador estará formado por los bloquesnecesarios 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, necesariospara 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 correspondientesentradas. 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 únicocomparador con las entradas multiplexadas según la operación en curso. El esquema delprocesador 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 develocidad 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 ycontinuar con otra opción más recomendada para las especificaciones.

Departamento de Ingeniería Electrónica de Sistemas Informáticos y Automática 16

Controlador

Para realizar el diseño del controlador, debemos obtener en primer lugar el diagrama deestado 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 lasentradas de control (inicio, parada, C1 y C0), y las señales de estado del procesador (lassalidas 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 elmultiplexor que determinará las entradas del comparador). El diagrama de estados esmostrado 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>ba=ba<b

A>BA=BA<B

A

B

n

nnn

n

E2E3

E4‘0’‘1’‘0’

‘0’max

R

nivel

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

E0entrada = 0salida = 0

E5entrada = 0salida = 0E1

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.

Departamento de Ingeniería Electrónica de Sistemas Informáticos y Automática 17

señales que son relevantes.

• En el caso de que una salida sea función de un determinado estado, y no de unacondició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 alterarel 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, seha optado por la utilización de este terminal. De esta forma eliminamos la puertaAND necesaria para garantizar la condición.

• Cuando se alcanza el estado E1, las salidas de control no deben cambiar ya quepuede provenir de cualquier código de operación. Esta situación se puede conseguirde dos formas diferentes, basadas en el almacenamiento de estas señales en unbiestable: 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 notiene 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 deexcitació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 departida, 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ónrelativamente sencilla a partir del diagrama. Esta solución no es problemática ya queal tratarse de un circuito síncrono (y generalmente) con flip-flops, los problemas delas carreras no tendrán efecto. Siguiendo esta codificación, la señal de estado delestado 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 noserán aprovechadas las condiciones de inespecificación. No obstante, al considerarla 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) + e5E2 = C1·C0·e1E3 = C1·C0·e1E4 = C1·C0·e1E5 = mayor·e2 + menor·e3 + igual·e4entrada = e3·menor + e4·menor + e1·entradasalida = e2·mayor + e4·mayor + e1·salidasel_0 = e2

Departamento de Ingeniería Electrónica de Sistemas Informáticos y Automática 18

sel_max = e3sel_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 aobtener 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 estepaso debemos obtener la codificación correcta de las selecciones del multiplexor. Todo ellose muestra en la figura 1.19.

Conexionado global

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

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 nossirve 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 logeneral contendrá puertas y biestables).

Departamento de Ingeniería Electrónica de Sistemas Informáticos y Automática 19

S1 S00 00 11 01 1

Selección‘0’maxR--

S1 = sel_R = e4S0 = sel_max = e3

D Q entrada

D Q e0

D Q salida

inicio

e0

paradae2e3e4

inicio

e0

C1C0e1e2

mayore3

menor

e4

igual

parada

e5

D Q e1

D Q e2C1C0e1

D Q e3C0C1e1

D Q e4C0C1e1

D Q e5

e2mayor

e3menor

e4igual

e2mayor

e4mayor

e1salida

e3menor

e4menor

e1entrada

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

Departamento de Ingeniería Electrónica de Sistemas Informáticos y Automática 20

D Q entrada

D Q e0

D Q salida

inicio

e0

paradae2e3e4

inicio

e0

C1C0e1e2

mayore3

menor

e4

igual

parada

e5

D Q e1

D Q e2C1C0e1

D Q e3C0C1e1

D Q e4C0C1e1

D Q e5

e2mayor

e3menor

e4igual

e2mayor

e4mayor

e1salida

e3menor

e4menor

e1entrada

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

a>ba=ba<b

A>BA=BA<B

A

B

n

nnn

n

0110

11‘0’‘1’‘0’

‘0’maxR

nivel

e2 e3

0 1mayorigualmenor

PROCESADOR

CONTROLADOR

Departamento de Ingeniería Electrónica de Sistemas Informáticos y Automática 21

Problema 10. Implementar un multiplicador binario basado en incrementos sucesivosm, esdecir, únicamente se puede sumar de uno en uno. Este sistema tendrá las señales típicas decualquier 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 decualquier circuito divisor.

Problema 12. Implementar un circuito que calcule la parte entera de la raiz cuadrada de unnúmero binario de 8 bits sin signo. Para ello, utilizaremos el algoritmo de la resta de enterosimpares. Para ello, vamos restando el dato de entrada (y sus restas sucesivas) con losenteros impares en orden creciente; de tal forma que la parte entera de la raíz cuadrada es elnú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 311 - 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 sedeba realizar ningún moviemiento (no hay ninguna llamaday no hay nadie en el interior), elascensor debe permanecer parado. Este sistema tendrá las siguientes señales:

• IR1 e IR2, que corresponderán a los botones en el interior del ascensor para ir a la 1ª y2ª planta respectivamente

• LL1 y LL2, que corresponderán a los botones de cada planta para llamar al ascensor

• ES1 y ES2, que corresponderán con las señales que indican la posición actual delascensor, 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 la1ª planta con la mayor prioridad (incluso aunque se encuentre en movimiento).