apuntes-sobre-los-circuitos-parte3

Anuncio
J2 =
00
01
11
10
00
0
0
X
0
01
0
XQ1´Q3
11
X
K2 = Q1´+ Q2´Q3´
10
0
1
X
0
00
01
11
10
J3 = X´Q1´Q2 + XQ1´Q2´
00
01
11
10
00
0
X
X
1
01
0
11
0
00
X
X
1
X
01
X
11
1
10
X
X
X
1
01
X
11
X
10
X
1
1
X
K3 = Q1´
10
1
X
X
0
00
01
11
10
00
X
1
1
X
Z =XQ1Q2´Q3´
00
01
11
10
00
0
0
0
0
01
0
11
1
10
0
0
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
1/0
1/0
0/0
0/0
1/0
1
1/0
1/0
0/0
0/0
0
0/1
1/0
69
0/0
1
1/0
2
2
1/0
0/0
3
3
1/0
0/1
4
Después de simplificar quedaría de la siguiente manera.
0
1
Codificación de estados:
0
1
2
3
0/0
0/0
3/0
1/1
1/0
2/0
2/0
0/0
0=00
1=01
2=10
3=11
t+1
X
Q1Q2
Q1Q2
J1K1
J2K2
Z
0
1
0
1
0
1
0
1
00
00
01
01
10
10
11
11
00
01
00
10
11
10
00
01
0X
0X
0X
1X
X0
X0
X1
X1
0X
X1
X1
X1
1X
0X
X1
X0
0
0
0
0
0
0
0
1
J1 =
0
1
00
0
0
01
0
X
XQ2
11
0
X
K1 = 1
10
0
1
00
01
J1 =X´Q1
0
1
00
0
X
01
1
X
11
0
X
00
X
X
01
X
1
11
X
1
10
X
X
11
X
0
10
1
1
K1 = X´+ Q1´
10
X
X
00
01
Z =XQ1Q2
70
00
X
1
01
X
1
0
1
00
0
0
01
0
0
11
0
1
10
0
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á : 0001-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
1/1
1
0/0
0/0
2
1/1
0/0
3
t+1
X
Q1Q2
Q1Q2
J1K1
J2K2
Z
0
1
0
1
0
1
00
00
01
01
10
10
01
00
10
01
11
10
0X
0X
1X
0X
X0
X0
1X
0X
X1
X0
XI
0X
0
1
0
1
0
1
71
AB
0
1
00
01
10
11
1/0
2/0
3/0
0/0
0/1
1/1
2/1
3/1
0
1
11
11
00
00
X1
X1
X1
X1
0
1
J1 = XQ1´
0
1
00
0
1
01
X
X
K1 = Q2
11
X
X
10
0
0
0
1
J2 =X´
0
1
00
X
X
01
0
1
11
0
1
10
X
X
01
1
1
11
X
1
10
X
0
K2 = X´+`Q2
00
1
X
01
X
X
11
0
X
10
0
X
01
0
0
11
1
1
10
1
1
0
1
00
X
1
Z =X
0
1
00
0
0
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
00/0
01/0
11/0
01/0
1
11
00/0
11/0
2
00/1
01/1
0
1
2
3
11/1
3
01/1
72
0/0
1/0
2/1
00
1/0
2/0
3/0
01
0/0
1/0
2/1
3/1
X
Q1Q2
00
11
01
00
11
01
00
11
01
00
11
01
00
00
00
01
01
01
10
10
10
11
11
11
Q1Q2
J1K1
J2K2
01
00
00
10
01
01
11
10
10
0X
0X
0X
1X
0X
X1
X0
X0
X0
1X
0X
X1
X1
X0
1X
1X
0X
X1
11
X0
X0
0
0
0
0
0
0
0
1
1
1
0
1
J1 =X1X2Q1´Q2
00
00
01
11
10
J2 =
0
X
X
K2 = X1X2Q2´+ X1´X2´Q1Q2´
01
0
0
X
X
11
0
1
10
X
X1X2Q2´+ X1´X2´Q1Q2´
00
00
01
11
10
X
X
1
Z
01
0
X
X
0
11
1
X
X1X2
Q1Q2
00
00
01
11
10
X
X
1
01
0
X
X
0
11
1
X
10
1
K2 =X1X2Q1´Q2+ X1´X2´
10
00
01
11
10
1
00
X
1
1
X
01
X
0
0
X
11
10
1
X
Z= X1´Q1Q2+X2Q1Q2´
00
01
11
10
00
0
0
1
0
01
0
0
1
1
11
0
0
0
1
10
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
0=00
1=01
2=10
3=11
001/1
100/0
010/1
001/0
1
010/0
2
En el grafo lo que haré será empezar desde el
estado cero, donde el estado de salida será siempre
“1”. Lo mismo pasará con el estado tres. Al estar
situado en el extremo de los estados siempre su
0 salida será “1”.
0
1
2
3
100
1/0
2/0
3/1
010
0/1
1/0
2/0
3
001
0/1
1/0
2/0
3/1
Q1Q2
Q1Q2
J1K1
J2K2
Z
100
010
001
100
010
001
100
010
001
00
00
00
01
01
01
10
10
10
01
0X
1X
00
10
00
01
11
01
10
0X
1X
0X
0X
X0
X1
X0
0X
X1
X1
X0
1X
1X
0X
0
0
1
0
1
0
1
0
0
001/0
100/1
010/0
X
74
100/0
001/1
100
010
001
11
11
11
J1 =
X1X2X3
Q1Q2
000
10
11
001
X0
X0
010
00
0X
01
0X
0X
11
X0
X0
10
X0
X1
001
010
K1 =
X1X2X3
000
Q1Q2
00
100
101
110
111
101
110
111
101
110
111
0X
1X
X0
011
0X
100
1X
01
X0
X1
11
X0
X1
10
0X
1X
001
010
Z=
X1X2X3
000
Q1Q2
00
011
0
0
1
X1
X0
X1
1X
011
100
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)
b)
Implementar el circuito como autómata de Mealy.
¿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
0/0
1/0
3
Est. A
1
2
3
4
5
6
0/0
1/0
4
0/0
5
1/0
6 1/1
0/0
01
P. E.
1 2
1 3
4 3
1 5
1 6
4 3
01
Salida
0 0
0 0
0 0
0 0
0 1
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
2
0/0
1/0
0/0
Como tenemos 5 estados, tenemos
que utilizar 3 variables (A, B, C).
1/0
3
0/0
4
5
BC
XA
00
01
11
10
BC
XA
00
01
11
1/0
00
0X
X1
X1
0X
01
0X
--0X
11
0X
--1X
10
0X
--0X
00
1X
0X
0X
01
X1
---
11
X1
---
10
X0
---
BC
XA
00
01
11
10
77
00
0X
0X
1X
0X
01
X0
--1X
Ja = B’ X A’
Ka = 1
Jb = XC + AX
Kb = C
Jc = XBC
Kc = 1
11
X1
--X1
10
X0
--X0
10
1X
X0
X1
0X
Ahora haremos por “Moore”.
000/0
0
1
100
001/0
1
0
010/0
1
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
0
101/1
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
Estado estable:
Y1(T + At)
Yit
Yit = y
Y1’(t + At)
Y1’(t + At)
variable de estado
Y1(t + At) = variable de excitación
b)
Asíncronos “R-S”
“R-S”
Comb.
Pasos para la implementación de autómatas síncronos:
a)
b)
c)
d)
e)
f)
Diseño del diagrama de fases indicando los estados estables e inestables.
Tabla de funcionamiento.
Simplificación
Codificación de la tabla de fases.
Estudio de carreras críticas
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.
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
b)
X1 X2
A
B
C
D
00
1
01
3
-
3
4
1
4
11
-
10
2
2
2
-
Z
0
1
1
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
B-C
A-B
00
3
1
01
4
11
-
10
2
2
Z
1
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
0
1
00
E
E
01
I
E
11
-
10
E
I
Z
1
0
Simplificación de los mapas de “Karnaugh”:
X1 X2
0
1
00
0
1
01
1
1
11
-
10
0
0
Z
1
0
Y
COMB.
Y
X
Y
Y = X2 + X1’ y = X2’ o X’1y
X’2
Y
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
1
01
3
4
X1 X2
00
01
10
X1X2
Y1Y2
00
01
11
10
4
3
1
4
3
00
01
1
3
4
4
3
11
-
10
2
11
-
10
2
00
00
10
01
00
11
-
10
01
01
10
00
-
10
Y1 = X1´X2´+ X2´Y1Y2´
Y2 = X1X2´Y1´
Z
0
0
1
0
1
2
5
5
Z
0
0
1
2
5
Simplifico y doy valores
X1X2
Y1Y2
00
01
11
10
00
0
1
01
0
1
0
11
10
0
0
1
Z = X1´X2´+ X2´Y1Y2
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
1
01
2
4
X1 X2
0
1
4
2
1
2
00
01
1
4
2
2
11
-
10
3
11
-
10
3
Z
1
0
0
3
Z
1
0
3
83
Simplificamos y damos valores
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
00-1
01-2
10-3
00-4
01-2
10-3
Z
1
1
0
0
0
1
Q
1
1
0
0
0
1
Qt+1
1
1
0
0
1
0
“Q” Es siempre igual a la
salida.
Tomando como salidas en un instante t+1 hacemos “Karnaugh”.
X2 X1
Z
00
0
1
0
1
01
1
1
11
10
0
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
M2
100
001
1 = cerrado
0 = abierto
00 01 11 10
2
1
3
2
Z
0
0
00 01 11 10
00 1 9 3 2
01 5 4 3 2
84
Z
0
0
-
4
3
2
0
5
4
3
-
0
5
6
-
2
0
7
6
8
-
1
7
6
-
10
1
-
6
8
10
1
1
9
3
-
0
7
-
8
10
1
11
10
5
7
6
6
8
2
10
0
1
Simplificación
Damos valores
Pasamos a implementar:
M1M2
Y1Y2
00
01
11
10
00
00
11
11
10
01
00
01
10
10
11
01
01
-10
M1M2
Y1Y2
10
01
01
01
10
00
01
11
10
00
0
0
0
1
01
0
0
0
1
11
0
0
-1
10
0
0
0
1
Carrera crítica
Y1 = Y1 M1 + M’1 Y1 + M’1 M’2 Y2
Y2 = M1 Y´1+ Y´1 Y2+ M’2 Y2
Se asignan sus estados estables.
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)
b)
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.
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 =
Cerrando =
Manteniendo =
11
00
01
acp 000 001 010 011 100 101 110 111 Z1 Z2
0
1
1 2
3
1
1
2
5
4
0
1
3
7
0
0
6 4 0
0
7 3
6 4 6
1
1
5 3
Si simplificamos y damos valores nos quedaría así:
acp 000 001 010 011 100 101 110 111 Z1 Z2
4
0
1
00 5
3 1 2
3
0
0
01 7
6 4 3
1
1
10 5
2 6
Acp
Y1Y2 000
00
01
11
10
00
01
11
10
00
01
11
10
10
01
001 010 011 100 101
00 00 10
01
00
01 01
Y1 =(A´C´P´+ A´CP)Y2´
Y2 = AC´P´Y1´+ AY1´Y2+AC´P´Y1Y2´+ C´Y1Ý2
10
00
10
01
000 001 010 011 100 101
1
I
1
1
000 001 010 011 100 101
1
1
1
1
1
Z1 = A´C´P´Y1Y2´+ A´C´PY1´Y2´+
A´CPY1Y2´+AC´P´Y1´Y2
Z2 = A´C´P´Y1Y2´+
AÝ1´Y2´A´CPY1Y2´+AC´Y1Ý2
1
EJERCICIO DE MANOLO (hecho en clase):
Diseñar un circuito que realiza las siguientes transferencias de registros:
86
Si X es IMPAR
A
B+C
Si X es PAR
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
Búffer
X
S/R
Entrada
Salida
Rst
Clock
Ctrl.Unit
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
C1
C2
C3
X
A
B
C
Bus de entrada.
Sumador/restador.
Bus de entrada.
Bus de entrada.
87
C4
C5
0/1
1
0/1 resta/suma.
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
So
S1
S2
S3
S4
S5
X
B
C
X
A
F
Acción
co, c1, c2, c3, c4, c5,
BD
1 0 0 0 0 0
BD
0 0 1 0 0 0
B
0 0 0 1 0 0
AB
0 1 0 0 1 0
BC
0 1 0 0 0 0
Salida 0 0 0 0 0 1
Q2Q1Q0
X0 X0’
Est. Actual
Próx. Est.
000
001
010
011
100
001
010
0 1 1/1 0 0
101
101
co, c1, c2, c3, c4,
c5
1 0 0 0 0 0
0 0 1 0 0 0
0 0 0 1 0 0
0 1 0 0 1 0
0 1 0 0 0 0
88
S0
S1
S2
S3
S4
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
89
>>
TE
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
N1
Líneas de E/S.
Chip-enable
Grabación de memoria:
CE = 0
OE/Vp = 25 V (lo normal son
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
21 V
5V
M
T
P
X
Vp
N2
CE
WR = 0
CE = 0
0E = 0
OE = 1
memoria.
OE
OE
Vp = 21
Borra la
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
memoria
0
D
E
C
O
D
I
F
I
C
A
D
O
R
M
N-1
O
O
N-1
O
N-1
R/W terminal de
lectura/escritura
aquí se selecciona si
se lee o se escribe).
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
M/S
D
E
C
D
E
C
1
O
N-1
si las dos entradas son “1”,
está activo ( selección 2 M/S)
1
O
N-1
O
N-1
2 M/S
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.
Las memorias dinámicas se han utilizado para
construir memorias de alta capacidad
detectando la gran sencillez de sus células
componentes.
1
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
W
93
1
A0-N1-1
N2/ 2
N1
Ras
Cas
W
Dá pulsos en la línea
RAS.
Para refrescar la memoria ponemos:
CAS = 1;
W=1
RAS =
Idea general:
X
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
MTP
N2/ 2
Registro
N2
N2/ 2
94
N2/ 2
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
1
0
0
0
1
1
0
1
0
0
A15 A14 A13 A12
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
Direcciones de memoria del primer bloque (son los que tengo que fijar).
Dirección (start)........1000 (bin.)
er
1 bloque de 4K
0
1
0
1
0
1
0
1
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
0
0
0
0
0
0
0
1
0
1
1
0
1
0
1
0
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Implementación utilizando decodificadores (Decod. 3-8)
Q1
A15
(Cs)´
EN
Q2
A11-0
Decod.
(Cs)´
DO-7
A12
A13
A14
Q3
(Cs)´
Q4
(Cs)´
A15
D
Ejercicio 3
96
1000
2000
3000
4000
Fin
1FFF
2FFF
3FFF
4FFF
2kx4
8kx8
4096 11
A15 A14 A13 A12 A11 A10 A9
0
0
0
0
1
1
1
1
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
8k
A8 A7 A6 A5 A4 A3 A2 A1 A0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
4096
2k
2k
2k
2k
La implementación podrá ser de dos maneras:
“0”
OE
N
EN
Dec.
2-4
A14
A15
OE
N
D0-7
D
3-8
A11
A12
A13
OE
N
A13
A14
A15
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
0
0
0
0
1
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
0000
0800
07FF
0FFF
1
1
1
0
1
1
1
1
1
1
0
1
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
B000
E000
F000
BFFF
EFFF
PFFF
97
A11
A12
A13
A14
A15
A10-0
A12
A13
A14
A11-0
Ejercicio 5
40 K de memoria RAM
16 K de memoria ROM
Bloques de memoria ROM: 16Kx4 =
Bloques de memoria RAM: 16Kx8 =
Bloques de memoria RAM: 4Kx8 =
1 bloque 16K =16K
2 bloques16K=32K
2 bloques 16K=8K-40K
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
0
0
1
1
1
0
1
0
1
1
X
X
X
0
0
X
X
X
0
1
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
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
A14
A15
Dec
.
RAM
A13-0
R
EN
A12
A13
A11-0
Dec
.
R
R
98
D0-3
D0-7
D4-7
X
X
X
X
X
Ejercicio 6
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
0
0
0
0
0
0
0
0
0
1
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
1
0
1
0
X
X
X
X
X
X
X
X
X
X
X
X
1
1
1
1
1
1
0
1
0
1
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
“0”
A12
A13
A14
A11
A12
D
H
0000
0800
1000
A000
B000
E800
8000
07FF
0FFF
9FFF
AFFF
EFFF
EFFF
FFFF
A10-0
A12
A11-0
A11
A12
00
01
10
11
A11-0
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
99
Fin
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
0
0
1
0
1
0
X
X
X
X
0
X
X
X
X
0
X
X
X
X
0
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
0000
0800
1000
1800
2000
07FF
0FFF
17FF
1FFF
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
decodificador
A15
A14
A11
A12
A13
D
3-8
A10-0
Porque en A11 en la
pastilla 7 es X = 1,0.
A10
A9
A8
A10
A9
A8
F
100
T
101
Descargar