0% encontró este documento útil (0 votos)
127 vistas

Problemas Dig

Este documento presenta 8 problemas de ingeniería electrónica que involucran la conversión de números de base, el análisis de circuitos lógicos, el diseño de sistemas de control y detección de errores, y la implementación de máquinas de estados finitas. Los problemas cubren temas como conversión numérica, circuitos lógicos, sistemas de alarma, control de máquinas y procesamiento de señales.

Cargado por

Javier Espinoza
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
127 vistas

Problemas Dig

Este documento presenta 8 problemas de ingeniería electrónica que involucran la conversión de números de base, el análisis de circuitos lógicos, el diseño de sistemas de control y detección de errores, y la implementación de máquinas de estados finitas. Los problemas cubren temas como conversión numérica, circuitos lógicos, sistemas de alarma, control de máquinas y procesamiento de señales.

Cargado por

Javier Espinoza
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 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.


x x
y y
F
F
z z
(b)
(a)

x1 x
x2
x3 y
F
x4 F
(c)
(d)

X
x
b2
y (f)
a2 (e)
z F
b1
a1 Y

x x
F y
z F
y
z (h)
(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 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:

S1

S2
P

M1 M2

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

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
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 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).

P1

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

• 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.
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 (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.

Pasa una pelota

Sensor
S

No pasa nada

Figura 1.4.- Esquema de la cadena de llenado.

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.
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. A


continuación comentaremos las diferentes partes de dicho diagrama, dividido en cuatro
bloques ASM diferentes, según la función que deban realizar.

E0

si
moneda_ins = 1
E1 no
Puertos de entrada
cantidad = cantidad + moneda moneda (bus)
moneda_ins
Puertos de salida
Selección no A (bus)
de refresco refresco
Señales internas
E2 si cantidad (bus)
A = cantidad - precio

no
A >= 0
E3 si

expulsar refresco
devolver A
cantidad = 0

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

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
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 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.

E0

si E0
moneda_ins = 1
E1 no
cantidad = cantidad + moneda E1
Almacenar cantidad
sumar cantidad y moneda
Selección no E2
de refresco
Restar cantidad y precio
E2 si comparar cantidad y precio
A = cantidad - precio E3
Iniciar cantidad a 0
no
A >= 0
E3 si

expulsar refresco
devolver A
cantidad = 0

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

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


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

n A
G
n precio n
clk B
C
n S1
+/- ‘0’ a<b A<B
n n a=b A=B
precio ‘1’
n S/R a>b A>B
‘0’
“0”
moneda G
clk
C

n n

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

E3
co

E3
mp

S1
moneda_ins & selección

ara

moneda_ins & selección


ció

comparación
n

S1
E2
E2
E0
selección E0
_i
ns selección
ns

a
ed E1
a _i

on
E1
ed

m
on

comparación = S1
m

Figura 1.8.- Diagrama de estados.

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
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.

moneda_ins

seleccion

‘1’
G

e0
S1 D0 Q0 Greg

e1
D1 Q1
S/R = Gcambio
e2
D2 Q2

e3 refresco
D3 Q3

Figura 1.9.- Esquema del controlador.

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

sumador/restador comparador cantidad precio moneda A

sumador/restador X X

comparador

cantidad X X

precio X X

moneda X

Figura 1.10.- Matriz de interconexionado.

Gcantidad G n A
clk
n C precio n
B
n S1
+/- 0 n n ‘0’ a<b A<B
precio 1 ‘1’ a=b A=B
1 S/R “0”
n ‘0’ a>b A>B
0 1
moneda
1 e2
e2 e3 G
e2 clk
C

n n

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


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

Gcantidad G n A
clk
n C precio n
B
n S1
+/- 0 n n ‘0’ a<b A<B
precio 1 ‘1’ a=b A=B
1 S/R “0”
n ‘0’ a>b A>B
0 1
moneda
1 Gcambio
S/R e3 G
e2 clk
C

n n

moneda_ins

seleccion

‘1’
G

e0
S1 D0 Q0 Gcantidad

e1
D1 Q1
S/R = Gcambio
e2
D2 Q2

e3 refresco
D3 Q3

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 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.

Tabla de transferencia por ciclos

E0 E1 E2 E3

sumador/restador + -> cantidad + -> A

comparador

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

precio precio -> +, comp

moneda moneda -> +

Asignación de buses

E0 E1 E2 E3

bus1 cantidad -> + cantidad -> +, comp

bus2 moneda -> + precio -> +, comp

bus3 + -> cantidad + -> A “0” -> cantidad

Figura 1.13.- Matriz de interconexionado.

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

moneda precio

e1 e2

n n 3 A

3
B
‘0’ a<b A<B S1
S/R ‘1’ a=b A=B
e2 ‘0’ a>b A>B
n

e1
e2
Gcantidad G Gcambio
G
clk C clk C
n n n n
“0”

e3

moneda_ins

seleccion

‘1’
G

e0
S1 D0 Q0 Gcantidad

e1
D1 Q1
S/R = Gcambio
e2
D2 Q2

e3 refresco
D3 Q3

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 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, C1 y
C0, 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.

entrada

C1C0 --> Operación


Detector de nivel

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

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

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.
E0

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


entrada <= ‘0’
salida <= ‘0’
Puertos -> C1, C0, inicio,
parada, nivel, R
NO entrada = ‘0’
inicio = 1
salida = ‘0’
E1 SI max, min
Estado inicial --> E0

E4
00 11
C1 C0
01 10
E3
NO SI
parada = 1
SI
parada = 1
SI SI NO
E2 parada = 1 parada = 1
entrada <= ‘0’ SI
NO NO nivel > R
salida <= ‘1’
SI SI NO
entrada <= ‘0’ nivel > 0 nivel < max entrada <= ‘1’
salida <= ‘1’ salida <= ‘0’ SI
entrada <= ‘1’ nivel < R
NO NO salida <= ‘0’
NO

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

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

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

nivel
n
‘0’ n E2 A
max n E3 n
B
R n E4
‘0’ a>b A>B
‘1’ a=b A=B
‘0’ a<b A<B

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

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.

parada
C1C0 E2
parada not >
>, 01, ‘0’
inicio
E0 E5
entrada = 0 C1 C0 entrada = 0
salida = 0 E1 C1C0 E3 salida = 0
inicio <,10, max not <

C1C0 =
<,10, R
parada >,01, R
E4

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

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

S1 S0 Selección
00 ‘0’ S1 = sel_R = e4
01 max S0 = sel_max = e3
10 R
11 --

e2
inicio mayor
e0 e3
e0 D Q e5
D Q
menor
parada e4
e2
igual
e3
e4
inicio C1
C0 e2
D Q
e0 e1
C1
C0 e5 C0
e1 C1 e3
e1 D Q
e2 D Q e1
mayor parada
e3 C0
C1 e4
menor D Q
igual e1

e4

e2 e3
mayor menor
e4 e4 entrada
salida D Q
D Q menor
mayor
e1 e1
salida entrada

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

PROCESADOR

nivel
n
‘0’ n 01 A
max n 10 n
B
R n 11
‘0’ a>b A>B mayor
01 ‘1’ a=b A=B igual
‘0’ a<b A<B menor
e2 e3

CONTROLADOR

inicio
e2
e0
e0 D Q mayor
e3 e5
parada D Q
e2 menor
e3 e4
e4 igual

C1
C0 e2
D Q
inicio e1
e0
C1
C0 e5
e1
e2 e1
D Q C0
mayor C1 e3
parada D Q
e3 e1
menor
igual
C0
e4 C1 e4
D Q
e1

e2 e3
mayor menor
e4 e4 entrada
salida D Q
D Q menor
mayor
e1 e1
salida entrada

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


Departamento de Ingeniería Electrónica de Sistemas Informáticos y Automática 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:
• IR1 e IR2, que corresponderán a los botones en el interior del ascensor para ir a la 1ª y
2ª 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 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).

También podría gustarte