Está en la página 1de 33

J2 = XQ1´Q3 K2 = Q1´+ Q2´Q3´

00 01 11 10 00 01 11 10
00 0 0 X 0 00 X X 1 X
01 0 1 01 X X
11 X X 11 1 X
10 0 0 10 X 1

J3 = X´Q1´Q2 + XQ1´Q2´ K3 = Q1´

00 01 11 10 00 01 11 10
00 0 0 0 1 00 X X X X
01 X X 01 1 1
11 X X 11 1 1
10 1 0 10 X X

Z =XQ1Q2´Q3´
00 01 11 10
00 0 0 1 0
01 0 0
11 0 0
10 0 0

2º Se desea controlar la marcha del motor de un ascensor (estado de marcha y


sentido de giro) mediante un circuito secuencial pilotado por reloj. El ascensor
presta servicio entre dos pisos y puede suponerse que el pulso de reloj se produce
ya sea al pulsar un botón de llamada o bien cuando el ascensor llega a un piso y
también que las salidas del sistema se mantienen (por un sistema que no se
analizará) en el intervalo entre pulsos. Impleméntese un circuito que realice dichas
función sabiendo que no se activan dos entradas a la vez.

1) Se desea diseñar un sistema secuencial síncrono que suministre una señal e


inicialice su estado cada vez que en su entrada recibe dos ceros después de haber
recibido como mínimo dos unos.

0/0 0/0
0 0
1/0 1/0
0/0 0/0 1
1/0 1/0 0/1
1/0 1/0

69
0/0
0/0
1

2 1/0 2 1/0
0/0

3 3
1/0
0/1

Después de simplificar quedaría de la siguiente manera.

0 1
Codificación de estados:
0 0/0 1/0
1 0/0 2/0 0=00
1=01
2 3/0 2/0 2=10
3 1/1 0/0 3=11

t+1
X Q1Q2 Q1Q2 J1K1 J2K2 Z
0 00 00 0X 0X 0
1 00 01 0X X1 0
0 01 00 0X X1 0
1 01 10 1X X1 0
0 10 11 X0 1X 0
1 10 10 X0 0X 0
0 11 00 X1 X1 0
1 11 01 X1 X0 1

J1 = XQ2 K1 = 1

00 01 11 10 00 01 11 10
0 0 0 0 0 00 X X X X
1 0 X X 1 01 X 1 1 X

J1 =X´Q1 K1 = X´+ Q1´

00 01 11 10 00 01 11 10
0 0 1 0 X 00 X X X 1
1 X X X X 01 1 1 0 1

Z =XQ1Q2

70
00 01 11 10
0 0 0 0 0
1 0 0 1 0

2) Se dispone de dos números en binario, A y B, apareciendo simultáneamente


un bit de cada número, comenzando por el menos significativo, con cada pulso de
reloj.
Diseñar un circuito secuencial pilotado por cada pulso de reloj que vaya
detectando si A>B ó A<B o A=B.
El tiempo, durante el cual se realiza la comparación, está gobernado por la
presencia de una señal externa, x(x=”1”). Durante el tiempo en el que x no esté
presente (X=”0”) el sistema debe responder independientemente de las últimas
comparaciones realizadas, para cuando vuelva a ser x=”1” comenzar una nueva
comparación.

Por lo que yo entiendo, se tratará de una secuencia de dos dígitos binarios que será : 00-
01-10-11, que por este orden también serán los estados 0, 1, 2, 3.
También doy valores:

A<B=01
A>B=10
A=B=00

1/1
0

0/0 AB 0 1

1 1/1 00 1/0 0/1


0/0 01 2/0 1/1
0/0 10 3/0 2/1
11 0/0 3/1
2 1/1

0/0

t+1
X Q1Q2 Q1Q2 J1K1 J2K2 Z
0 00 01 0X 1X 0
1 00 00 0X 0X 1
0 01 10 1X X1 0
1 01 01 0X X0 1
0 10 11 X0 XI 0
1 10 10 X0 0X 1
71
0 11 00 X1 X1 0
1 11 00 X1 X1 1

J1 = XQ1´ K1 = Q2

00 01 11 10 00 01 11 10
0 0 X X 0 0 X 0 0 X
1 1 X X 0 1 X 1 1 X

