Circuitos secuenciales Miguel Ángel Asensio Hernández, Profesor de Electrónica de Comunicaciones. Departamento de Electrónica, I.E.S. Emérita Augusta. 06800 MÉRIDA.
Características de los circuitos secuenciales Los circuitos secuenciales están constituidos a base de puertas lógicas, y a diferencia de los circuitos combinacionales, los valores de las salidas, en un momento dado, no dependen exclusivamente de los valores aplicados en las entradas en el instante considerado, sino también de los que estuviesen presentes con anterioridad. Puede ocurrir, por tanto, que para iguales valores en las entradas se puedan obtener estados distintos en las salidas en momentos diferentes. Los circuitos secuenciales tienen la capacidad de recordar o memorizar los valores de las variables de entrada. El almacenamiento o memorización de la información presente en la entrada del circuito se realiza gracias a la existencia de unas variables denominadas de estado interno, cuyo valor se verá afectado por los cambios producidos en la combinación binaria aplicada a la entrada. Celda de memoria.
Elementos de almacenamiento Los elementos de este tipo se encargan de mantener de una manera estable la información manejada por el computador. Son conocidos como Biestables (Flip-Flops), Basculas (Flags). Tipos de Biestables: R-S, T, LATCH, D, J-K. Introducción. Un biestable es un circuito secuencial que posee básicamente dos estados, uno de los cuales corresponde con el almacenamiento del bit 0, y el otro con el almacenamiento del bit 1. E 0/1 Símbolo general
Un biestable es un circuito secuencial cuya salida coincide con su única variable interna. Activando adecuadamente las entradas, el biestable se carga con valor 0 ó 1. Un biestable es una memoria de un bit, y constituye una celda unidad de la memoria RAM de un computador. Existen dos tipos de biestables: Asíncronos: cuyo esquema coincide con el símbolo general representado anteriormente. Síncronos: representado por el siguiente símbolo: E Clock De todos los modelos de biestables el R-S es el único asíncrono.
Biestable R-S. El que aparece a continuación es el biestable R-S asíncrono, que constituye la base de todos los demás. S (SET) R (RESET) ( T ) T+ T Especificaciones de funcionamiento: 1. Si S=1 y R=0 T+ T =1 2. Si S=0 y R=1 T+ T =0 3. Si T+ T = T S=0 y R=0 (Cto. Enclavado) S Biestable de inscripción prioritaria T R ( T ) ( T ) T Términos indiferencia Biestable de borrado prioritario
Biestables síncronos. (activados por nivel o por flancos) En los biestables activados por nivel, las entradas transmiten todos los cambios producidos a la salida mientras permanece la señal de reloj a nivel activo. Biestable D activado por nivel. Esta forma de funcionamiento puede ocasionar problemas cuando la frecuencia de conmutación, de las señales de entrada, alcanza niveles elevados. Acortar el tiempo de duración del nivel activo no es una solución, ya que deben ser lo suficientemente largo para permitir la conmutación de los circuitos. Además se debe garantizar el cambio de estado de los dispositivos más lentos que forman el sistema.
La solución que se adopta para adaptar los tiempos de conmutación de circuitos con diferente velocidad, es la siguiente: La propagación de los datos se genera en dos etapas: (1) flanco de subida, master; (2) flanco de bajada, Slave Biestable R-S activado por flancos. master slave R-S master-slave En este circuito cuando la señal de reloj pasa de nivel bajo a nivel alto, la información presente en los terminales R S, pasa a la entrada del primer biestable (master). Al pasar la señal de reloj a nivel bajo, la información almacenada en master pasa al Slave. Durante ese tiempo las entradas principales del circuito permanecen cerradas.
Otra solución es utilizar biestables tipo D activados por flanco. Este dispositivo es conocido como flip-flop D, para diferenciarlo del biestable tipo D activado por nivel, y que es conocido como latch D. (cerrojo) Este circuito está formado por dos biestables R-S asíncronos, que se han integrado en un chip (7474 TTL), es decir, Dual flip-flop D. Dual flip-flop D. (Edge-Triggered)
Por último, y para completar todos los modos de disparo, queda hablar del Biestable J-K activado por flanco de bajada. El circuito integrado 7473 contiene dos biestables tipo J-K (master-slave) disparado por flanco de bajada. Cada biestable posee dos entradas de datos (J-K) y una entrada de reloj independiente. También disponen de dos salidas cada uno, de tipo complementarias. Símbolo del Biestable T, a partir del J-K. Constitución interna de un bloque J-K. Los biestables J-K constituyen la base de Contadores y Divisores de frecuencia.
Contadores y Divisores de frecuencia Un contador es un circuito secuencial compuesto por biestables J-K, cuyas salidas representan en binario el número de impulsos que se aplican a la entrada. Dependiendo de la forma de operar, los contadores pueden ser de secuencia ascendente, secuencia descendente, o bien de ambas formas (up/down counters). salida 1 pulsos de entrada contador salida 2 n-salidas salida n Los divisores de frecuencia son circuitos que poseen una entrada por la que llega un tren de impulsos a una frecuencia determinada, disponiendo también de una única salida, por la que se obtiene una frecuencia n-veces inferior a la de entrada. pulsos de entrada Divisor de frecuencia OUTPUT salida Un flanco de bajada por cada n-flancos de entrada.
Análisis del circuito contador. Como he indicado en la introducción, los contadores son sistemas secuenciales que disponen de una sola entrada de impulsos y varias salidas que representan en binario el número de impulsos que han llegado a la entrada. + 5 Vcc 0 1 2 3 2 7 2 7 4 J PR 15 9 J PR 11 4 J PR 15 9 J PR 11 Reloj 1 ½ 7476 6 ½ 7476 1 ½ 7476 6 ½ 7476 16 K 1 2 3 4 CL 14 12 K CL 10 16 K CL 14 12 K CL 10 3 8 3 8 R + Vcc S Contador asíncrono binario de módulo 16 ascendente. Montado a partir de dos C.I. 7476. También se puede montar con 2 C.I. 7473 C.I. 7476
Contador binario descendente de módulo 16.
Es importante también detenerse en el C.I. 7493, se trata de un contador asíncrono binario integrado. Está compuesto por cuatro biestables J-K disparados por flanco de bajada C.I. 7493 Las entradas J-K están al aire, que es lo mismo que conectarlas a nivel alto. El primer biestable puede ser usado como divisor por dos, mientras que los tres restantes se pueden emplear como contador de módulo 8. Además de esto, si conectamos externamente 0 con C1, se convierte en un contador de módulo 16 (de 0 a 15). En este cronograma se muestra la respuesta de las cuatro salidas; 0 a 3.
Análisis de los divisores de frecuencia. Para iniciar el análisis de los divisores de frecuencia, se debe hacer observando el comportamiento de la báscula tipo T. J T K T Observamos que se produce una conmutación en el estado de salida por cada flanco de subida del pulso de reloj aplicado en su entrada T. Obtendremos un comportamiento idéntico con una báscula J-K síncrona. + Vcc J J=K + Vcc CLK CLK K CL
De esta forma podemos obtener una división de la frecuencia por 2, utilizando una sola báscula J-K síncrona. Si conectamos en cascada varias etapas, se conseguirá obtener una división de frecuencia por 2 elevado a n, siendo n el número total de etapas conectadas en cascada. + Vcc J J J J CLK K CL K CL K CL K CL Divisor de frecuencia por 16. 2 n = D
REGISTROS Los registros son bloques funcionales destinados a almacenar o registrar información binaria durante cierto tiempo. de almacenamiento por flanco por nivel Tipos de registros de Entrada serie / Salida serie de desplazamiento de Entrada paralelo / Salida serie de Entrada paralelo / Salida paralelo de Entrada serie / Salida paralelo
Un registro de desplazamiento es un circuito secuencial síncrono, que está constituido por una cadena de biestables conectados de tal manera que cuando se produce una transición síncrona (flanco de bajada de la señal de reloj), cada biestable cede su información al que le sigue en la cadena y toma información del que le precede. Normalmente los registros de desplazamiento están constituidos por una cadena de biestables D conectados en serie. REGISTRO registro de 8 bits 0 1 0 1 1 0 1 1 7 6 5 4 3 2 1 0 Ejemplo: registro de desplazamiento Entrada serie / Salida serie. Entrada 0 1 0 1 1 0 1 1 FIFO Salida 7 6 5 4 3 2 1 0 Lectura no destructiva
Los registros de almacenamiento están formados por un conjunto de biestables aislados entre sí, con una señal de reloj común. Registro de almacenamiento Entrada paralelo / Salida paralelo. D C B A registro de cuatro bits D C B A
Registro de desplazamiento serie/serie de 4 bits. (representación constructiva) Constituyen las memorias tipo FIFO: el primer dato en entrar es el primero en salir. b1 b2 b3 b4 (señal de reloj común) La señal de reloj se corresponde con entradas directas en cada uno de los bloques, por ser activo el flanco de subida.
Proceso de carga de un registro de 4 bits. Datos de entrada: 0 1 1 1 Estado Inicial carga lectura CLK b1 b2 b3 b4 E.I. 0 0 0 0 1t 2t 3t 4t 1t 2t 3t 4t Salida serie: 0 1 1 1 El primer bit que sale es el menos significativo Si la salida no se realimenta a la entrada se dice que la lectura es destructiva; se pierde la información en el registro. La utilización de registros es fundamental para adaptar circuitos que trabajan a distintas velocidades, como puede ser el puerto de salida de un computador y el puerto de entrada de una impresora.
Como ejemplo podemos hablar de la conexión entre una unidad de impresión y la memoria principal de un computador. Memoria principal bus memoria interna No se puede dar conexión directa entre estos dos dispositivos, ya que la memoria interna es infinitamente más rápida que la impresora. impresión Impresora Por tanto necesitamos una Unidad intermedia que adapte las dos velocidades. A dicha unidad se la conoce como BUFFER, y está formada por un registro de desplazamiento. Un BUFFER permite la conexión de dos dispositivos con distinta velocidad. Podemos, por tanto, cargar el buffer a una velocidad y leerlo a otra distinta. Memoria principal bus impresión memoria interna BUFFER Impresora
APLICACIONES Los registros de desplazamiento se pueden aplicar en el diseño de circuitos aritméticos. Por ejemplo, partiendo de un sumador total, diseñar un sumador binario natural. CLK C 1 B 0 A 0 S 0 C 0 primer sumando A Registro de desplazamiento E/S S/S A 0 C 1 Registro de desplazamiento E/S S/S B Registro de desplazamiento E/S S/S segundo sumando B 0 C 0 S 0 ACUMULADOR CLK CK D CLK CLK El reloj va sincronizado en todo el conjunto de circuitos. Desde el codificador de teclado sumador binario natural.
Es normal que en un computador se utilicen varios registros del mismo tipo con propósito general, en este sentido se suelen emplear agrupaciones que vienen a formar bancos o baterías de registros. Una batería de registros posee una única entrada de datos y una única salida de datos, lo que significa que necesita de una señal de selección de entrada y otra para la salida. Salida n 0 1 2 Selección de registro para entrada de datos. 2 3 2 3 3 4 5 6 7 Selección de registro para salida de datos. n Entrada El mecanismo de selección consiste en introducir un valor de tipo entero que identifique al registro, se trata de proporcionar el número de orden en el grupo.
CONTROL DECODIFICADOR DE DIRECCIONES BUFFER DE SALIDA MEMORIAS Cuando en un circuito integrado (C.I.) se ensamblan varios registros de igual longitud, de modo que compartan un conjunto común de entradas, un conjunto común de salidas y una única línea de reloj, al circuito resultante se le viene a denominar memoria. Entrada de datos. n Registro 0 Direcciones Registro 1 n Registro 2 m Salida de Datos Registro 3 Control R/W Registro 2 n 1 Representación en registros de una memoria.
Para buscar la instrucción que debe ser ejecutada en cada momento, la Unidad de Control del procesador mantiene actualizado un registro de propósito especial o dedicado, es el Contador de Programa (PC). El contador de programa es un registro de operación que en cada momento contiene la dirección de la próxima instrucción a ejecutar. Cuando el procesador es inicializado la unidad de control coloca el contador de programa a cero. La dirección contenida en el Contador de Programa se coloca en el bus de direcciones; para ello, la unidad de control transfiere el contenido del PC al registro de dirección, (RD). B. Direcciones B. Datos B. Control Datos Dirección MEMORIA Lectura / escritura R / W
Tipos de MEMORIAS Memorias de acceso aleatorio. RAM La memoria de acceso aleatorio (en inglés: random-access memory), constituye la memoria principal del sistema, se utiliza como memoria de trabajo por parte del sistema operativo y otros programas. Hay dos tipos básicos de memoria RAM RAM dinámica (DRAM) RAM estática (SRAM) Los dos tipos de memoria RAM se diferencian en la tecnología que utilizan para guardar los datos, la memoria RAM dinámica es la más común, por ser la tecnología mas barata. Memorias de solo lectura. ROM La memoria de solo lectura, conocida también como ROM (acrónimo en inglés de read-only memory), es un medio de almacenamiento utilizado en ordenadores y dispositivos electrónicos para operaciones de rutina, que permite solo la lectura de la información y no su escritura, independientemente de la presencia o no de una fuente de energía. ROM-BIOS
DECODIFICADOR Estructura 2D de una unidad de memoria SRAM. MEMORIA D CLK Biestables tipo D. Biestable D, basado en semiconductor Líneas de Dirección Static Random Access Memory (SRAM), o Memoria Estática de Acceso Aleatorio es un tipo de memoria basada en semiconductores y construida a base de biestables tipo D, es capaz de mantener los datos mientras esté alimentada, sin necesidad de circuito de refresco. CONTROL R/W CS AL BUS DE DATOS La memoria SRAM es más cara, pero más rápida y con un menor consumo (especialmente en reposo) que la memoria DRAM.
DECODIFICADOR DE FILA Estructura 2D de una unidad de memoria DRAM. MEMORIA RAS Líneas de Dirección DECODIFICADOR DE COLUMNA MOSFET de canal difundido CAS DRAM (Dynamic Random Access Memory) es un tipo de memoria dinámica de acceso aleatorio que se usa principalmente en los módulos de memoria RAM y en otros dispositivos, como memoria principal del sistema. Se denomina dinámica, ya que para mantener almacenado un dato, se requiere revisar el mismo y recargarlo, cada cierto período, en un ciclo de refresco. Su principal ventaja es la posibilidad de construir memorias con una gran densidad de posiciones y que todavía funcionen a una velocidad alta.
Funcionamiento de una unidad de memoria DRAM. Do Internamente, existen dos decodificadores, uno para las filas y otro para las columnas. Ambos comparten las mismas líneas de direcciones del chip. En primer lugar, por ellas debe darse, junto con la señal RAS (activa a nivel bajo) selección de fila, el número de la fila a la que se desea acceder. Tras un corto intervalo de tiempo, entre 20 y 100ns, se debe proporcionar, por las mismas líneas y junto a la señal CAS (activa a nivel bajo) el número de columna a la que se desea acceder. Ambas coordenadas (fila-columna), seleccionarán una de entre las múltiples celdas de memoria: al mismo tiempo la señal WE (activa a nivel bajo) indicará si se trata de una Lectura o de un Escritura sobre dicha celda. Además, se dispone de una electrónica adicional en las líneas de datos para determinar si el dato presente es de entrada Di, o por el contrario es de salida Do.