Sistemas secuenciales

Anuncio
Libro de Electrónica Digital de la Universidad de Zaragoza año
2002-03
I- 1
XI. Sistemas Secuenciales I: Conceptos
E. Digital
XI. INTRODUCCIÓN A LOS SISTEMAS
SECUENCIALES I: CONCEPTOS
(P. 194, 215)
1.- Necesidad De Memoria. Concepto De Estado
Sist1 combinacional correspondencia univoca entre vectores de entrada y
salida. ∃ sist digitales que no tienen una correspondencia univoca entre
vectores de entrada y salida. Respecto a un vector de entrada en instantes
diferentes producen vectores de salida diferentes.
Ejemplo: Sistema de apertura y cierre de una puerta de garaje.
Los sistemas secuenciales necesitan memoria, que se consigue mediante
realimentación. El concepto de memoria se relaciona con realimentación
lógica.
Sistema secuencial à Sist digitales cuya salida depende de las entradas del
sist en dicho momento, pero además de la evolución anterior del sistema.
Presenta 3 vectores propios: entrada, salida y de estado, se caracteriza por
responder de distinta forma a un mismo vector de entrada.
Sistema secuencial dispone de 3 tipos de variables: vector de entrada
(X
= ( xi ) ), vector de salida ( Y = ( y j ) ) y estado ( Q = (q k ) )
relacionadas a través de 2 conjuntos de funciones de entrada.
2.- Variables De Estado Y Grafos De Estado
Las variables de estado representan conjuntamente el estado físico del
sistema: individualmente cada variable puede no tener significado físico.
Las variables de estado representan el significado correspondiente al vector
de entrada en su conjunto.
1
sist = sistema
M
E. Digital
I- 2
XI. Sistemas Secuenciales I: Conceptos
Ejemplo: Un timbre con 3 pulsadores enlazados que no permite pulsar 2
botones a la vez, timbre suena cuando se pulsa sucesivamente a, b, c y deja
de sonar al soltar c. Su grafo de estado es:
El
sistema
tiene
que
acordarse de
4
estados
diferentes q2
y q 1 expresan
conjuntamente el estado del sistema.
La evolución de los estados puede expresarse eficazmente en un grafo:
detalla los diversos estados y las transiciones entre estados.
Ejemplo: Lámpara de luz de mesa con un pulsador, se enciende al pulsar y
se apaga al volver a pulsar otra vez.
3.- La Memoria Como Almacén De Información. Biestables Y Registros
Consideramos la memoria como almacén de información, conservación de
los valores boléanos de algunas variables.
Unidad elemental de memoria es un dispositivo capaz de almacenar un ‘1’ o
un ‘0’ y conservando en ausencia de entrada. Tal sistema se le llama
biestable (2estados)
M
I- 3
XI. Sistemas Secuenciales I: Conceptos
E. Digital
3.1 Biestables RS
Dos entradas
R (reset) à Puesta a ‘0’ borrado
S (set) à puesta a ‘1’ marcado
Se pueden configurar con puertas Nand y también con puertas Nor:
Circuito con puertas
Nor
à
prioritario
borrado
‘1’
valor
activo.
Circuito con puertas
Nand à marcado prioritario ‘0’ valor activo.
3.2 Biestables D
Entrada de almacenamiento “D” y otra de habilitación “E”,. Con E=1 va
aceptando los valores que llegan a su entrada “D”, con E=0 mantiene el
último valor que tenía antes de deshabilitarlo. Biestable “D” a partir de un
“RS”:
También puede construirse con puertas de transmisión:
En tecnología MOS se
construye
así
por
presentar más ventajas:
menos T è menor t p .
Célula básica de memoria, almacena y conserva un valor booleano.
Agrupando “n” de estos en paralelo con habilitación común se configura un
registro de longitud “n”, almacena palabras de “n” bits y se le llama
memoria cerrojo (“latch-memory”). Agrupación de “m” registros de “n” bits
seleccionables a través de “k” entradas de direccionamiento –cada registro
M
I- 4
XI. Sistemas Secuenciales I: Conceptos
E. Digital
queda seleccionado por un número en binario- da lugar a un bloque de
memoria RAM, memoria de acceso directo ó aleatorio (“random acces
memory”).
Los terminales de entrada y salida de los registros son comunes para todos
registros, el vector presente en las entradas de control sobre cual registro se
actúa, no hay distinción entre terminales de entrada y salida de los registros
(en la misma línea): se selecciona la forma de acceso al registro lectura
(“R”) ó escritura (“W”).
La configuración de un bloque RAM es:
-subbloque central con “m”
registros de “n” bits.
de
(m
-decodificador
= 2 k ) selector de registros.
“n” líneas de datos.
“k”
líneas
de
entrada
-circuito adaptador entradas / salidas con
-habilitación
-lectura / escritura.
4.- Estado, Biestables Y Variables De Salida. Autómata De Moore Y De
Mealy
Las variables de estado pueden configurarse sobre biestables RS, que
pueden utilizarse para configurar sistemas secuenciales como unidad de
memoria y almacenar variables de estado; el resto del circuito será
combinacional.
Todo sistema combinacional puede dividirse en tres subsistemas: dos
combinacionales y el tercero por biestables que almacenan variables de
estado:
a)
funciones que activan y desactivan los biestables
b) funciones producen salidas del sistema
El diseño de un circuito combinacional consiste en configurar sus variables
de estado y las variables de salida, que son las que se ven desde fuera. Las
variables de estado son variables internas.
M
E. Digital
I- 5
XI. Sistemas Secuenciales I: Conceptos
Autómata, nombre de la estructura de sistemas secuenciales. Un autómata
engloba tres conjuntos de variables: entrada “X”, salida “Y” y estado “Q”, y
dos conjuntos de funciones.
Si hay separación funcional entre estado y salidas, de un mismo estado
pueden corresponder varios vectores de salida se le llama autómata de
Mealy:
Si el vector de salida es función del estado se le denomina autómata de
Moore, correspondencia entre estado y vector es univoca:
El vector de salida se encuentra contenido en el estado, recodificación del
vector de estado.
Ambos autómatas son equivalentes, pero el autómata de Mealy suele
resultar mucho más simple en descripción de evolución
del estado y
funciones de las variables de estado y el autómata de Moore más sencillas la
funciones de las salidas.
M
E. Digital
I- 6
XI. Sistemas Secuenciales I: Conceptos
M
II- 1
XII. Sistemas Secuenciales II: Diseño
E. Digital
XII. INTRODUCCIÓN A LOS SISTEMAS
SECUENCIALES II: DISEÑO
(P. 217, 240)
1.- Simplificación De Estados Con Los Mismos Efectos
La evolución del estado del sistema sobre un grafo sirve para determinar los
estados necesarios, pero una vez establecido el grafo conviene intentar
simplificarlo.
Esta simplificación resulta interesante cuando se reduce el número de
variables de estado disminuye.
Dos mecanismos para agrupar estados en uno solo :
a)
son agrupables estados que no precisen diferenciarse entre si por
tener las mismas salidas y las mismas transiciones entre ellos
b) son agrupables estados que tanto ellos como las transiciones que
producen pueden diferenciarse por variables exteriores (variables
de entrada).
2.- Agrupación De Estados Que Se Distinguen Por Variables De
Entrada
Son agrupables estados que tanto ellos como las transiciones que se
producen desde ellos son distinguibles por variables de entrada.
3.- Codificación De Los Estados
Conocidos los estados de sistema, asignaremos un código a cada uno de los
estados.
La asignación de estados es un proceso arbitrario, pero a estados diferentes
corresponderán
vectores
de
estado
codificaciones hay dos de especial interés:
M
distintos.
Entre
las
posibles
II- 2
XII. Sistemas Secuenciales II: Diseño
E. Digital
Ø
Asignar a cada estado una variable de estado, cada estado
corresponda biunívocamente con una variable de estado è
código de “un solo uno”
Ø
Utilizar el código Gray, de forma que dos estados difieran en una
sola variable de estado.
Código de un solo uno sencillo de utilizar si el Nº de estados es reducido, el
código Gray da gran seguridad al funcionamiento del sistema evitando
evoluciones incorrectas.
3.1 Codificación Con Un Solo Uno
El estado inicial o de reposo se codifica como 000... para los otros valores
se hace coincidir a cada estado una variable de estado. Número de variables
igual a número de estados menos uno è se consigue que las funciones,
tanto evolución de estados como de salida sean fáciles y simples de deducir
del grafo.
Ejemplo: un timbre con 2 pulsadores, cuatro variables de estado, q4, q3, q2, q1 para representar sus
5 estados, A, A-B, B, A-B:
Variable de salida: Timbre = q4
Es útil introducir q0 = Nor (q4,
q3, q2, q1).
Poner
atención
particular
en
la
posibilidad de que se
marquen 2 estados a la
vez ó que el borrado se produzca tan rápido que no de tiempo a marcar la
siguiente.
3.2 Codificación Con Un Solo Cambio
Código Gray à dos estados consecutivos se diferencian en el valor de una
sola variable de estado (en cada transición cambia sólo una variable de
estado).
M
E. Digital
II- 3
XII. Sistemas Secuenciales II: Diseño
Ejemplo anterior: 3 variables de estado para codificar 5 estados:
Este sistema secuencial, grafo más reducido es equivalente al anterior.
En el estado final si
se deja de pulsar A
y se mantiene B
pulsado al pulsar
otra vez A el timbre
vuelve a sonar , esto
diferencia este grafo del anterior.
Cuando la codificación se ajusta por completo a código Gray es muy
aconsejable usar este código para evitar transiciones erróneas. En ocasiones
el código Gray exige que se modifique el grafo de estados añadiendo
estados auxiliares para asegurar que todas las transiciones se modifica una
variable: siempre es posible pero en ocasiones es muy complejo.
4.- Diseño De Circuitos Secuenciales Con Biestables RS
Un sistema secuencial tiene varios niveles de descripción:
Nivel 1: Enumeración de los requisitos que se exigen: enunciado
del problema con las prestaciones que se deseen.
Nivel 2: Grafo de estados: descripción gráfica de los estados y
evolución entre ellos. Dos estados no pueden estar marcados al a vez.
Nivel 3: Funciones booleanas: expresión de las funciones de
evolución de estados y activación de las salidas.
Nivel 4: Realización circuital en términos de biestables y de
puertas lógicas: objetivo del proceso de diseño del sistema secuencial.
M
E. Digital
II- 4
XII. Sistemas Secuenciales II: Diseño
Proceso de diseño de un sistema secuencial:
Especificaciones / requisitos → grafo de estados → funciones booleanas →
realización circuital.
En el paso de grafo a funciones booleanas se pueden distinguir 2 etapas:
→ grafos de estados →simplificación de estados → codificación de los
estados → funciones booleanas →
La realización acertada de estas 2 etapas puede reducir notablemente las
funciones booleanas. Con biestables RS las funciones de evolución se
dividen en dos partes:
§
Las funciones de activación de los biestables (marcado).
§
Funciones de desactivación (borrado).
También es necesario añadir las funciones de activación de las salidas.
Las funciones marcado y borrado de biestables pueden obtenerse de las
transiciones en los grafos de estado. Veamos el ejemplo de un semáforo de aviso de
paso de tren en un cruce de vía única bidireccional con un camino:
Si el número de variables de entrada y estado no es elevado conviene
obtener las condiciones de marcado y borrado a partir de la tabla para no
olvidar ningún caso, y se pueden añadir las funciones de marcado y borrado
de cada variable de estado. Veamos la tabla del ejemplo anterior:
M
E. Digital
II- 5
XII. Sistemas Secuenciales II: Diseño
Las funciones de marcado y borrado se pueden simplificar a partir de la
tabla con mapas de Karnaugh.
5.- Ejercicios De Diseño Secuencial
Véanse ejercicios en las páginas 234 a 240 del libro.
M
E. Digital
II- 6
XII. Sistemas Secuenciales II: Diseño
M
III- 1
XIII. Biestables Síncronos
E. Digital
XIII. SINCRONISMO Y BIESTABLES SÍNCRONOS.
SECUENCIADORES LÓGICOS PROGRAMABLES
(P. 241, 260)
1.- Sincronismo Y Configuración Amo/ Esclavo. Biestables Síncronos
Sincronismo è cuantificación del tiempo en unidades discretas. El paso de
una unidad a otra se define por un flanco positivo ↑ o negativo ↓ de la onda
de reloj.
Sincronización coordina el funcionamiento de los biestables y proporciona
gran seguridad de funcionamiento.
Se consigue que todas las variables conmuten a la vez, en los flancos
activos de reloj y los valores que determinan las transiciones son los
presentes en el momento anterior al flanco activo de reloj sin importar el
retraso desigual en la llegada de las señales.
La actuación por flancos no corresponde al álgebra de boole. Para conseguir
un biestable síncrono es necesario dos biestables tipo “D” conectados en
serie, el primero con valor ‘0’ y el segundo con valor ’1’ de la onda de reloj.
Para
Ck = 0
el
primer
biestable recoge el valor
presente en la entrada y
cuando
Ck = 1 lo transmite
al segundo biestable. El conjunto actúa cuando Ck pasa de ‘0’ a ‘1’. A esta
configuración se le llama Configuración amo/esclavo. Puede configurarse
con puertas “y-negada” o puertas “o-negada”. En tecnología MOS se
configuran con puertas de transmisión, pues requieren menor número de
transistores à menor área de integración y menor tiempo de propagación.
M
III- 2
XIII. Biestables Síncronos
E. Digital
A partir de la configuración de un biestable D síncrono pueden configurarse
otros
tipos
de
biestables
colocando
delante
de la entrada “D” la
función que corresponda al comportamiento que se desea para el biestable.
El biestable “JK” corresponde al biestable RS, la “K”actúa como borrado
“R” y la “J” como puesta a ‘1’ “S”. La función a añadir antes del biestable
síncrono corresponde a la siguiente tabla:
Biestable “D” con entrada de habilitación “E”, con
anterior y con
E = 0 conserva el valor
E = 1 el biestable recibe el dato en el flanco activo de reloj.
M
III- 3
XIII. Biestables Síncronos
E. Digital
Biestable “T” útil par construir contadores con
modifica su estado y con T
T = 0 el biestable no
= 1 conmuta en cada flanco activo de reloj:
2.- Registros Síncronos
Agrupando “n” biestables “D” en paralelo con reloj común:
Agrupándolos en serie: registro de una entrada (la del primero) y la
información recibida se desplaza biestable a biestable a golpe de reloj:
Conversor serie-paralelo de la
información
recibida.
Generalmente se suelen añadir
entradas “D” en paralelo y la
habilitación (E). Pueden recibir
en serie o en paralelo y enviar también en serie o en paralelo:
•
Serie-paralelo à palabra recibe bit a bit y sale en paralelo una vez
recibida por las salidas paralelo.
•
Paralelo-serie àpalabra recibe en paralelo a través de entradas
paralelo y enviada bit a bit por la salida del último biestable.
Otra aplicación: desplazar una palabra un bit a la izq. en binario equivale a
multiplicar por 2, y desplazar un bit a la dcha. Dividir por 2.
3.- Tiempos Funcionales E Inicialización De Los Biestables
M
III- 4
XIII. Biestables Síncronos
E. Digital
3.1 Tiempos De Propagación, De Anticipación y De Mantenimiento De
Dato
Cambio de estado se produce en el flanco activo de reloj: ∃ un pequeño
retraso en el flanco y consolidación del valor (t p ) tiempo de propagación.
Cuando llega el flanco activo de reloj el valor correcto debe llevar un
tiempo presente (setup: ts ) y que se mantenga cierto tiempo posterior (hold:
th ).
Interesa th muy pequeño o al menos
t h < t p para
evitar errores en captura del biestable.
t p + t s limita velocidad máxima del trabajo del
biestable.
Las violaciones de setup se resuelven bajando velocidad del reloj o con
biestables más rápidos.
3.2 Inicialización De Los Biestables
Un sistema secuencial requiere un estado inicial determinado a partir de el
que empieza evolución del sistema.
Al conectar la alimentación cada biestable pude adoptar un estado booleano
que dependa de: la configuración electrónica, transitorio de encendido,...
Para inicializar los biestables síncronos y para poder borrar en cualquier
momento el biestable dispone de entradas set y clear ó reset asíncronos.
La inicialización: forzar a tomar el
valor ‘0’ ó ‘1’ según interese.
El pulso de inicialización puede
hacerse por medio de uno de estor
circuitos:
M
Automático
III- 5
XIII. Biestables Síncronos
E. Digital
Manual
∃integrados que revisan
tensión de alimentación y
propagan
pulsos
de
anchura fija en encendido y cada vez que la V cae por debajo de un valor
fijo.
4.- Precauciones Relativas A La Señal De Sincronismo
Reloj señal especial conectada a entrada de sincronismo de todos biestables.
No se puede hacer lógica booleana con esta señal, comunicada por conexión
directa a todos los biestables.
Características de la señal de reloj: - Verticalidad
- Simultaneidad
- Fuerza
Muy vertical para que no se solape habilitación de biestables amo / esclavo.
Debe llagar a todos biestables a la vez, sin puertas intermedias y líneas lo
más cortas posibles. Debe tener fuerza para suministrar suficiente intensidad
eléctrica à conectar gran número de puertas (fan-out).
Para facilitar transmisión de señal de reloj ∃ celdas especificas que
proporcionan bastante intensidad y permiten múltiples salidas. La condición
de no solapamiento debe cumplirse en cada biestable sobre si mismo y
sobre los demás biestables.
5.- Dispositivos Lógicos Programables: PAL Con Biestables
Basadas en configuraciones PAL, son programables, estructura PAL con
memoria, los términos producto han de admitir como variables las variables
de entrada y salida de los biestables como realimentación. Se le llama
secuenciador lógico programable PLS o RPAL.
Programación de funciones de evolución de estado biestables tipo “D”
expresadas en forma de suma de productos. Pueden programarse también
M
III- 6
XIII. Biestables Síncronos
E. Digital
las funciones de activación de las salidas. Hoy en día lo habitual es los
diseños de prototipos hacerlos en estos dispositivos (1 sólo circuito
integrado) y no en bloques integrados estándar.
Hay bloques PLS en los que el biestable puede utilizarse o puentearse y
permite inclusión de variables sincronizadas o combinacionales.
Se han incorporado
diversos selectores
programables,
salidas
tri-estado,
su nombre genérico
es macrocelda. Los
circuitos integrados
que
macroceldas suelen llamarse PLD.
M
utilizan
III- 7
XIII. Biestables Síncronos
E. Digital
PLD 22V10 ß (utilizaremos en practicas) 22 entradas y salidas, 10
macroceldas:
Contiene
10
macroceldas
de
diferente número
de
términos
producto,
2
macroceldas con
8
términos
producto, 2 con
10, 2 con12, 2
con 14 y 2 con
16
términos
producto,
22
terminales,
12
entradas (una de
reloj) y 10 tipo I/
O.
Si
macrocelda
se
utiliza
una
no
sus
salidas pueden utilizarse como entradas para las otras. Cuando hay muchas
macroceldas y se limita el número de entradas, se agrupan en bloques
disjuntos y reciben sólo las entradas propias del bloque, no todas
macroceldas tienen salidas a terminales de salida. Los bloques se conectan a
un bus central de conexiones programables. A estos circuitos se les llama
CPLD.
M
III- 8
XIII. Biestables Síncronos
E. Digital
M
IV- 1
XIV. Diseño Secuencial Síncrono
E. Digital
XIV. DISEÑO SECUENCIAL SÍNCRONO
(P. 261, 286)
1.- Diseño De Sistemas Secuenciales Con Biestables Síncronos
Cualquier sistema secuencial de cierta complejidad debe diseñarse de forma
síncrona, y señal de reloj común a todo el sistema.
Sincronismo facilita el diseño de sistemas al dividir el tiempo en unidades,
y poder razonar con unidades de tiempo discretas.
Además proporciona seguridad de funcionamiento: evita fallos en
transiciones de estado, algunos espurios o valores transitorios de las
variables que pueden formarse en la transición no afectan al circuito pues no
es admitido hasta el flanco de reloj.
Sincronismo modificación de variables coincidente con los flancos activos
de reloj.
Niveles de descripción de un sistema secuencial:
especificaciones /requisitos à grafo de estados à simplificación de estados
à codificación de los estados à tabla funcional de evolución de los estados
à expresiones algebraicas de activación de los biestables
1.1 Diseño Con Biestables D
Es el más usado para diseñar sistemas secuenciales. Construir su tabla
funcional de evolución el estado.
1.2 Diseño Con Biestables JK
Análogo al diseño con biestables RS asíncronos, las expresiones algebraicas
de los RS pueden utilizarse para los JK.
En ocasiones por complejidad el diseño de grafo de estados se pasa a la
simplificación y codificación de estados y seguido la cada variable de
estado.
M
IV- 2
XIV. Diseño Secuencial Síncrono
E. Digital
En la configuración de una variable qi con un biestable JK, Ji debe recibir
todos los términos de marcado de qi y ki debe recibir todos los términos de
borrado de q i .
El diseño a partir del grafo de estados
Se evita la
pesada tarea de
construir fila a
fila la tabla
funcional
àfunciones booleanas menos
simplificadas
à se corre el riesgo de no
considerar alguna situación particular y
pudiera conducir a errores
No tiene interés practico el diseño con biestables JK con la tabla de
evolución de estado, este proceso es más complejo que para biestables tipo
D à es más habitual disponer de biestables D.
2.- Ejercicios De Diseño De Sistemas Secuenciales Síncronos
Véanse ejercicios en las páginas 266 a 284 del libro.
3.- Necesidad Y Conveniencia Del Sincronismo
Concepto y metodología en configuraciones de sistemas digitales complejos
à organización estructurada del manejo del tiempo è gran seguridad y
facilita concepción del diseño .
El tiempo es una parte de un todo à sincronismo partición para el tiempo,
variable continua, muy compleja e imprecisa.
Actualmente por: alta densidad de integración de bloques digitales
diversidad
bajo coste
El diseño
secuencial es un
diseño síncrono
Puede servir para:
Determinar el tiempo de actuación que corresponde a cada dígito o bit
M
IV- 3
XIV. Diseño Secuencial Síncrono
E. Digital
Coordinar temporalmente los diversos componentes de un sistema
Simplificar los calculo relativos a los tiempos funcionales de los biestables.
Garantizan la seguridad de funcionamiento del sistema
Algunos problemas requieren dis eño síncrono, transmisión y procesamiento
en serie à definir el intervalo temporal de duración de cada bit.
Sincronismo:
à proporciona alta seguridad de funcionamiento
à Todas las variables que determinan las transiciones
conmutan a la vez
à Los valores que determinan las transiciones son los
valores booleanos en el momento anterior al flanco de
reloj
El diseño síncrono resulta obligado ya que los módulos CPLD y FPGA son
síncronos.
M
E. Digital
IV- 4
XIV. Diseño Secuencial Síncrono
M
V- 1
XV. Contadores
E. Digital
XV. CONTAR PULSOS Y DIVIDIR FRECUENCIAS.
DISEÑO Y CONEXIÓN DE CONTADORES
(P. 287, 308)
Nos vamos a centrar en cuatro apartados del tema que son: Diversidad de
contadores, Contaje de objetos y sucesos, División de frecuencias y Diseño
de contadores síncronos con biestables D.
2.- Diversidad De Contadores
2.1 Contadores Descendentes
Contadores que descuentan, pasan del estado “i” al estado “i - 1” pasando
del ‘0’ al ‘n –1’, si el contador es módulo “n”. La condición de conmutación
de un biestable en un contador descendente consiste en que todos los
anteriores se encuentren a ‘0’.
2.2 Contadores Bidireccionales
Contadores que cuentan hacia arriba y hacia abajo, de ‘0’ a ‘n-1’ y de ‘n-1 a
‘0’, siendo controlada dicha posibilidad con una entrada de control “C”
C = 1 contaje ascendente C = 0 contaje descendente.
2.3 Contadores Complejos. Contadores Universales
Dada la utilidad que los contadores ofrecen para sistemas digitales existe
una amplia disponibilidad de tipos diferentes de contadores.
Existen contadores para división de frecuencias: orientados a la división de
frecuencias y temporización à contadores descendentes programables por
sus entradas paralelo: contadores con varias décadas cuyas salidas son
multiplexadas sobre las mismas líneas BCD. El desarrollo creciente de
complejidad a culminado en el concepto de contador universal:
M
V- 2
XV. Contadores
E. Digital
Posible esquema de bloques de un “contador universal”, aplicación
inmediata: construcción de frecuencímetros, temporizadores añadiendo muy
poca circuitería.
3.- Contaje De Objetos Y De Sucesos
Contar pulsos puede parecer algo simple pero tiene muchas aplicaciones.
Pocos son sistemas digitales en los que no se encuentran contadores
realizando diversos operaciones.
Contar pulsos en una unidad de tiempo es medir frecuencias de una señal.
La cuenta directa de pulsos,... es de aplicación en multitud de procesos, para
ellos se necesita un evento a contabilizar que sea transformado en señal
eléctrica y seguido de un circuito conformador de pulsos.
En control es muy útil contar hasta un número predeterminado, dos formas:
•
Comparando el resultado con el número deseado a través de un
comparador.
•
Prefijando en un contador descendente el número a contar y
detectando cuando llega a cero.
M
V- 3
XV. Contadores
E. Digital
4.- División de Frecuencias
Contar pulsos equivale a dividir su frecuencia.
Contaje de pulsos asociado a la división de frecuencia. Los biestables de un
contador digital completo proporcionan ondas de salida cuyas frecuencias
son la mitad, la cuarta parte, la octava parte,... (
1
) de la frecuencia de los
2i
pulsos de entrada.
En el caso de un contador parcial y tomando el biestable más significativo
se obtiene la división por “n” de la frecuencia(Produce un pulso de salida
por cada “n” que recibe en la entrada).
Las unidades de frecuencia pueden obtenerse de cristales de cuarzo para
relojes digitales de pulsera cristal de 32.786kHz y para relojes de gran
precisión de 1MHz. También podemos obtener frecuencias a partir de la red
de tensión alterna (pero de precisión muy inferior, no valida para relojes)
para hacer frecuencímetros.
5.- Diseño De Contadores Síncronos Con Biestables D
En el caso de contadores construidos con biestables síncronos tipo D. Las
funciones de activación de sus entradas hay que expresar las condiciones en
que el biestable cambia de estado y en cuales se mantiene a ‘1’, la condición
es la siguiente:
Di = qi ·conmutar + qi · permanecer = qi ·Ti + q i ·Ti
expresión correspondiente con la forma de construir biestables “T” A partir
de biestables tipo “D”. Construiremos las funciones para biestables tipo “T”
y luego aplicaremos la transformación anterior para pasarlo a biestables tipo
“D”.
M
V- 4
XV. Contadores
E. Digital
M
E. Digital
VI- 1
XVI. Aplicaciones De Los Contadores
XVI. APLICACIONES DE LOS CONTADORES
(P. 309, 332)
1.- Medida De Tiempos
A partir de un generador de pulsos de frecuencia fija y precisa, con periodo
mucho menor que los intervalos a medir à contar nº de pulsos en cada
intervalo → medida expresada en unidades equivalentes al periodo de los
pulsos.
Generador de pulsos è oscilador con cristal de cuarzo, señal de la red
(50Hz). Utilidades relativas a medida de tiempos:
Ø
Medida de tiempo à relojes digitales
Ø
Medida de intervalos con precisión à cronómetros
Ø
Delimitación de intervalos temporales à temporizadores
Ø
Conformación de unidades de tiempo à astables de precisión
Ø
Distribución del tiempo en partes à multiplexado en tiempo
1.1 Relojes Digitales
Caso más general de medida de tiempos. Un contador modulo 7 indicara día
de la semana, otro de módulo 31 el día del mes seguido de otro módulo 12
para el mes y lógica de ajuste para meses de 30 y 31 días.
Puesta en hora se realiza llevando la señal rápida 0.1 segundos al contador
de minutos y horas a través de un pulsador adecuado.
Alarma o despertador à contador duplicado de horas y minutos en el que se
fija hora y minuto de sonar la alarma y un comparador entre ambos
contadores activa con la salida de igualdad un zumbador. Esquema de
bloques:
M
E. Digital
VI- 2
XVI. Aplicaciones De Los Contadores
1.2 Cronómetros
Permiten medir con alta precisión tiempo transcurrido entre dos sucesos. El
esquema de bloques es:
Es posible hacer
medidas
tiempo
de
muy
precisas con una
frecuencia patrón
adecuada (cristal
de cuarzo).
Un cronómetro permite medir intervalos relativos a un determinado
fenómeno físico realizando una transformación de las condiciones físicas
que determinan el inicio y el fin del intervalo. La medida de intervalos
temporales es aplicable indirectamente a la medida de otras magnitudes
físicas.
1.3 Temporizadores
Otra medida de tiempos –temporización-. Establece el tiempo que debe
durar un proceso produciendo un pulso de duración coincida con el tiempo
prefijado. Esta temporización es un monostable de alta precisión.
Temporizaciones con diferentes grados de precisión utilizamos en todo tipo
de actividades.
M
E. Digital
VI- 3
XVI. Aplicaciones De Los Contadores
La temporización puede ser ascendente desde ‘0’ hasta nº fijado, otra
posibilidad utilizar contador bidireccional, se programa por cargar en
paralelo un valor y va descontando hasta llegar a ‘0’. Veamos los dos
esquemas de bloques:
1.4 Astables De Precisión
Osciladores de cristal de cuarzo dan señales digitales con frecuencia muy
precisas, pero son frecuencias elevadas mayores de 10kHz. Para obtener
frecuencias inferiores dividimos la frecuencia del oscilador mediante
contadores tomando la salida del biestable del bit más significativo del
contador.
Relojes de no muy alta precisión à cristal de 32.768kHz
Relojes de alta precisión à cristal de 1MHz
Comunicación sistemas informáticos à cristales de 1.8432MHz
M
E. Digital
VI- 4
XVI. Aplicaciones De Los Contadores
1.5 Multiplexado En Tiempo
a)
Generador de palabras digitales y secuencias de señales: Un
multiplexor puede usarse como generador de formas de onda digitales o
generador de palabras conectando sus entradas de control a las salidas de
un contador à muestreo sucesivo de los valores booleano en las líneas
de entrada del multiplexor:
b) Multiplexado de señales analógicas: ‘n’ puertas de transmisión
CMOS conectadas a una línea de salida controladas por un
decodificador que active una sola puerta de las mencionadas
anteriormente. Este multiplexor utilizado en sentido opuesto (una
entrada ‘n’ salidas) se puede utilizar como demultiplexor por el carácter
bidireccional de las puertas de transmisión.
Muestreo de señales analógicas es aprovechado para medir estas señales
con un mismo instrumento o circuito de medida, configuración típica de
sistemas de adquisición de datos. También para transmisión de múltiples
señales por una misma línea de comunicación.
c)
Reparto de tiempo: El multiplexado de tiempo equivale a una
distribución del tiempo en intervalos de igual duración, dedicados a
varias señales o acciones.
M
E. Digital
VI- 5
XVI. Aplicaciones De Los Contadores
Si se sustituye el multiplexor por un decodificador y manteniendo el
mismo esquema permite habilitar una actuación particular, que se irán
ejecutando una tras otra. El ciclo se divide en partes que se ejecutan en un
orden dado. Esta sucesión de temporizaciones puede ser igual o diferente
duración de cada intervalo, estas diferencias siempre serán múltiplos del
intervalo de temporización básico.
2.- Medida De Frecuencias
Frecuencia: Es el número de repeticiones o pulsos por unidad de tiempo.
Medida: Consiste en contar pulsos durante un intervalo de tiempo unidad
o durante uno de sus múltiplos.
Medida de frecuencias reciproco de medida de tiempos.
Para medida de frecuencias se requiere un subsistema que determine con
precisión los intervalos temporales a partir de una frecuencia patrón:
Un adaptador previo digitalizara los pulsos de la señal de entrada,
filtrando rebotes, ajustando valores de tensión y conformando flancos
verticales. El sistema queda:
M
VI- 6
XVI. Aplicaciones De Los Contadores
E. Digital
La figura siguiente representa un frecuencímetro de funcionamiento
continuo, intervalo de medida superior a 10 segundos, para que cada
medida se visualice durante un tiempo adecuado:
El
sistema
que
define
la unidad de
tiempo proporcionará
2
pulsos
sucesivos:
de retención memorizando el resultado
1º
habilita
el
registro
2º borra el contador
iniciando la siguiente medida.
Cada unidad de tiempo empieza con el 2º pulso (puesta a cero del
contador. Es importante el orden de los pulsos y que no se superpongan
ya que sino el visualizador marcara siempre cero.
En ocasiones para transmisión de valores de sensores alejados se utiliza
codificación en frecuencia à comunicación en frecuencia è alta
fiabilidad.
3.- Modulación
En
Anchura
De
Pulsos (PWM
Pulse
Width
Modulation)
Es una forma de codificar información analógica que utiliza pulsos de
anchura variable, la anchura es proporcional al valor de la señal.
El teorema de muestreo de Shannon garantiza que la información en los
pulsos es la misma que transmite la amplitud de la señal si la frecuencia
de los pulsos es superior al doble de la máxima frecuencia de la señal de
amplitud.
M
E. Digital
VI- 7
XVI. Aplicaciones De Los Contadores
Modulación en anchura de pulsos muy útil para el control de potencia à
efectuar sencillas conversiones digital / analógico o conformación de
potenciómetros digitales. Consideremos algunas aplicaciones.
3.1 Control Todo/Nada
El método más simple de regulación de potencia es el control todo/nada.
Potencia máxima a suministrar y periodo T duración del ciclo:
Un contador década permite una regulación con 11 niveles. Forma de
suministrar potencia a trozos en dispositivos electrónicos.
Componentes de potencia como tiristores, triacs sólo permiten este tipo
de actuación.
Los transistores las situaciones de todo/nada son muy favorables.
3.2 Conversión Número-Tiempo
Control todo nada que realiza una conversión número à tiempo. El
número que llega al comparador es transformado en anchura de pulso. El
resultado es una modulación de la anchura de pulso en relación con el nº
que actúa como referencia:
M
E. Digital
VI- 8
XVI. Aplicaciones De Los Contadores
Al variar el número que incide sobre el comparador produce una
variación de la anchura de pulso proporcional al valor del número ‘n’ del
comparador.
Esta modulación en anchura de pulso es usada en la reproducción de
música de un CD.
3.3 Conversión Número-Tensión
Si la salida del conversor número-tiempo es filtrada por un filtro paso
bajo el resultado es una tensión proporcional al número que actúa como
referencia à sencillo conversor digital-analógico con componentes
digitales excepto el filtro de salida.
-Si la referencia del modulador de anchura de pulso es fija se tiene un
conversor DC-CDC con tensión de alimentación convertida en tensión de
valor inferior controlado por el número que actúa como referencia.
-Si el número es variable se obtiene una onda que es el resultado de
convertir a tensión la señal definida numéricamente:
Para
que
el
ciclo
todo/nada sea despreciable debe cumplirse que
la frecuencia corte del
filtro sea muy inferior a
la del ciclo.
M
VI- 9
XVI. Aplicaciones De Los Contadores
E. Digital
3.4 Potenciómetro Digital
Dada una señal analógica, su muestreo mediante un control todo/nada sobre
un divisor de tensión, seguido de un filtro paso-bajo. Permite reducir
proporcionalmente la amplitud de la señal controlando el factor de
proporcionalidad numéricamente ‘n’. Esto es lo que hace un potenciómetro
digital usado como divisor de tensión:
Para que el rizado
sea despreciable
y la señal de salida no se vea afectada por el filtrado debe verificar:
f max_ señal << f corte _ filtro << f ciclo _ on / off ß frecuencia
1
>> RC >> T
f max_ señal
ß periodo
Haciendo
R1 << R2 se puede aproximar a R1 + R2 ≈ R2
VC = Vi
n
n
= kVi donde k =
N
N
3.5 Conversión Tensión-Número
La carga de un condensador con corriente constante de 0V hasta la tensión
de entrada Vi determina un intervalo de tiempo proporcional a Vi . La
duración del intervalo puede medirse por un contador con un reloj que se
ajuste a una unidad de tiempo precisa. VC varía en forma rampa lineal con
M
VI-10
XVI. Aplicaciones De Los Contadores
E. Digital
pendiente
I
; cuando esta rampa llega a Vi el contaje del contador será
C
proporcional a Vi
VC (t ) =
I
I
·t Vi = ·n·u (u ≡ valor de la unidad de tiempo)
C
C
A través de la rampa de tensión el circuito efectúa una conversión tensióntiempo y el contador completa el proceso con una conversión tiemponúmero (conversión analógico-digital). El circuito requiere un pulso de
inicialización que descargue el condensador. La carga de C a I constante se
puede hacer con un generador de I (etapa del transistor bipolar en base
común).
M
VII- 1
XVII. Memorias De Acceso Directo
E. Digital
XVII. MEMORIAS DE ACCESO DIRECTO
(P. 333, 360)
1.- Biestables, Registros Y Memorias
Célula unidad de memoria, dispositivo que almacena y conserva un bit de
información, es un biestable tipo “D”:
Un conjunto de “n” biestables “D” con habilitador común es un registro con
capacidad de palabra binaria de “n” bits: constituyen un el elemento básico
de almacenamiento, de este tipo son los registros internos de las memorias
de acceso directo (RAM).
Los biestables síncronos la habilitación se realiza por flancos de subida, se
construyen por asociación de dos biestables habilitados por nivel. El primer
biestable se habilita con ‘0’ y el segundo con ‘1’, habilitación global con
flancos de subida:
Con estos biestables se pueden configurar otros tipos de registros: registros
de desplazamiento y contadores:
Estos
registros
conectados en serie
la información que
reciben avanza bi-
M
E. Digital
VII- 2
XVII. Memorias De Acceso Directo
estable a biestable en cada pulso de reloj pudiendo recibir una palabra bit a
bit y mostrarla en paralelo (conversión serie-paralelo). Añadiendo la
posibilidad de carga en paralelo se dispone de una conversión paraleloserie, además resultan útiles para los algoritmos de multiplicación y
división.
En sistemas digitales pequeños unos pocos registros, algunos contadores y
biestables de estado bastan para configurar la memoria del sistema.
Es muy útil tener un bloque digital con un amplio número de registros
capaces de memorizar una palabra binaria de n dígitos, los terminales de
entrada y salida han de ser comunes para todos ellos y entradas de
direccionamiento indican a cual de los registros hay que acceder.
La agrupación de “m” registros de “n” bits seleccionados por “k” entradas
de direccionamiento, recibe el nombre de memoria de acceso directo
(RAM).
En cualquier momento se puede leer o escribir en cualquier registro en
contraposición a las cintas magnéticas.
Los terminales de entrada y salida son comunes para todos los registros y en
cada momento el vector de las entradas de direccionamiento indica sobre
que registros se actúa, como los terminales de entrada y salida son los
mismos es necesario tener una línea de selección de lectura o escritura R/W.
También tendrá una o varias entradas de habilitación para permitir o inhibir
su actuación. Las líneas de entrada/salida de datos son bidireccionales paro
además tienen la posibilidad de desconexión (alta impedancia),controlado
M
E. Digital
VII- 3
XVII. Memorias De Acceso Directo
por la entrada de selección o habilitación de la pastilla, esta posibilidad de
desconexión permite conectar en paralelo las líneas de datos de varios
bloques.
El la figura se
representa
conexión
la
de
4
bloques RAM de
4k registros de 8
bits,
formando
una memoria de
16k:
utilizamos
12 líneas de direccionamiento,
dos líneas de direccionamiento
para seleccionar
uno de los 4 bloques. Estas dos
nuevas posibilidades bidireccionalidad y triestado permite introducir el concepto de bus de datos como conjunto de líneas que enlazan bloques
digitales, y pueden transmitirse datos en ambas direcciones. El conjunto de
líneas de direccionamiento recibe el nombre de bus de direcciones,
unidireccional. Estos dos buses facilitan la organización de los sistemas
digitales.
M
VII- 4
XVII. Memorias De Acceso Directo
E. Digital
2.- Configuración De Los Bloques De Memoria De Acceso Directo
La mayoría de estas memorias presentan 3 terminales de control:
Ø
CE habilita el circuito integrado (CE = 0 ), si es igual a ‘1’ el
circuito no presente, líneas de datos en alta impedancia, y bloques
circuitales en estado de consumo mínimo (standby)
Ø
WE habilita operación de escritura (WE = 0 ), posiciona líneas de
datos como entradas y activa circuito escritura
Ø
OE habilita líneas de datos como salidas (OE = 0 ) permite la
ejecución de operaciones de lectura.
Situaciones posibles de un bloque RAM:
CE
WE
OE
1
X
X
Desconexión
0
0
X
Escritura (datos in)
0
1
0
Lectura (datos out)
0
1
1
Conectado y datos alta Z2
La configuración estructural interna es la siguiente:
Módulo central
contiene
m = 2 k regis tros con ‘n’ biestables
cada
uno.
Decodificador
bloque típico selecciona numéricamente cada uno de los ‘m’ registros. Un
2
Z = alta impedancia
M
E. Digital
VII- 5
XVII. Memorias De Acceso Directo
circuito adaptador selecciona la dirección de flujo de la información del
registro seleccionado.
Ø
Lectura del contenido del registro DB à salidas
Ø
Escritura de un nuevo dato DB à entradas.
La lectura es una operación no destructiva, sólo la escritura modifica el
contenido de la palabra binaria anterior.
El circuito adaptador controla las operaciones de lectura/escritura/
desconexión a través de adaptadores triestado con entrada de habilitación,
conectado/desconectado (alta Z). Redireccionalidad è 2 adaptadores
triestado y habilitación según las líneas de control
CE , WE , OE a través
de un circuito combinacional Veámoslo en la siguiente figura:
Como hay muchos registros es necesario minimizar el área de integración y
la forma de seleccionarlos adoptando configuraciones muy simples.
El tamaño del decodificador y el número de líneas de direccionamiento
puede realizarse dividiendo el decodificador en dos partes para que el
registro corresponda a dos líneas selección fila y columna.
Bloque RAM de 1M
1 decodificador à 20 líneas de direccionamiento sobre 1048576 registros, 20·106 transistores.
2 decodificadores à 10 líneas de direccionamiento cada uno, sobre 2·1024 líneas de
direccionamiento, 20·103 transistores cada uno.
M
E. Digital
VII- 6
XVII. Memorias De Acceso Directo
Para reducir el nº de líneas para la selección del registro la distribución es
tipo matricial, cada registro queda identificado por la fila y columna que
ocupa, sus biestables se localizan en “hojas” sucesivas, ver figura siguiente.
Cada hoja contiene un biestable de cada registro y está recorrida
horizontalmente por las líneas de selección de fila y verticalmente por líneas
que enlazan cada columna. Cada hoja se corresponde con líneas del bus de
datos y tiene un amplificador lectura/escritura.
Cada columna tiene dos líneas una para
terminales de los biestables.
M
Q y otra para Q , conectados a los
VII- 7
XVII. Memorias De Acceso Directo
E. Digital
Activando la línea correspondiente de fila los biestables que están en ella
quedan conectados a las líneas de columna que les corresponden, ver figuras
siguientes:
Las líneas de columna establecen la comunicación de los
biestables con el amplificador
de lectura/escritura, uno para
cada hoja (para cada bit del registro). Las líneas de columna determinan que
en cada momento sólo una columna unida al amplificador. Las operaciones
de lectura y escritura se realizan por el amplificador actuando sobre las
líneas de columna.
Ø
Operación de escritura à establecer en la línea
guardar y el inverso en la línea
Ø
Q el valor booleano a
Q.
Operación de lectura à comparando tensiones de las líneas
Q y Q
para discriminar cual se encuentra a ‘1’.
Cada biestable será muy simple para reducir área de integración (2
inversores en lazo cerrado) véase figura anterior.
3.- Arquitectura De Buses. Mapa De Memoria
Bus: conjunto de líneas de comunicación entre varios subsistemas o bloques
digitales, entre varios circuitos integrados, entre diferentes placas en
circuitos grandes o entre sistemas diferentes.
M
E. Digital
VII- 8
XVII. Memorias De Acceso Directo
La utilización del bus de datos y direcciones conjuntamente permite
organizar la memoria de forma muy simple. Registros numerados
correlativamente accediendo a ellos por el bus de datos y las líneas de
direccionamiento(bus unidireccional, hacia la memoria) seleccionan el
registro sobre el que se opera.
A cada número o dirección le corresponde un solo registro o ninguno. Este
número o registro es recibido por la memoria a través del bus de direcciones
(A i ). La correspondencia entre cada registro y la dirección de que ocupa se
le llama mapa de memoria del sistema.
Los buses determinan una división estructural del sistema en 2 partes: el
procesador (procesamiento de la información) y la memoria (almacena
información). Se comunican a través de 3 buses:
§
Bus de datos, informa-
ción en forma de palabras
digitales
§
Bus de direcciones, se-
lecciona el registro sobre
el que se opera
§
Bus de control, deter-
mina la dirección de transferencia de información y sincroniza la
transferencia.
El bus de datos es bidireccional puede llevar información del procesador
hacia la memoria o de la memoria hacia el procesador, el número de líneas
de datos determina la longitud de palabra y registros de la memoria.
El bus de direcciones y el de control son líneas que salen del procesador y
llegan a múltiples bloques que constituyen la memoria. El número de líneas
de direcciones determina la capacidad máxima de memoria que puede
manejar el procesador.
M
VII- 9
XVII. Memorias De Acceso Directo
E. Digital
El bus de control incluye tres líneas referidas a la selección de operación
validación de dirección y validación del dato (R/W, DIRV, DATV).
Una dirección o posición de memoria viene caracterizada por el número
binario de ‘m’ bits, tantos como líneas tiene el bus de direcciones, para
evitar largos números binarios utilizaremos el sistema hexadecimal para
numerar las direcciones.
Si el bus tiene 16 líneas cada posición esta numerada por 16 dígitos binarios
(4 cifras hexadecimales). La capacidad de la memoria irá de la 0000(H a la
FFFF(H. En los ejemplos utilizaremos bus de 16 líneas de direcciones A15 –
A0.
Para diferenciar las líneas del bus de direcciones de las entradas de
direccionamiento de los bloques RAM, denotaremos como Ai las líneas del
bus y a i las entradas de cada bloque.
3.1 Posicionamiento De Un Simple Registro
Posición B9A5(H = 1000 1001 1010 0101
Activaremos
con
el
término
mínimo
la
entrada
de
A15 · A14 · A13 · A12 · A11 · A10 · A9 · A8 · A7 · A6 · A5 · A4 · A3 · A2 · A1 · A0
multiplicamos por
habilitación
y
lo
R / W para habilitar sólo en escritura y por DATV
para escribir solo con dato válido:
M
VII-10
XVII. Memorias De Acceso Directo
E. Digital
3.2 Posicionamiento De Un Bloque RAM
Circuito RAM de 2k, lo situaremos a partir de la dirección 5800H .
Bloque de 2k requiere 11 líneas de direccionamiento a10 – a0 ocupará las
posiciones de memoria
0101 1000 0000 0000
5800H
0101 1111 1111 1111
5FFFH
Todas las posiciones de los números
01011 - - - - - - - - - - - el signo -
significa ‘0’ ó ‘1’ habilitación del bloque con A15 – A 11 . Las líneas a10 – a0
se conectan a las del bus de direcciones A 10 – A 0 :
3.3 Posicionamiento De 8 Bloque RAM
8 circuitos integrados RAM de 2k registros.
a)
Se desea colocarlos a partir de la posición 8000H del mapa,
8000 H = 1000 0000 0000 0000 , cada bloque necesita 11
líneas de direccionamiento a10 – a0 . Para situar los 8 bloques
seguidos necesitamos 3 líneas más A13 , A12 , A11 , el conjunto
ocupará:
A 15 A 14 A 13 A 12 A 11 A 10 A 9 A 8 A 7 A 6 A 5 A 4 A 3 A 2 A 1 A 0
1
0
0 0
0 0 0 0
0 0 0 0
0 0 0 0
1
0
1 1
1 1 1 1
1 1 1 1
1 1 1 1
M
E. Digital
VII-11
XVII. Memorias De Acceso Directo
8000H y BFFFH respectivamente. Todas las direcciones incluidas en
10 - - - - - - - - - - - - - - . Ubicación de los 8 bloques:
1000 0 - - - - - - - - - - - 8000H – 87FFH
1000 1 - - - - - - - - - - - 8800H – 8FFFH
1001 0 - - - - - - - - - - - 9000H – 97FFH
10011 - - - - - - - - - - - 9800H – 9FFFH
1010 0 - - - - - - - - - - - A000H – A7FFH
1010 1 - - - - - - - - - - - A800H – AFFFH
1011 0 - - - - - - - - - - - B000H – B7FFH
10111 - - - - - - - - - - - B800H – BFFFH
Los bloques se diferencian por las líneas A 13 , A 12 , A 11 podemos utilizar
para seleccionarlos con un decodificador de 3 entradas, 8 salidas con
línea de habilitación para colocar al conjunto en el segmento de
memoria correspondiente a
A15 = 1 y A14 = 0 .
E = A15 · A14 ·DIRV ; WE = R / W ·DATV ; OE = R / W
b) Los Bloques a partir de la posición 1000H , 14 líneas de direcciones
necesarias, A13 , A12 , A11 para los 8 bloques, no tenemos todas las
posibilidades a partir del número inicial ya que A12 tiene valor ‘1’.
Ocuparemos los siguientes segmentos de memoria:
M
VII-12
XVII. Memorias De Acceso Directo
E. Digital
0001 0000 0000 0000
1000H
0001 1111 1111 1111
1FFFH
0010 0000 0000 0000 2000H
0011 1111 1111 1111
4k
8k
3FFFH
0100 0000 0000 0000 4000H
0100 1111 1111 1111
4FFFH
4k
En el primer segmento caben 4k, en el segundo caben 8k y en el último
los 4k restantes.
Los 8 bloques van seguidos A 13 , A12 , A11 sirven para diferenciarlos, el
primer bloque corresponde al valor 010, el segundo al valor 011 y el
último al valor 001 puede utilizarse un decodificador como el del
apartado anterior, pero en este caso lo habilitaremos en los siguientes
casos:
A 15 =0, A 14 = 0, A 13 = 0, A 12 = 1
A 15 = 0, A 14 = 0, A 13 =1
(
A 15 =0, A 14 = 1, A 13 = 0, A 12 = 0
)
E = A15 · A14 · A13 · A12 + A14 · A13 + A14 · A13 · A12 ·DIRV a10 –a0 =
A 10 –A 0
WE = R / W ·DATV OE = R / W
3.4 Posicionamiento De 4 Bloques RAM En Segmentos No Contiguos
Serán 4 RAM de 2k registros cada uno que colocaremos en el mapa de
memoria.
a)
A partir de las posiciones 0000H , 2000H , 4000H y 6000H . La situación
de los bloques será:
0000 0 - - - - - - - - - - -
0000 – 07FF
0010 0 - - - - - - - - - - -
2000 – 27FF
0100 0 - - - - - - - - - - -
4000 – 47FF
0110 0 - - - - - - - - - - -
6000 – 67FF
M
E. Digital
VII-13
XVII. Memorias De Acceso Directo
Los Bloques se diferencian por A14 y A13 , se puede seleccionar por un
decodificador de 2 entradas y 4 salidas. La habilitación CE se hace con
las líneas A14 y A 13 , las otras líneas A 15 , A 12 , A 11 el mismo valor en los
4 Bloques, el decodificador se habilita con A15 = 0, A12 = 0, A11 = 0
E = A15 · A12 · A11 ·DIRV a10 –a0 = A10 –A 0 WE = R / W ·DATV
OE = R / W
b) A partir de las posiciones 1000H , 5000H , 9800H y B000H . La situación
de los 4 bloques será:
0001 0 - - - - - - - - - - -
1000 – 17FF
0101 0 - - - - - - - - - - -
5000 – 57FF
1001 1 - - - - - - - - - - -
9800 – 9FFF
1011 0 - - - - - - - - - - -
B000 – B7FF
No tiene ninguna regularidad deberán habilitarse independientemente:
CE1 = A15 · A14 · A13 · A12 · A11 · DIRV
CE 2 = A15 · A14 · A13 · A12 · A11 ·DIRV
CE3 = A15 · A14 · A13 · A12 · A11 ·DIRV
CE 4 = A15 · A14 · A13 · A12 · A11 ·DIRV
Las funciones las podemos programar sobre una PAL.
4.- Direccionamiento De Un Bloque RAM En Segmentos Separados
Los siguientes ejemplos son de casos particulares, pero son de interés para
comprender el posicionamiento de registros en los mapas de memoria.
4.1 Sea un circuito RAM de 8k (13 líneas de direccionamiento)
cuyos registros de desean posicionar en el mapa de memoria en segmentos
no contiguos:
M
VII-14
XVII. Memorias De Acceso Directo
E. Digital
a)
4k registros en el segmento inicial del mapa de memoria y 4k en el
final
4k requiere 12 líneas a11 – a0 el segmento inicial tendrá las líneas A15 –
A 12 todas a ‘0’, para el segmento final las tendrá a ‘1’, el circuito de 8k
tendrá 13 líneas de direccionamiento de las cuales a11 – a0 conforman los
sectores de 4k y la a12 para distinguir entre ambos sectores (inicial y
final).
0000 - - - - - - - - - - - -
0000 – 0FFF
1111 - - - - - - - - - - - -
F000 – FFFF
(
)
CE = A15 · A14 · A13 · A12 + A15 · A14 · A13 · A12 ·DIRV
a11 – a0 = A 11 – A 0
WE = R / W ·DATV OE = R / W
b) 2k registros en los segmentos del mapa de memoria cuya dirección
inicial es respectivamente 0000H , 4000H , 8000H y C000H cada sector de
2k registros necesita 11 líneas de direccionamiento a10 – a0 , las
posiciones que ocupan serán:
0000 0 - - - - - - - - - - -
0000 – 07FF
0100 0 - - - - - - - - - - -
4000 – 47FF
1000 0 - - - - - - - - - - -
8000 – 87FF
1100 0 - - - - - - - - - - -
C000 – C7FF
Los sectores pueden diferenciarse por las líneas A15 A 14 que recorren
todos los vectores posibles a12 = A 15 a11 = A 14 .
Si se conectan las líneas a12 y a11 a las del mismo número del bus de
direcciones solo utilizaremos los 2k primeros registros de los bloques
RAM ya que a12 a11 = A 12 A 11 = 0 en los 4 segmentos, por lo tanto a12 a11
= 01, 10, 11 no se utilizan y el a12 a11 estaría repetido 4 veces.
M
VII-15
XVII. Memorias De Acceso Directo
E. Digital
a11 – a0 = A11 – A 0
WE = R / W ·DATV OE = R / W para colocar
en las posiciones mencionadas, los circuitos integrados debe habilitarse
el integrado con:
c)
CE = A13 · A12 · A11 ·DIRV
6k registros en el segmento inicial del mapa de memo ria y 2k en el
final. Distribuyendo el circuito integrado en sectores de 2k (11 líneas)
tenemos:
0000 0 - - - - - - - - - - -
0000 – 07FF
0000 1 - - - - - - - - - - -
0800 – 0FFF
0001 0 - - - - - - - - - - -
1000 – 17FF
1111 1 - - - - - - - - - - -
F800 – FFFF
Los tres primeros sectores se colocan al principio con A 15 = A 14 = A 13 =
0 y A12 A 11 = 00, 01, 10, y el sector al final A 15 = A 14 = A 13 = A 12 = A 11
=1
(
(
)
)
CE = A15 · A14 · A13 · A12 + A11 + A15 · A14 · A13 · A12 · A11 · DIRV .
Los sectores los diferenciamos por A 12 A 11 a12 = A 12 ; a11 = A 11 a10 – a0 =
A 10 – A 0 ;
WE = R / W ·DATV OE = R / W .
d) 2k registros a partir de la posición 4000H y 6k a partir de la A000H .
Dividiéndolo en sectores de 2k registros tenemos:
0100 0 - - - - - - - - - - -
4000 – 47FF
1010 0 - - - - - - - - - - -
A000 – A7FF
1010 1 - - - - - - - - - - -
A800 – AFFF
1011 0 - - - - - - - - - - -
B000 – B7FF
El primer sector se sitúa en A15 = 0, A14 = 1, A13 = 0, A12 = 0 y A 11 = 0,
los otros 3 en A15 = 1, A14 = 0, A 13 = 1 y A 12 A 11 = 00, 01 y 10 por tanto
(
(
))
CE = A15 · A14 · A13 · A12 · A11 + A15 · A14 · A13 · A12 + A11 · DIRV para
diferenciar los 4 sectores y determinar la conexión de las entradas de
M
VII-16
XVII. Memorias De Acceso Directo
E. Digital
direccionamiento que los numeran a12 a11 se construye la siguiente
tabla:
A 15 A 14 A 13 A 12 A 11 a12 a11
0
1
0
0
0
0
0
1
0
1
0
0
0
1
1
0
1
0
1
1
0
1
0
1
1
0
1
1
Obtención a partir de la tabla: a12 = A 12 + A 11 ; a11 = A 13 · A 11
4.2 Sea un circuito integrado RAM de 4k (12 líneas de direccionamiento),
cuyos registros se desea situar en las posiciones iniciales del mapa de
memoria, pero sabiendo que el primer segmento de 1k del mapa se
encuentra ocupado previamente.
El segmento de 1k ocupado corresponde a:
0000 00 - - - - - - - - - -
0000 – 43FF. A continuación situaremos
los 4k registros de memoria:
0000 01 - - - - - - - - - -
0400 – 07FF
(1k)
0000 1 - - - - - - - - - - -
0800 – 0FFF
(2k)
0001 00 - - - - - - - - - -
1000 – 13FF
(1k)
El primer segmento es de 1k (10 líneas), el segundo de 2k (11líneas) y el
tercero de 1k (ya que solo falta 1k para completar la memoria); la
habilitación se tiene que producir para las 3 situaciones:
A 15 = 0, A 14 = 0, A 13 = 0, A 12 = 0, A 11 = 0, A 10 = 1
A 15 = 0, A 14 = 0, A 13 = 0, A 12 = 0, A 11 = 1
A 15 = 0, A 14 = 0, A 13 = 0, A 12 = 1, A 11 = 0, A 10 = 0
(
)
CE = A15 · A14 · A13 · A12 · A11 · A10 + A12 · A11 + A12 · A11 · A10 ·DIRV
M
VII-17
XVII. Memorias De Acceso Directo
E. Digital
Como los segmentos de 1k van seguidos las líneas A11 A 10 sirven para
diferenciarlos. Primer sector 01, segundo 10, tercero 11 y cuarto 00. a11 – a0
= A 11 – A 0
WE = R / W ·DATV OE = R / W
4.3 Sea un circuito integrado RAM de 8k (13 líneas de direccionamiento)
cuyos registros se desean situar en la parte inicial de un mapa de memoria,
en el cual se encuentra ocupado el segmento 0800 a 6FFF
0000 0 - - - - - - - - - - -
0000 – 07FF
(2k)
Ocupado desde 0800 hasta 6FFF los 16k restantes a partir de la 7000
0111 - - - - - - - - - - - -
7000 – 7FFF
(4k)
1000 0 - - - - - - - - - - -
8000 – 87FF
(2k)
La habilitación del circuito a de producirse en:
A 15 = 0, A 14 = 0, A 13 = 0, A 12 = 0, A 11 = 0
A 15 = 0, A 14 = 1, A 13 = 1, A 12 = 1
A 15 = 1, A 14 = 0, A 13 = 0, A 12 = 0, A 11 = 0
El
1º
(
y
el
3º
vector
pueden
)
simplificarse
CE = A14 · A13 · A12 · A11 + A15 · A14 · A13 · A12 ·DIRV
y
queda:
El bloque RAM
queda organizado en 4 sectores de 2k registros con los 3 últimos juntos para
diferenciar los sectores y determinar la conexión de sus entradas a12 a11
utilizaremos la siguiente tabla:
A 15 A 14 A 13 A 12 A 11 a12 a11
0
0
0
0
0
0
0
0
1
1
1
0
0
1
1
0
1
0
1
1
0
1
0
0
0
0
1
1
a 12 = A11 + A15
M
E. Digital
VII-18
XVII. Memorias De Acceso Directo
a 11 = A12 ·A11 + A15
M
VIII- 1
XVIII. Sistemas Con Arquitectura De Bus
E. Digital
XVIiI. SISTEMAS CON ARQUITECTURA DE BUS
(P. 361, 378)
2.5 Determinación De La Posición En Un Mapa De Memoria: ¿Cuál será
el mapa de memoria ocupado por un solo bloque RAM de 8k cuya
habilitación es la siguiente?
(
(
)
)
CE = A15 · A14 · A13 · A12 + A11 + A14 · A13 · A12 · A11 ·DIRV
A 15 = 0 A 14 = 0 A 13 = 1
A 12 = 0
A 15 = 0 A 14 = 0 A 13 = 1
A 11 = 0
A 15 = 0 A 14 = 1 A 13 = 0
A 12 = 0 A 11 = 0
A 15
A 14
A 13
A 12
A 11
0
0
1
0
0
2000 – 27FF
0
0
1
0
1
2800 – 2FFF
0
0
1
1
0
3000 – 37FF
0
1
0
0
0
4000 – 47FF
Segmentos de 2k à 11 líneas. El mapa de memoria ocupado se divide en 2
partes : 2000 – 37FF (6k) y 4000 – 47FF (2k) entre los bloques queda un
segmento de 2k 3800 – 3FFF. Nos queda cómo conectar las entradas a13 – a0
del bloque de 8k
a12 = A14 + A13 ·A12 a11 = A14 + A11 a10 – a0 = A10 –
A0.
M
E. Digital
VIII- 2
XVIII. Sistemas Con Arquitectura De Bus
M
IX- 1
XVII. Memorias De Acceso Directo
Continuación (no es necesario)
E. Digital
5.- Tiempos De Acceso. Ciclos De Lectura Y De Escritura
En las memorias RAM que contiene múltiples registros seleccionables por
su número binario o dirección. La operación de lectura o escritura requiere:
-
Seleccionar el registro a través de las líneas de direcciones A i
-
Habilitar la memoria a través de la línea
-
Habilitar también la correspondiente operación de lectura
escritura
CE
OE o
WE .
Para evitar escrituras falsas sobre los registros, la habilitación
WE = 1 y
solo pasa a ‘0’ en los momentos de escritura; los procesadores mantienen la
línea
R / W = 1 salvo en las operaciones de escritura. El diagrama de
señales en un ciclo de lectura adopta la forma:
Para que aparezcan
los
datos de un registro en las
líneas de entrada/salida Di :
-
La
direc-
ción ha de
establecerse en las líneas Ai durante un tiempo de acceso tacc mínimo
determinado.
-
Ha habilitarse la memoria
CE = 0 durante un tiempo de habilitación
tCE .
-
Habilitarse también las líneas de datos como salidas
un tiempo superior al de habilitación (t OE ).
M
OE = 0 durante
E. Digital
IX- 2
XVII. Memorias De Acceso Directo
Continuación (no es necesario)
Tiempo de acceso: retraso que transcurre desde que se activan
convenientemente las líneas de direccionamiento hasta que aparece en las
líneas de salida los datos válidos. Este tiempo es el más largo de todos.
Los tiempos de habilitación son los retrasos entre la activación de la
correspondiente entrada de habilitación y la aparición de los datos en las
líneas de datos, y permanecen en la salida un pequeño tiempo posterior al
establecimiento de otra dirección.
Tiempos involucrados en paso de alta impedancia a salidas de datos y paso
inverso.
La escritura requiere:
-
Seleccionar dicho registro, a través de las líneas A i , durante un
intervalo de tiempo previo análogo al de acceso t’acc.
CE durante un tiempo t’CE .
-
Habilitar la memoria
-
Ordenar la escritura a través de la línea
-
El dato ha de estar presente en las líneas de entrada/salida Di
WE = 0 durante un tiempo t W .
cumpliendo los tiempos de anticipación t Ds y mantenimiento t Dh .
La secuencia de escritura es la siguiente:
M
E. Digital
IX- 3
XVII. Memorias De Acceso Directo
Continuación (no es necesario)
El pulso de escritura puede actuar sobre habilitación de escritura
WE con
CE = 0 ó sobre CE con WE = 0 . El pulso de escritura controla la
inserción del dato en la pastilla, escritura coincide con el flanco de subida.
El t’acc análogo al del ciclo de lectura. El tiempo de escritura tW es el
intervalo mínimo de habilitación a través de la línea de selección de
escritura. Los tiempos de propagación tD s y manteniendo tDh aseguran
estabilidad del valor en las líneas de datos en el momento de memorización
de escritura.
La dirección correcta se establecerá antes del pulso de escritura tAs y
permanecer después t Ah para evitar escritura errónea (otro registro).
Los tiempos dependen de la RAM especifica y se consultaran en las hojas
de características.
Dentro de un tipo de memoria integrada suelen ofrecer diversas series con
diferentes velocidades de trabajo.
Los tiempos de acceso más comunes son:
a)
Memorias de velocidad “normal” (lentas)
120nseg à 7MHz .... 70nseg à 11MHz
M
E. Digital
IX- 4
XVII. Memorias De Acceso Directo
Continuación (no es necesario)
b) Memorias de alta velocidad (rápidas)
55nseg à 15MHz .... 30nseg à 25MHz
c)
Memorias ultrarrápidas
25nseg à 33MHz .... 10nseg à 66MHz
Actualmente existen series MOS, CMOS de velocidades normales.
Como
las
memorias
RAM
no
M
volátiles
con
batería
interna.
E. Digital
X- 1
XVIII. Sistemas Con Arquitectura De Bus
Continuación (no es necesario)
1.- Memoria En Sentido Amplio
La combinación de bus de datos y direcciones organiza el almacenamiento
de información y la comunicación con el exterior: transferencia de
información
à a la memoria – transferencia en el tiempo
à hacia el exterior – transferencia en el espacio
Memoria: circuito digital complejo engloba todo tipo de registros de los que
se extrae o envía información digital directamente.
El concepto de memoria incluye no solo memoria RAM sino también
memorias ROM, registros de adaptación de entradas y salidas del circuito
(adaptadores de periféricos). Podemos dividir un sis tema complejo en dos
partes:
•
Procesador controla el proceso, efectúa las operaciones pertinentes
•
Memoria o conjunto amplio de registros de memorización que realizan
la transferencia de información.
Este concepto de memoria engloba a su vez dos unidades diferenciadas:
•
Unidad de memoria como lugar de almacenamiento de la información.
•
Unidad de entradas/salidas, como conjunto de periféricos que
comunican con el exterior.
La comunicación con el exterior se realiza a través de visualizadores,
impresora, monitor, MODEM,... El procesador se encuentra con un
conjunto de registros (unidireccionales) que se comunican con los
periféricos.
Para el procesador todo son registros seleccionables a través del bus de
direcciones y sobre los que escribe o lee información a través del bus de
datos.
M
E. Digital
X- 2
XVIII. Sistemas Con Arquitectura De Bus
Continuación (no es necesario)
Los
buses
de
datos y direcciones permiten dividir al sist en dos partes estructurales
(procesador y memoria) y además dividir la memoria en eltos3 construi-dos
por conjun-to de registros que ocupan segmentos del mapa de memoria.
La unidad de memoria es el conjunto de registros de trabajo del procesador
formada por circuitos RAM.
Los codificadores ROM no contienen registros pero pueden considerarse
como ctos4 de memoria de solo lectura. Codificador proporciona un vector
de salida para cada vector de entrada è conjunto de registros con
información fija.
Los codificadores ROM se utilizan para datos fijos, tablas y para programas
específicos de microprocesadores dedicados a aplicaciones de control,
tienen dos entradas de control
CE habilita el bloque y OE habilita las
salidas ( WE no tiene sentido ya que la escritura no es posible).
Otra parte de la
memoria está constituida por los re-
3
4
eltos = elementos
ctos = circuitos
M
E. Digital
X- 3
XVIII. Sistemas Con Arquitectura De Bus
Continuación (no es necesario)
gistros de adapta-ción de periféricos, configurado junto con ellos la unidad
de entradas/salidas del sist, estos registros suelen ser unidireccionales
distinguiendo entre registros de salida y adaptadores de entrada.
Los registros de salida son de retención (latch memory) de ‘n’ biestables
con habilitación común “E”:
E = DIR ·R / W ·DATV :
Esta figura representa un periférico de salida muy simple à visualizador
de dos cifras decimales adaptado al bus a través de un registro de salidas y
M
E. Digital
X- 4
XVIII. Sistemas Con Arquitectura De Bus
Continuación (no es necesario)
de los decodificadores BCD a 7 segmentos, si las salidas del registro se
conecta un conversor D/A la salida de este dará un valor de V analógica.
Los adaptadores de entrada serán simples adaptadores triestado al ser
direccionados como operación de lectura vuelcan su contenido sobre el bus
de datos sus valores boléanos:
E = DIR ·R / W ·DIRV .
M
E. Digital
X- 5
XVIII. Sistemas Con Arquitectura De Bus
Continuación (no es necesario)
Periférico de entrada formado por 8 conmutadores conectados al bus de
datos a través de un adaptador de entradas. El procesador lee cuando DIR,
R/W = 1, DATV = 1. Otro cto análogo será un teclado hexadecimal o
decimal que necesitará 4 líneas del bus de datos.
Otro tipo de adaptadores à registros de retención con salida triestado que
pueden memorizar una palabra binaria y transferirla al bus de datos cuando
se habilite su salida.
Existe otros adaptadores de propósito particular y adaptadores de tipo
genérico con programación de su funcionamiento.
Ejemplo de adaptadores de entrada/salida de tipo genérico es el bloque PIA
(Peripheal Interface Adapter) 2 puertos de 8 líneas que pueden ser de
entrada o salida según se configuren, tiene 4 registros: 2 para transferencia
de información y otros 2 para determinar si las líneas son entradas o salidas
ocupa 4 posiciones de memoria.
2.- Configuración Circuital De Un Mapa De Memoria
Abordaremos el diseño del circuito necesario para que los ctos que
constituyen la memoria, incluidos adaptadores de periféricos queden en las
posiciones que les corresponden en el mapa de memoria.
En general no suele usarse la capacidad total de la memoria por lo tanto se
puede elegir entre las posiciones del mapa las que resulten más sencillas
para el cto para su realización.
En los siguientes ejercicios se utiliza bus de direcciones de 16 líneas y 3
líneas de control R/W, DIRV y DATV: ctos RAM de 2k x 8 (entradas de
control
CE, WE, OE ): Bloques ROM de 2k x 8 (entradas de control
CE, OE ): registros de salida de 8 biestables (entrada habilitación E ):
adaptadores de entrada de 8 líneas (habilitación
M
E ).
X- 6
XVIII. Sistemas Con Arquitectura De Bus
Continuación (no es necesario)
E. Digital
2.1Caso De Una Memoria Reducida: Sea una memoria con un circuito
integrado RAM de 2k, otro ROM también de 2k, un registro de salida y un
adaptador de entrada, es decir, un solo elemento de memoria de cada tipo; la
memoria RAM debe situarse al inicio del mapa de memoria y la ROM al
final del mismo.
a)
Configuración de los 4 elementos con ocupación mínima del mapa de
memoria.
Los bloques RAM y ROM requieren 11 líneas de direccionamiento y
quedan 5 libres A 15 - A 11 :
0000 0 - - - - - - - - - - -
0000 – 07FF
2k RAM
1111 1 - - - - - - - - - - -
8F00 – FFFF
2k ROM
El registro de salidas y el adaptador entradas se sitúan en la misma
dirección de memoria accediendo por operación de escritura en el 1º y
en el 2º por operaciones de lectura. Supongamos que se colocan en la
posición 8000:
1111 0000 0000 0000 Las habilitaciones de los 4
bloques quedan:
RAM:
CE = A15 · A14 · A13 · A12 · A11 · DIRV ; WE = R / W ·DATV ;
OE = R / W ; a10 – a0 = A 10 – A 0
ROM:
CE = A15 · A14 · A13 · A12 · A11 · DIRV ; OE = R / W ; a10 – a0 =
A 10 – A 0
AE:
CE = A15 · A14 · A13 · A12 · A11 · A10 · A9 · A8 ·
· A7 · A6 · A5 · A4 · A3 · A2 · A1 · A0 · R / W ·DIRV
RS:
CE = A15 · A14 · A13 · A12 · A11 · A10 · A9 · A8 ·
· A7 · A6 · A5 · A4 · A3 · A2 · A1 · A0 · R / W ·DIRV
M
X- 7
XVIII. Sistemas Con Arquitectura De Bus
Continuación (no es necesario)
E. Digital
b) Configuración de los 4 elementos con circuito de posicionamiento
reducido.
Los 4 eltos pueden ser reducidos a 3 situando AE y RS en la misma
posición de memoria. Para distinguirlos bastan 2 líneas A 15 A 14 .
A 15 =1 A 14 =1 ROM
A 15 =1 A 14 =0 RS, AE
A 15 =0 A 14 =X RAM
Con esta asignación los bloques ocupan:
ROM: 11XX
X--- ---- ----
0XXX X - - - - - - - - - - -
RAM:
AE, RS: 10XX
C000 – FFFF (16k mem 14 lín)
0000 – 7FFF (32k mem 15 lín)
XXXX XXXX XXXX
8000
–
BFFF
(16k
mem 14 lín)
Con
esta
configuración los registros no están unívocamente
direccionados, aparecen en varias direcciones a la vez. Esto resulta
admisible ya que solo hay que ocupar una parte muy reducida de la
memoria. Dentro de la multitud puede elegirse un mapa concreto con lo
que trabajará el procesador:
RAM
0000 0 - - - - - - - - - - -
RS, AE
1000 0000 0000 0000
ROM 1111
1- - - - - - - - - - -
0000 – 07FF
8000
F800 – FFFF
Las condiciones de habilitación son:
RAM:
CE = A15 ·DIRV ; WE = R / W ·DATV ; OE = R / W ; a10
– a0 = A 10 – A 0
ROM:
AE:
CE = A15 · A14 · DIRV ; OE = R / W ; a10 – a0 = A 10 – A 0
E = A15 · A14 ·R / W · DIRV
M
E. Digital
RS:
X- 8
XVIII. Sistemas Con Arquitectura De Bus
Continuación (no es necesario)
E = A15 · A14 ·R / W · DIRV
Las entradas de
control
se
acti-
van con
‘0’
por
lo tanto
deben ir a puertas Nand. Todas puertas serán muy rápidas para
minimizar retrasos en las señales y asegurar que cumplen los tiempos
exigidos.
2.2 Caso De Una Memoria De Tipo Medio: Una memoria
con
8k de RAM
(en bloques de 2k), 4k de ROM (en bloques de 2k),2 RS y AE.
Los 10 elementos pueden reducirse a 8 ya que los 2 RS y AE pueden
reducirse a solo 2 elementos.2k à 11 líneas + 2 para diferenciar entre cada
bloque RAM, para diferenciar los 8 elementos se necesitan 3 líneas, la A11
A 12 y la A15 . Un decodificador de 8 líneas da directamente la discriminación
entre pastillas.
RAM1:
0000 0 - - - - - - - - - - -
0000 – 07FF
RAM2:
0000 1 - - - - - - - - - - -
08FF – 0FFF
RAM3:
0001 0 - - - - - - - - - - -
1000 – 17FF
M
X- 9
XVIII. Sistemas Con Arquitectura De Bus
Continuación (no es necesario)
E. Digital
RAM4:
0001 1 - - - - - - - - - - -
1800 – 1FFF
RS, AE1: 1000
0000 0000 0000
8000
RS, AE2: 1000
1000 0000 0000
8800
ROM1: 1111
0-- - ---- -- --
F000 – F7FF
ROM2: 1111
1- - - - - - - - - - -
F800 – FFFF
El mapa no es único A14 y A13 no se han utilizado. La conexión de las
entradas de control se conecta:
RAM:
salida
del
decodificador
a
CE ,
OE = R / W ,
WE = R / W ·DATV , a10 – a0 = A 10 – A 0 .
ROM: la salida del decodificador a
CE , OE = R / W , a10 – a0 = A10 –
A0.
AE: cada una a la salida del decodificador a E;
R / W = 1,
E = Li + R / W = Li + R / W .
RS:
R / W = 0 , E = Li + R / W · DATV = Li + R / W ·DATV .
2.3 Posicionamiento De 4 Adaptadores De Periféricos: Se desea situar 4
adaptadores PIA (cada uno de ellos tiene 4 registros y por tanto, dos líneas
de direccionamiento) a partir de la posición B000 del mapa. Cada PIA
requiere 2 líneas de direccionamiento a1 a0 y para situarlos juntos otras 2
líneas más A 3 y A 2 . La posición de los 4 adaptadores será:
1011 0000 0000 00 - -
B000 – B003
1011 0000 0000 01 - -
B004 – B007
1011 0000 0000 10 - -
B008 – B00B
1011 0000 0000 11 - -
B00C – B00F
M
E. Digital
X-10
XVIII. Sistemas Con Arquitectura De Bus
Continuación (no es necesario)
Un decodificador de 4 líneas puede situar los 4 adaptadores con las líneas
A 3 A 2 , E del decodificador será:
E = A15 · A14 · A13 · A12 · A11 · A10 · A9 · A8 · A7 · A6 · A5 · A4 ·DIRV
2.4 Placa De Memoria RAM De 16k Y Direccionamiento Versátil: Se
trata de diseñar una placa de 16k de memoria RAM con circuitos integrados
de 2k, que pueda ser posicionada en cualquiera de los 4 posibles sectores de
16k (000 – 3FFF, 4000 – 7FFF, 8000 – 8FFF, C000 - FFFF). Cada RAM de
2k requiere 11 líneas de direccionamiento (a 10 – a0 ) y para agrupar los 8
bloques de 2k que forman los 16k requiere 3 líneas de direccionamiento
(A 13 , A 12 , A 11 ); quedan A 15 y A 14 con las que puede situarse globalmente la
placa en los 4 sectores de memoria.
Un decodificador de 8 líneas permite discriminar entre 8 bloques de 2k, la
selección del sector donde se sitúa la placa se realiza por un puente de hilo.
A 15 = 0 A 14 = 0: 0000 – 3FFF
A 15 = 0 A 14 = 1: 4000 – 7FFF
A 15 = 1 A 14 = 0: 8000 – BFFF
A 15 = 1 A 14 = 1: C000 – FFFF
DIRV evita direccionamientos falsos, los puentes de hilo seleccionan el
sector de memoria en el que se sitúa globalmente la placa:
1a - 3b à C000 –FFFF
1a – 4b à 8000 – BFFF
2a – 3b à 4000 – 7FFF
2a – 4b à 0000 – 3FFF
M
E. Digital
X-11
XVIII. Sistemas Con Arquitectura De Bus
Continuación (no es necesario)
OE = R / W y WE = R / W ·DATV , a10 – a0 = A 10 – A 0 .
Placa con 8 circuitos integrados conectados a los buses, se suele utilizar
junto con otras placas è y van nº de integrados cargados sobre los buses.
3.- Problemas Relativos A Los Buses. Adaptadores De Bus
La conexión de circuitos integrados o placas sobre buses ha de respetar la
velocidad de trabajo, sin introducir retrasos, para ello:
a)
Cualquier circuito intermedio (interbus) ha de ser suficientemente
rápido.
b) Ha de limitarse el número de circuitos integrados conectados a un bus,
incluyendo adaptadores de bus si son necesarios.
Los circuitos que realizan la decodificación de las direcciones y el retraso
de circuitos de habilitación y control, se interponen en medio de las líneas
de los buses entre procesador y memoria.
Por ello los circuitos interbus han de tener tiempos de propagación muy
pequeños.
Las diversas familias lógicas integradas presentan para un circuito tiempos
de propagación muy diferentes desde 50nseg hasta 6nseg como tiempos de
propagación máximo. Los buses han de conectarse a múltiples circuitos
(fan-out) que puede ser muy alto y sin embargo la intensidad por cada línea
no sobrepasa los 10mA.
Los circuitos TTL requieren una intensidad de entrada no despreciable, por
ello los ctos TTL conectados directamente debe ser muy pequeño.
Los ctos MOS tienen una repercusión muy capacitiva, cada entrada es como
un condensador que hay que cargar o descargar en cada transición.
La carga o descarga de múltiples entradas capacitivas que soporta una línea
de un bus supone aumento del tiempo de conmutación de señales.
M
E. Digital
X-12
XVIII. Sistemas Con Arquitectura De Bus
Continuación (no es necesario)
Tanto en el caso bipolar como el MOS cuando el número de ctos a conectar
sobre los buses es muy alto, hay que aumentar la capacidad de carga, se
consigue mediante “adaptadores de bus” que transmiten el valor booleano
presente en el bus y proporcionan intensidades altas.
Un adaptador puede ser unidireccional (bus driver) o bidireccional (bus
transceiver), que se configuran con adaptadores triestado de alta intensidad
de salida.
Adaptador unidireccional bus driver à conjunto de adaptadores
-
triestado con una entrada de habilitación común:
Adaptador bidireccional bus transceiver à conjunto de parejas de
-
adaptadores triestado en antiparalelo, de forma que además de la entrada
de habilitación ha de tener una entrada común DIR, selecciona la
dirección de habilitación:
Como “circuitos intermedios” en los buses, los adaptadores de bus han de
presentar tp muy pequeños y proporcionar intensidades altas a mismo
tiempo.
Para
mejorar la velocidad e intensidad se desarrollado la tecnología
BiCMOS con salida TTL y lógica booleana es de tipo CMOS.
M
Descargar