J2 =X´ K2 = X´+`Q2

00 01 11 10 00 01 11 10
0 1 X 0 0 0 X 1 X X
1 X X X X 1 1 1 1 0

Z =X

00 01 11 10
0 0 0 1 1
1 0 0 1 1

3) Un sistema de detección de temperatura proporciona cuatro niveles


codificados en binario (00, 01, 10, 11). Se activa una alarma cuando detecta el nivel
3 11 ó cuando detecta el nivel 2 10 en 2 ciclos seguidos de reloj y debe desaparecer
cuando se detecta el nivel 00 ó el nivel 01 en dos ciclos consecutivos de reloj.
Implementar dicho sistema.

Teniendo en cuenta que los estados de las temperaturas tendrán tres formas de
evolución (subir, bajar y quedar constante) daremos valores a esas tres formas y quedan
para SUBIR=11, BAJAR =00 y ESTABILIZAR=01

0 01/0

00/0 11/0

1 01/0
11 00 01
00/0 11/0 0 1/0 0/0
1 0/0 2/0 1/0
2 01/1 2 1/0 3/0 2/1
3 2/1 3/1
00/1 11/1

3 01/1

72
X Q1Q2 Q1Q2 J1K1 J2K2 Z
00 00 0
11 00 01 0X 1X 0
01 00 00 0X 0X 0
00 01 00 0X X1 0
11 01 10 1X X1 0
01 01 01 0X X0 0
00 10 01 X1 1X 0
11 10 11 X0 1X 1
01 10 10 X0 0X 1
00 11 10 X0 X1 1
11 11 0
01 11 11 X0 X0 1

J1 =X1X2Q1´Q2 K2 = X1X2Q2´+ X1´X2´Q1Q2´


X1X2
00 01 11 10 Q1Q2 00 01 11 10
00 0 0 00 0 1
01 0 0 1 01 X X X
11 X X 11 X X
10 X X X 10 1 0 1

J2 = X1X2Q2´+ X1´X2´Q1Q2´ K2 =X1X2Q1´Q2+ X1´X2´

00 01 11 10 00 01 11 10
00 0 1 00 X X
01 X X X 01 1 0 1
11 X X 11 1 0
10 1 0 1 10 X X X

Z= X1´Q1Q2+X2Q1Q2´

00 01 11 10
00 0 0 0
01 0 0 0
11 1 1 0
10 0 1 1

4) Disponemos de un montacargas con pulsadores de subida S, bajada B, y


paro P: para modificar el sentido de la marcha es preciso activar previamente el
pulsador de parado y no responde al pulsado simultáneo de varios conmutadores.
73
Sendos topes fin de carrera Ti y Ts le impiden continuar subiendo o bajando
cuando alcanza los extremos del recorridos. Implementar un autómata síncrono
que controle dicho montacargas.

Como en el enunciado ya dice que los pulsadores sólo pueden ser pulsados no
simúltaneamente, las únicas posibles entradas pueden ser: 100 = bajar, 010 = subir, 001
= parar.
Como en realidad no sé a que puedo llamar salida “1”, lo que haré será asignar como
salidas “1” cuando los sensores t1 y t2 sean acticados.

Los estados son los de siempre y como siempre les daremos valores:

Codificación de estados:
0 001/1
0=00
1=01 100/0
2=10 010/1
3=11
1 001/0
010/0
100/0

En el grafo lo que haré será empezar desde el 2 001/0


estado cero, donde el estado de salida será siempre
010/0 100/1
“1”. Lo mismo pasará con el estado tres. Al estar
situado en el extremo de los estados siempre su
3 001/1
0 salida será “1”.

100 010 001


0 1/0 0/1
1 2/0 0/1 1/0
2 3/1 1/0 2/0
3 2/0 3/1

X Q1Q2 Q1Q2 J1K1 J2K2 Z


100 00 01 0X 1X 0
010 00 0
001 00 00 0X 0X 1
100 01 10 1X X1 0
010 01 00 0X X1 1
001 01 01 0X X0 0
100 10 11 X0 1X 1
010 10 01 X1 1X 0
001 10 10 X0 0X 0
74
100 11 0
010 11 10 X0 X1 0
001 11 11 X0 X0 1

J1 =
X1X2X3
Q1Q2 000 001 010 011 100 101 110 111
00 0X 0X
01 0X 0X 1X
11 X0 X0
10 X0 X1 X0

K1 =
X1X2X3
Q1Q2 000 001 010 011 100 101 110 111
00 0X 1X
01 X0 X1 X1
11 X0 X1
10 0X 1X 1X
Z=
X1X2X3
Q1Q2 000 001 010 011 100 101 110 111
00 1 0 0
01 0 1 0
11 1 0 0
10 0 1 1

Paso de continuar que me canso ...

5) Diseñar un sistema que detecte el número de personas presentes en una sala


sabiendo que existe un solo acceso que es a la vez entrada y salida y que las
personas entran y salen de una en una y con una mínima distancia entre ellas. Un
par de células fotoeléctricas a y b permiten detectar la salida o entrada de personas
y el sentido en que cruzan dicho acceso.
6) Diseñar un circuito secuencial síncrono de una entrada que permita
detectar la secuencia de información 11100. Para ello dispondrá de una salida que
se pondrá a uno cuando detecte esta secuencia, momento en el cual quedará
enclavada dicha salida, mientras tan sola salida permanecerá a cero.
7) Realizar un autómata síncrono con las siguientes especificaciones: el
circuito debe detectar la secuencia de entradas 00-01-11-10 correspondientes a las
entradas A y B, estas combinaciones sólo se tendrán en cuenta al producirse
una transacción en la señal de reloj, y además sólo tiene que estar presente cada
combinación durante un único impulso. Este circuito dispone de unas salida que
quedará enclavada a valor 1 detectada esta combinación; En cualquier otro caso la
salida será cero.
8) Realizar la síntesis del circuito lógico de control (síncrono) de un motor de
acuerdo con las siguientes especificaciones:
a) Si el interruptor (A) está desactivado, el circuito lógico ha de
inhibir el arranque del motor.
b) Si el interruptor (A) está activado:
75
- Al pulsar (B) el motor debe girar a la Izd. Y
seguirá girando cuando se suelte.
- Al pulsar el motor debe girar a la derecha y
seguirá girando cuando se suelte.
- Si (B) Y (C) son pulsados simultáneamente, el
motor girará a la izquierda.
En el estado inicial, el motor se encuentra parado y no hay ninguna entrada
activada.
9) Un muñeco de juguete funciona por control remoto. La caja de control
posee dos pulsadores (A y B), de tal forma que, en estado de reposo, el muñeco no
se mueve. Si se presiona el pulsador “A”, el muñeco se moverá hacia delante,
continuando el movimiento al dejar de presionar dicho pulsador. Si se actúa sobre
ambos pulsadores simultáneamente, se moverá hacia atrás, continuando así al
dejar de pulsarlos. Finalmente si se pulsa “B” el muñeco se parará.
Implementar el circuito como síncrono.

10) Un circuito secuencial tiene dos entradas (x1, x2) y dos salidas (Z1,Z2). Las
entradas representan un número binario natural de dos bits, N. Si el valor presente
de N es mayor que el valor inmediatamente anterior, entonces, Z1 = 1. Si dicho
valor es menor, entonces la salida Z2=1. En cualquier otro caso, Z1 = Z2 = 0. Se
pide:

a) Implementar el circuito como autómata de Mealy.


b) ¿Cuántos estados tendría el circuito como autómata de Moore?

11) Información codificada en “BCD” natural es enviada en serie por una línea
(x) sincronizada con los impulsos de un reloj, llegando primero el bit de mayor
peso. Diseñar el circuito que genere la señal de error en el instante en que se reciba
el cuarto bit cuando la combinación sea errónea, es decir que no pertenezca al
código. En ese mismo momento el sistema ha de retornar al estado inicial para
comenzar otro ciclo de detección de error.

12) Un circuito secuencial tiene una entrada “X” y una salida “Z”. Por “X” se
transmiten pulsos positivos de 1, 2, ó 3 ciclos de duración. Desde un pulso al
siguiente “X” permanece a “0” un mínimo de 10 ciclos. La salida “Z” se pondrá a 1
tras terminar el pulso de entrada y permanecerá en 1 durante 3 ciclos se el pulso
de “X” duró un ciclo, durante 2 ciclos si “X” duró 2 y durante 1 ciclo si “X” duró
3. En otros casos “Z” es cero.

16) Diseñe un chequeador de paridad para caracteres de 4 bits enviados en


serie. El circuito recibirá, partiendo de un estado inicial, 4 bits en serie por una
línea de entrada, “X”; coincidiendo con el cuarto “bit”, la salida del circuito será 1,
si y sólo si el número total de unos recibidos ha sedo par. Tras la recepción del
cuarto bit, el circuito volverá a aceptar en la entrada un nuevo carácter de 4 bits.

76
1 0/0
0/0
2
1/0
01 01
0/0 3 0/0 Est. A P. E. Salida
1/0 1/0 1 1 2 0 0
4 2 1 3 0 0
0/0 3 4 3 0 0
5 4 1 5 0 0
1/0 5 1 6 0 1
6 1/1 6 4 3 0 0
0/0

Nos damos cuenta que el tres y el seis son iguales y por lo tanto se pueden simplificar y
por ello nos deshacemos del Nº 6.

0/0
0/0
1
1/0

0/0
2 0/0
1/0 1/0 Como tenemos 5 estados, tenemos
que utilizar 3 variables (A, B, C).
3
0/0
4
1/0
5

BC BC
XA 00 01 11 10 XA 00 01 11 10
00 0X 0X 0X 0X 00 0X X0 X1 X0
01 X1 -- -- -- 01 0X -- -- --
11 X1 -- -- -- 11 1X -- -- --
10 0X 0X 1X 0X 10 0X 1X X1 X0

BC
XA 00 01 11 10
Ja = B’ X A’ Ka = 1
00 1X X1 X1 X0
01 0X -- -- -- Jb = XC + AX Kb = C
11 0X -- -- --
Jc = XBC Kc = 1
77
10 1X X0 X1 0X

Ahora haremos por “Moore”.

000/0
0 1
100
001/0
1
0
1 101/1
010/0
0
0
011/0
. 1
100/0

Cronograma tipo “Moore”

Clock

Qa

Qb
Qc

X
Z

Cronograma tipo “Mealy”


Clock

Qa
Qb
Qc

Z
X

AUTOMATAS ASINCRONOS

Comb. Mem.
78
a) Asícrono de realimentación directa. La función del elemento de memoria lo
localizará el retablo de las puertas.

Yit

Xt Comb. Retar.

Y1(T + At)

Yit Y1(T + At) Y1’(t + At)

Estado estable: Yit Y1’(t + At)

Yit = y variable de estado

Y1(t + At) = variable de excitación

b) Asíncronos “R-S”

Comb. “R-S”

Pasos para la implementación de autómatas síncronos:

a) Diseño del diagrama de fases indicando los estados estables e inestables.


b) Tabla de funcionamiento.
c) Simplificación
d) Codificación de la tabla de fases.
e) Estudio de carreras críticas
f) Implementación
79
AUTOMATAS ASINCRONOS
1) Diseñar en sistema secuencial asíncrono con dos variables de entrada X1,
X2 Y una variable de salida Z que ha de actuar según las siguientes
especificaciones:

a) Si la variable X1 toma el valor lógico 1, la salida Z del sistema pasa


al estado lógico 1 independientemente del estado en que se encuentre
y continúa en él aunque la variable X1 vuelva al estado lógico 0.
Sucesivas conmutaciones de la variable X1 no cambian el estado de
la salida.
b) Si la variable X2 toma el valor lógico 1, la salida Z del sistema pasa
al estado continúa en él aunque la variable X vuelva al estado lógico
0. Sucesivos cambios de X2 no modifican la salida

X1 X2 00 01 11 10 Z
A 1 - 2 0
B 3 - - 2 1
C 3 4 - 2 1
D 1 4 - - 0

Simplificación:
Se pueden simplificar aquellos líneas que tengan el mismo estado o que en una de ellos
se dé la situación no existe.
Al simplificar líneas, siempre predominararán los estados estables sobre los inestables.
En este caso vemos con claridad que el apartado “B” y “C” se pueden simplificar.

Quedaría de la siguiente manera:

X1 X2
00 01 11 10 Z
B-C 3 - 2 1
A-B 1 4 - 2 0

B-C = 0 A-B = 1
80
Interpretación:

01/0

00/1 01/0

0 0
10/1 00/0

10/1

Tabla de fases:

X1 X2
00 01 11 10 Z
0 E I - E 1
1 E E - I 0

Simplificación de los mapas de “Karnaugh”:

X1 X2
00 01 11 10 Z
Y COMB. Y
0 0 1 - 0 1
1 1 1 - 0 0 X
Y

Y = X2 + X1’ y = X2’ o X’1y

X’2
Y

X’1

2) Un sistema secuencial asíncrono posee dos entradas de impulsos X1 y X2


(ambas entradas no pueden estar nunca en estado uno simultáneamente) y una

81
salida Z. A partir de un estado inicial en el cual X1 = X2 = Z = 0, la salida Z ha de
tomar el valor uno si se aplican dos impulsos sucesivos a la entrada X1 sin que se
aplique ninguno a la entrada X2. La salida volverá a cero cuando X2 pase al estado
uno. Se especifica que X1 Y X2 no pueden cambiar simultáneamente. Implementa
dicho sistema.

Según indica el problema, las entradas son: X1 y X2 La salida: Z

X1 X2 00 01 11 10 Z
1 3 - 2 0
4 - 2 0
4 3 - 5 1
1 3 - 0
4 - 5 1

X1 X2 00 01 11 10 Z
00 1 3 - 2 0
Simplifico y doy valores
01 4 - 2 0
10 4 3 - 5 1

X1X2 X1X2
Y1Y2 00 01 11 10 Y1Y2 00 01 11 10
00 00 00 - 01 00 0 0 0
01 10 - 01 01 1 0
11 11
10 10 00 - 10 10 1 0 1

Y1 = X1´X2´+ X2´Y1Y2´ Z = X1´X2´+ X2´Y1Y2


Y2 = X1X2´Y1´

3) El producto final de una fabricación son barras metálicas cuya longitud ha


de ser inferior o igual a L. Para hacer la selección del producto terminado se
utiliza un sistema constituido por una cinta transportadora que hace pasar las
barras entre dos detectores fotoeléctricos separados por una distancia “L” y
constituidos por un emisor y un receptor de luz. La salida de los receptores de luz
adopta dos niveles de tensión diferenciados según esté o no una barra situada entre
él y su emisor respectivo. Se asigna por convenio el estado uno lógico a la salida
cuando la barra está situada delante del detector y el estado cero en el caso
contrario.
Después del segundo detector existe una trampilla accionada por un motor M. Si la
barra tiene una longitud mayor que L, se ha de excitar M y abrir una trampilla
para dejar caer la barra. En caso contrario no ha de excitarse M. Una vez pasada
82
la barra el motor M ha de volver a desexcitarse y el sistema quedará preparado
para realizar una nueva detección.
La distancia que separa las dos barras sometidas a verificación es tal que nunca
podrá entrar una en la zona de detección mientras se está comprobando la
anterior.
El problema consiste en diseñar un sistema secuencial asíncrono cuyas entradas
sean las salidas de los detectores, que denominaremos X1 y X2 y cuya salida Z
accione al motor M.

4) Una vía férrea con tráfico en ambos sentidos corta a una carretera en la
cual se coloca una barrera gobernada por la salida Z de un autómata asíncrono. A
500 m del punto de cruce se colocan dos detectores X2 y X2 respectivamente. A
partir de un estado inicial en el que Z = 0 ésta debe pasar al estado uno cuando se
acerca un tren en cualquier sentido, al rebasar la máquina los 500 m del cruce y
debe volver al estado cero cuando el último vagón se aleja de dicha distancia
independientemente de la longitud del tren.
Implementar dicho autómata.

El ejercicio dice que se trata de uno sóla vía férrea que puede ser circulada en los dos
sentidos.

Por ese motivo las señales X1 y X2 serán las que se levante la barrera o se baje.
Empezaremos por un estado inicial en el cual no han pasado trenes y por lo tanto la
barrera está levantada (1).

X1 X2 00 01 11 10 Z
1 2 - 3 1
4 - 3 0
4 2 - 0
1 2 -

X1 X2 00 01 11 10 Z
0 1 2 - 3 1 Simplificamos y damos valores
1 4 2 - 3 0

83
Ahora lo que pasaremos a hacer es ir tomando los valores estables, primero, y los de
transacción después, sus respectivas salidas y “Qt+At” que será la salida de los estados
de transacción. Las salidas de estos estados serán las mismas que las de sus estados
estables.

X1 X2 Z Q Qt+1
“Q” Es siempre igual a la
00-1 1 1 1
salida.
01-2 1 1 1
10-3 0 0 0
00-4 0 0 0
01-2 0 0 1
10-3 1 1 0

Tomando como salidas en un instante t+1 hacemos “Karnaugh”.

X2 X1
Z 00 01 11 10
0 0 1 0
1 1 1 0

Qt+1 = X´2X´1 + X´2Z

5) Antes de poner en marcha una máquina han de realizarse unas


determinadas operaciones en secuencia, lo cual se detecta mediante los
microinteruptores M1 y M2. Si dichas operaciones se realizan en la secuencia
correcta, M2 se cerrará estando M1 abierto, pero después de haberse cerrado esta
último previamente. La inhibición de la puerta en marcha de la máquina se realiza
mediante la variable Z que solamente deberá activarse (adoptar el estado lógico
uno) si M1 y M2 han realizado la secuencia correcta simultáneamente.

M1 100 1 = cerrado
M2 001 0 = abierto

00 01 11 10 Z 00 01 11 10 Z
1 - 2 0 00 1 9 3 2 0
- 3 2 0 01 5 4 3 2 0
84
- 4 3 2 0 11 5 6 - 2 0
5 4 3 - 0 10 7 6 8 10 1
5 6 - 2 0
7 6 8 - 1 Simplificación
7 6 - 10 1
- 6 8 10 1
1 9 3 - 0
7 - 8 10 1 Damos valores

Pasamos a implementar:

M1M2 M1M2
Y1Y2 00 01 11 10 Y1Y2 00 01 11 10
00 00 00 01 01 00 0 0 0 0
01 11 01 01 01 01 0 0 0 0
11 11 10 -- 01 11 0 0 -- 0
10 10 10 10 10 10 1 1 1 1

Carrera crítica

Y1 = Y1 M1 + M’1 Y1 + M’1 M’2 Y2 Se asignan sus estados estables.


Y2 = M1 Y´1+ Y´1 Y2+ M’2 Y2

Z = M2Y1 + Y1’ Y2

Recordemos que se trata de un circuito combinacional de entrada y otro de salida por


que como nos quedaron más de una variable y por lo tanto no podemos hacer coincidir
Z con Yn.

6) Diseñar un autómata que controle una puerta automática para el acceso de


carros guiados a un supermercado sabiendo los siguientes datos:

a) En el sistema existen dos finales de carrera C y A que indican si la


puerta está completamente cerrada o abierta, respectivamente. En el
estado inicial, la puerta está completamente cerrada.
b) La presencia de un carro en las proximidades de la puerta es
detectada por una célula. Si el carro llega a la zona de detección la
puerta comienza a abrirse. Mientras haya un carro en dicha zona la
puerta permanecerá abierta. Cuando el carro abandone dicha zona
la puerta se cerrará, pero si la abandona antes de que la puerta esté
completamente abierta, ésta se abrirá completamente y
seguidamente se cerrará. Si se está cerrando y llega un carro, la
puerta se abrirá.

85
Primero vamos a dar valores:

Abriendo = 11
Cerrando = 00
Manteniendo = 01

acp 000 001 010 011 100 101 110 111 Z1 Z2


1 2 - - 0 1
3 2 - - 1 1
5 3 4 - - 0 1
7 6 4 - - 0 0
7 3 6 4 - - 0 0
5 3 6 - - 1 1

Si simplificamos y damos valores nos quedaría así:

acp 000 001 010 011 100 101 110 111 Z1 Z2


00 5 3 1 2 4 - - 0 1
01 7 3 6 4 - - 0 0
10 5 3 2 6 - - 1 1

Acp
Y1Y2 000 001 010 011 100 101
Y1 =(A´C´P´+ A´CP)Y2´
00 10 00 00 10 01
01 01 00 01 01
11 Y2 = AC´P´Y1´+ AY1´Y2+AC´P´Y1Y2´+ C´Y1Ý2
10 10 00 10 01

000 001 010 011 100 101


00 1 Z1 = A´C´P´Y1Y2´+ A´C´PY1´Y2´+
01 I A´CPY1Y2´+AC´P´Y1´Y2
11
10 1 1

000 001 010 011 100 101


00 1 1 Z2 = A´C´P´Y1Y2´+
01 1 1 AÝ1´Y2´A´CPY1Y2´+AC´Y1Ý2
11
10 1 1

EJERCICIO DE MANOLO (hecho en clase):


Diseñar un circuito que realiza las siguientes transferencias de registros:

86
Si X es IMPAR Si X es PAR
A B+C A B-C

Visto el anunciado pasamos a desarrollar el problema paso por paso:

Tomamos A, B, C Y X como registros de 8 bits y lo desarrollamos en forma de


algoritmo.

Inicio (carga de algorimos)

X BUS DE ENTRADA
A BUS DE ENTRADA
B BUS DE ENTRADA
C BUS DE ENTRADA
If X Impar then go to Impar
A B-C
Go to fin
Impar
A B+C
END

Ahora pasaríamos a hacer el diagrama de bloques.

A B C X

Búffer S/R

Entrada

Salida
Rst Ctrl.Unit
Clock

La Unidad de Control lo que hace es generar dos señales dependiendo se es “0” ó “1”
(par o impar).

Como salidas vamos a tener:

C0 X Bus de entrada.
C1 A Sumador/restador.
C2 B Bus de entrada.
C3 C Bus de entrada.

87
C4 0/1 0/1 resta/suma.
C5 1 Búffer de imperación.

So Cargar X

S1 Cargar A

S2 Cargar B

S3 S4

S5

S3 cargaría los pares y S4 los impares (X’ = par)

Estado Acción co, c1, c2, c3, c4, c5,


So X BD 1 0 0 0 0 0
S1 B BD 0 0 1 0 0 0
S2 C B 0 0 0 1 0 0
S3 X AB 0 1 0 0 1 0
S4 A BC 0 1 0 0 0 0
S5 F Salida 0 0 0 0 0 1

Q2Q1Q0 X0 X0’
co, c1, c2, c3, c4,
Est. Actual Próx. Est.
c5
000 001 1 0 0 0 0 0 S0
001 010 0 0 1 0 0 0 S1
010 0 1 1/1 0 0 0 0 0 1 0 0 S2
011 101 0 1 0 0 1 0 S3
100 101 0 1 0 0 0 0 S4

88
MEMORIAS DIGITALES
Son sistemas que permiten el almacenamiento de información binaria durante algún
tiempo.

Según esto podemos estudiar:


- Memorias semiconductoras: permiten
almacenamiento de información binaria utilizando
semiconductores
- Memorias y soportes magnéticos
- Ferritas

Memorias semiconductoras

Tipos:

Atendiendo a la forma de acceso a la información:

- Acceso directo: Permiten el acceso a cualquier posición de memoria


independientes de su situación.
- Acceso secuencial: en ellas para acceder a un bloque de información hay que
desplazar todos aquellos bloques que se encuentren delante de este.

Atendiendo a la estructura interna:

- Memorias de acceso aleatorio (RAM): se caracterizan por poder


acceder a cualquier posición de memoria con un mismo tiempo de retardo.
Dentro de estas, atendiendo a la permanencia de información (parámetro que
mide la diferencia entre el tiempo necesario para leer un bloque de información
menos el tiempo necesario para escribir un determinante bloque de información).

TL ---- TE

- Memoria activas o de lectura escritura (R/W) (volátiles): Aquí el


tiempo de lectura es similar al de escritura.
TL TE

- Memorias pasivas: el tiempo de escritura es mucho mayor que el de


lectura.

dTL >> TE

89
Memoria activas o de lectura escritura (R/W) (volátiles):
Atendiendo a la permanencia de la información (parámetros que miden el tiempo que
permanece una información desde que se ha introducido por la entrada):

Memoria SRAM: Se denominan memorias estáticas y el tiempo de


permanencia de la información viene limitado exclusiva por la tensión de
alimentación.

Memoria DRAM: memorias dinámicas y el tiempo de permanencia de la


información es de algunos milisegundos.

Atendiendo a la operación de lectura/escritura:

Memoria de lectura/escritura no simultánea: en estas memorias o bien leémos


o bien escribimos pero no las dos cosas a la vez.

Memoria de lectura/escritura simultánea: en ellas es posible leer, escribir o


las dos operaciones sobre posiciones de memoria diferentes.

Memoria de acceso múltiple: en ellas es posible leer, escribir o las dos


operaciones sobre posiciones de memoria diferentes.

Memorias pasivas
Memoria ROM
Son memorias en las que el tiempo de escritura es infinito.
No se puede grabar en ellas.

Chip-set

N1
N2
Output
enable

Memoria programables (PROM)


Son aquellas en las que el tiempo de escritura es mucho mayor que el de lectura
pero admiten programarlas una vez que Te >> Tl

Memorias reprogramables (RPROM)

90
EPROM tiempo de escritura >> tiempo lectura pero admiten el borrado y
la posterior programación tantas veces como sean necesarias.
Este tipo de memoria se borra con rayos ultravioletas.
Estas se utilizan mucho más que las PROM y ROM.

N2 Grabación de memoria:
N1 Líneas de E/S. CE = 0
OE/Vp = 25 V (lo normal son
Chip-enable 5V)

QE Vp (rec.)

EEPROM son similares a las EPROM pero se pueden borrar aplicando una
tensión más elevada de lo habitual.

N2
Escritura:
N1
WE M Vp N2
21 V T
P CE WR = 0 Vp = 21
5V X CE = 0
OE 0E = 0
OE OE = 1 Borra la
memoria.

FLASH la diferencia con las anteriores consiste en que el borrado no se


realiza posición a posición sino de forma global.

Memorias de forma aleatoria para:

FIFO
Son memorias en las que el primer bloque de información que entran es el primero que
sale.

LIFO
Son memorias en las que el último bloque de información que entra es el primero en
salir.

REGISTROS DE DESPLAZAMIENTO

Memorias asociativas:

91
Organización de memorias
(Vamos a estudiar las memorias RAM/activas/lectura/escritura no simultáneas).

Posición de
0 memoria
D
E
C O N-1
O
D R/W terminal de
I lectura/escritura
F N-1
I
O aquí se selecciona si
C se lee o se escribe).
M A
D
O O N-1
R

Salida del decodificador para elegir la posición de memoria.

Esto es lo que se llama ORGANIZACIÓN 2D

Ahora vamos a ver la ORGANZACIÓN 3D

2 M/S
M/S D O N-1 si las dos entradas son “1”,
E 1 está activo ( selección 2 M/S)
C 1

O N-1

M/S
D 2 M/S
E
N-1
C O

ZM

Con el primer decodificador se


selecciona la posición de todas las
hojas.
El segundo se escoge las hojas.

92
Podemos acceder a Zm posiciones de memoria (2m/z·2m/z = 2m)

Memorias dinámicas
Memoria SRAM
Se basan en unas células cuyo fundamento es un contador

Lo que hago es regenerar cada ciertos


milisegundo. Tienes que refrescar la
memoria. 1
Las memorias dinámicas se han utilizado para 1
construir memorias de alta capacidad
detectando la gran sencillez de sus células
componentes.

Memorias de alta capacidad (gran número de vías de dirección)


Direccionamos por un lado las filas y por otro las columnas.

2 n/2 Mem
ni

R
Ras
F

2 n/2

R.C.

2 n/2

Cas
Para ver la forma de operación vemos un cronograma:

A0/2 n/z-1

Ras

Cas

93
A0-N1-1

N2/ 2
N1
Ras
Cas
W

Dá pulsos en la línea
Para refrescar la memoria ponemos: RAS.

CAS = 1; W=1 RAS =

Idea general:

Búffer

Para refrescar todas las posiciones de memoria y no sólo las columnas utilizaremos un
contador y un multiplexor.

2 líneas

Cont.
S0-1 N2/ 2
MTP
N2/ 2
Registro
N2 N2/ 2

94
Modos de refresco

1) Modo rafága
Primero realizo el refresco de toda la memoria (pulsos en RAS). Luego tengo un
espacio de tiempo para utilizar la memoria (operación de lectura-escritura).
El micro determina el tiempo que refresca la memoria o el tiempo que la utilizo.

RAS

2) Modo distributivo
Ciclos de refresco más pequeñas y durante más instantes puedo utilizar la memoria
(refresco una pequeña posición-leo).

RAS

EJERCICIOS

A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0


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

A15 A14 A13 A12 Direcciones de memoria del primer bloque (son los que tengo que fijar).

Dirección (start)........1000 (bin.)


er
1 bloque de 4K
Dirección (end)..........1FFF (hexadecimal)

95
Dirección (start)........2000 (bin.)
o
2 bloque de 4K Dirección (end)..........2FFF (hexadecimal)

Dirección (start)........3000 (bin.)


3er bloque de 4K
Dirección (end)..........3FFF (hexadecimal)

Dirección (start)........4000 (bin.)


o
2 bloque de 4K
Dirección (end)..........4FFF (hexadecimal)

A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 Inicio Fin


0 0 0 1 X X X X X X X X X X X X 1000 1FFF
0 0 1 0 X X X X X X X X X X X X 2000 2FFF
0 0 1 1 X X X X X X X X X X X X 3000 3FFF
0 1 0 0 X X X X X X X X X X X X 4000 4FFF

Implementación utilizando decodificadores (Decod. 3-8)

Q1
A15
(Cs)´
EN Q2

A11-0 (Cs)´
Decod.
DO-7
A12
A13 Q3
(Cs)´
A14
Q4
(Cs)´

A15
D

Ejercicio 3
96
2kx4 8kx8 4096 11

8k
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 4096
0 1 0 0 0 0 0 0 1 0 0 1 0 1 1 0 2k
0 1 0 0 1 0 0 0 1 0 0 1 0 1 1 0 2k
0 1 0 1 0 0 0 0 1 0 0 1 0 1 1 0 2k
0 1 0 1 0 0 0 0 1 0 0 1 0 1 1 0 2k

La implementación podrá ser de dos maneras:

“0” OE
N
EN

Dec.
A14 2-4
OE
A15 N

D D0-7
A11
3-8
A12
OE
A13 N

A13
A15 A14
OE
N
A11
A12 A0-10
OE
N
A13
A14

Ejercicio 4

A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 Inicio Fin


0 0 0 0 0 X X X X X X X X X X X 0000 07FF
0 0 0 0 1 X X X X X X X X X X X 0800 0FFF

1 0 1 1 X X X X X X X X X X X X B000 BFFF
1 1 1 0 X X X X X X X X X X X X E000 EFFF
1 1 1 1 X X X X X X X X X X X X F000 PFFF

97
A11
A12
A15 A13
A14 A10-0

A12
A13 A11-0
A14

Ejercicio 5

40 K de memoria RAM
16 K de memoria ROM

Bloques de memoria ROM: 16Kx4 = 1 bloque 16K =16K


Bloques de memoria RAM: 16Kx8 = 2 bloques16K=32K
Bloques de memoria RAM: 4Kx8 = 2 bloques 16K=8K-40K

A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0


0 0 X X X X X X X X X X X X X X
0 1 X X X X X X X X X X X X X X
1 0 X X X X X X X X X X X X X X
1 1 0 0 X X X X X X X X X X X X
1 1 0 1 X X X X X X X X X X X X

Implementaremos con un decodificador 2-4 para las líneas A15 y A14.

ROM ROM
EN
D4-7
A14 Dec RAM
D0-3
A15 .

A13-0 R
D0-7

EN
A11-0 R
A12 Dec
A13 .
R
98
Ejercicio 6

A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 D H


0 0 0 0 0 X X X X X X X X X X X 0000 07FF
0 0 0 0 1 X X X X X X X X X X X 0800 0FFF
1000 9FFF
1 0 1 0 X X X X X X X X X X X X A000 AFFF
B000 EFFF
1 1 1 0 0 X X X X X X X X X X X E800 EFFF
1 1 1 1 1 X X X X X X X X X X X 8000 FFFF

“0” A11
A12 A10-0
A12
A13 A12
A14 A11-0
00
A11 01
A12 A11-0
10
11

Ejercicio 7

Sistema microordenador con capacidad de direccionamiento de 64K, dispone de los


siguientes elementos:

- Pastilla 1: EPROM monitor de 2K situado en 0000-07FF


- Pastilla 2: EPROM monitor de 2K situado en 0800-0FFF
- Pastilla 3: RAM no volátil de 2K situado en 1000-17FF
- Pastilla 4: Datos de teclado display, situado en 1800-1FFF
- Pastilla 5: RAM básica de 256 bytes situado en 2000-20FF
- Zona libre desde la posición 2100-27FF
- Pastilla 6: RAM de amplicación de 256 situado en 2800-28FF
- Zona libre desde la posición 2900-2FFF
- Pastilla 7: EPROM de 4K situado en la posición 3000-3FFF
- Zona libre 4000-fff

Implementar el mapa de memoria con un decodificador de dos chips-sets de selección y


la lógica adicional necesaria.

A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 Inicio Fin

99
0 0 0 0 0 X X X X X X X X X X X 0000 07FF
0 0 0 0 1 X X X X X X X X X X X 0800 0FFF
0 0 0 1 0 X X X X X X X X X X X 1000 17FF
0 0 0 1 1 X X X X X X X X X X X 1800 1FFF
0 0 1 0 0 0 0 0 X X X X X X X X 2000 20FF

0 0 1 0 1 0 0 0 X X X X X X X X 2800 28FF

0 0 1 1 X X X X X X X X X X X X 3000 3FFF

Para seleccionar A15


decodificador A14

A11 D
A12 3-8
A13

A10-0

A10
A9
Porque en A11 en la A8
pastilla 7 es X = 1,0.
A10
A9
A8

100
T

101

También podría gustarte