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