CIRCUITOS SECUENCIALES.
Los circuitos secuénciales, de la misma forma que los combinacionales, están constituidos por puertas lógicas, y como en estos últimos, la escala de integración de la mayoría de los circuitos disponibles en catalogo es la MSI. Sin embargo, presentan unas características muy singulares que describiremos a continuación. A diferencia de los circuitos combinacionales, en los secuenciales, los valores de las salidas en un momento dado no dependen exclusivamente de los valores aplicados en las entradas en ese instante, sino también de los que estuviesen presentes con anterioridad. Puede ocurrir, por lo tanto, que para iguales valores en las entradas se puedan obtener estados distintos en en las salidas en momentos diferentes. La respuesta de un circuito de estas características, frente a una secuencia de valores aplicada a las entradas, depende de su constitución física. Los circuitos secuenciales tienen capacidad para recordar o memorizar los valores de las variables de entrada. Esta operación es imprescindible en los sistemas automáticos construidos con circuitos digitales, sobre todo en los programables, de los cuales nos ocuparemos mas adelante. El almacenamiento o memorización de la información presente en la puerta del circuito se realiza gracias a la existencia de unas variables denominadas de estado interno, cuyo valor se vera afectado por los cambios producidos en la combinación binaria aplicada a la entrada. La diferencia de comportamiento entre ambos elementos radica en que la salida del elemento de retraso es una copia de la señal de entrada; mientras que el elemento de memoria copia determinados instantes de la entrada (determinados por una señal externa), y no la señal completa, el resto del tiempo la salida no cambia cambia de valor, co mo podemos apreciar en la ¿gura.
Existen dos grandes tipos de circuitos secuenciales: a) Maquina de Mealy.
En este tipo de circuitos, las salidas dependen, en cada
instante de los valores de los elementos de memoria y de las entradas presentes en ese instante. Aquí, para cada estado, podemos tener tantas salidas como combinaciones tengamos en las entradas.
b) Maquina de Moore. Aquí las salidas en cada instante dependen
exclusivamente de los estados de los elementos de memoria, y no dependen directamente de las entradas en ese instante. Los valores de las entradas, sirven para modificar las diversas transiciones entre estados.
Modelo gener al de un circuito secuencial
En ella podemos distinguir tres tipos de señales: señales de entradas, señales de salida y señales de estado. Las señales de entrada y salida tienen el mismo signi¿cado que en los sistemas combinacionales. En cambio, las señales de estado son aquellas que mantienen la información de la historia pasada del sistema. Las señales de estado tienen dos versiones, según se consideren a la salida o a la entrada del elemento de memoria: Si consideramos las señales de estado a la salida de los elementos de memoria, o lo que es lo mismo, a la entrada del bloque combinacional, se denominan señales de estado presente ya que nos indica el estado en el que se encuentra el sistema para realizar una operación.
Si consideramos las señales de estado a la entrada de los elementos de memoria, o lo que es lo mismo, a la salida del bloque combinacional, se denominan señales del próximo estado ya que nos indican el estado al que llegará después de que el bloque combinacional haya realizado la operación. Representación de los circuitos sec uenciales.
De igual forma que existe una representación de los sistemas combinacionales (mediante tablas de combinaciones), los sistemas secuenciales también tienen sus formas de representación. Éstas son algo más complejas, debido a la dependencia temporal. Así, podemos encontrar las siguientes formas equivalentes, mostradas en la ¿gura: y
Diagrama de estados, es un grafo orientado en el que cada nudo es un estado y cada transición indica el cambio, tant o de estado como de salida, respecto a un cambio en alguna de las señales de entradas.
y
Tablas de estado y de salida, es una representación tabular del grafo anterior. Las entradas se representan como columnas, y los estados presentes como ¿las; y en el interior de cada celda, se indica el próximo estado y el valor que tomará la salida cuando sufra la transición.
Tabla de Datos de los C ircuitos Secuenciales.
CLASIFICACIÓN DE LOS CIRCUITOS DIGITALES Uno
de los primeros problemas de los circuitos secuenciales era determinar el
momento en el que el próximo estado debía pasar a estado presente, sin capturar situaciones no deseadas como pueden ser los azares. Este problema es lo que se conoce como sincronización, cuyas soluciones dieron lugar a una de la principales clasi¿caciones de los sistemas secuenciales. Así podemos dividir los sistemas en dos categorías: y
Sistemas asíncro nos .- La sincronización depende exclusivamente de
los retrasos de la lógica combinacional, sin necesidad de ninguna señal externa al sistema. y
Sistemas síncro nos .- La sincronización depende exclusivamente de
una señal externa al sistema, conocida generalmente como señal de reloj. Esta señal de reloj controlará el comportamiento de los elementos de memoria. Las operaciones de un sistema asíncrono tienen efecto, es decir, se almacena el próximo estado, en intervalos temporales diferentes. Por lo tanto, su velocidad de operación será distinta para cada secuencia de entradas. De esta forma se toma como el parámetro de la velocidad de operación el valor medio
de todas las velocidades. Así, la operación de un sistema asíncrono se denomina operación del caso medio. En cambio, las operaciones de un sistema síncrono tienen efecto en el mismo intervalo temporal, el dictaminado por el periodo de la señal de reloj. Por lo tanto, su velocidad de operación será siempre la misma para todas las secuencias de entrada. Esta velocidad debe ser tal que todas las operaciones tengan el tiempo necesario para poder llevarse a cabo. Así, la velocidad de un sistema síncrono (y por tanto la frecuencia de la señal de reloj asociada) debe estar limitada por la operación más lenta. A este tipo de operaciones se le suele denominar operación del caso peor.
Ambos se pueden modelar de la misma forma, es decir, con un a lógica combinacional y realimentaciones a través de elementos de memoria. La diferencia radica en el control de estos elementos: en el caso síncrono, los elementos de memoria son controlados por una señal externa, que por lo general es controlada directamente por el usuario; mientras que en el caso asíncrono, esta señal de control no existe (por lo que el elemento de memoria se traduce en un elemento de retraso) o en su defecto dicha señal es generada por el propio circuito, luego el gobierno de la s operaciones recaen completamente en el propio circuito. Así podemos apreciar que el cambio de las señales de próximo estado a estado presente se llevan a cabo mediante un
mayor o menor retraso en el caso asíncrono o cuando lo indique una señal externa en el caso síncrono. LÓGICA SECUENCIAL SÍNCRONA ± FLIP-FLOP
Todos los circuitos digitales utilizan datos binarios para funcionar correctamente, los circuitos están diseñados para contar, sumar, separar, etc. los datos según nuestras necesidades, pero por el tipo de funcionamiento de las compuertas digitales, los datos presentes en las salidas de las mismas, cambian de acuerdo con sus entradas, y no hay manera debitarlo, si las entradas cambian, las salidas lo harán también, entonces Cómo podemos hacer para mantener un dato o serie de datos en un lugar hasta que los necesitemos? La respuesta son las memorias, básicamente son sistemas que pueden almacenar uno o más datos evitando que se pierdan, hasta que nosotros lo consideremos necesario, es decir, pueden variar su contenido a nuestra voluntad. El corazón de una memoria son los Flip Flops, este circuito es una combinación de compuertas lógicas, A diferencia de las características de las compuertas solas, si se unen de cierta manera, estas pueden almacenar dato s que podemos manipular con reglas preestablecidas por el circuito mismo. Esta es la representación general par un Flip Flop (comúnmente llamado "FF")
Los FF pueden tener varias entradas, dependiendo del tipo de las funciones internas que realice, y tiene dos salidas:
Las salidas de los FF sólo pueden tener dos estados (binario) y siempre tienen valores contrarios, como podemos ver en la siguiente tabla:
Las entradas de un FF obligan a las salidas a conmutar hacia uno u otro estado o hacer "flip flop" (Término anglosajón), más adelante explicaremos cómo interactúan las entradas con las salidas para lograr los efectos característicos de cada FF. Este es el circuito más sencillo y básico de un FF, Puede ser construido a partir de dos compuertas NAND o dos compuertas NOR con dos entradas, a continuación se ilustra con compuertas NAND, y es denominado "Registro Básico NAND". La forma de conectarlas es la siguiente: Se deja libre una de las entradas de cada compuerta, las sobrantes son conectadas independientemente de manera cruzada hacia la salida de la compuerta contraria. Quedando la conexión de la siguiente manera:
La siguiente tabla muestra el estado inicial del Registro Básico NAND, cuando sus entradas se encuentran en ALTO (Estado de reposo del FF). Para
comenzar la acción de "Flip Flop" será necesario enviar a BAJO alguna de las entradas, con su correspondiente cambio de estado a la salida.
La siguiente tabla nos muestra los diferentes cambios de las salidas, según cada selección de entradas (La "X" significa que no importa el estado en el que se encuentren en ese momento):
Señales de Re loj (CLOCK ) y FF controlados por Re loj
Hasta ahora hemos visto que un Registro Básico tiene dos variables de entrada y responde de manera predecible a ellas, pero necesitáramos otra variable de control?
Qué podíamos hacer si
Cómo podríamos hacer que el
registro actúe cuando sea conveniente para nosotros, y no al momento de cambiar sus entradas? Todos los sistemas digitales tienen básicamente dos formas de operación:
Operación en modo ASÍNCRONO. En este modo, las salidas cambian de manera automática siguiendo las órdenes de las entradas. Operación en modo SÍNCRONO. En este modo, las salidas cambian siguiendo las ordenes de las entradas, pero sólo cuando una señal de control, llamada RELOJ (CLOCK, CLK, CP) es aplicada al registro. Los circuitos digitales ASÍNCRONOS son muy complicados en lo que a diseño y reparación se refiere, ya que, al encontrarnos con una falla en un circuito de 10 registros interconectados, el rastreo de los cambios en todas las compuertas nos provocaría un severo dolor de cabeza. Los circuitos digitales SÍNCRONOS son más fáciles de diseñar y reparar, debido a que los cambios de las salidas son eventos "esperados" (ya que fácilmente podemos saber el estado de cada una de las entradas o salidas sin que estas cambien repentinamente), y los cambios dependen del control de una sola señal aplicada a todos los registros, la señal de RELOJ. La señal de reloj es una onda cuadrada o rectangular, los registros que funcionan con esta señal, sólo pueden cambiar cuando la señal de reloj hace una transición, También llamados "flancos", por lo tanto, la señal de reloj sólo puede hacer 2 transiciones (o Flancos): y
La Transición con pendiente positiva (TPP) o Flanco positivo (FP). Es cuando la señal de reloj cambia del estado BAJO al estado ALTO.
y
La Transición con pendiente negat iva (TPN) o Flanco Negativo (FN). Es cuando la señal de reloj cambia del estado ALTO al estado BAJO.
Principales características de los FF sincronizados por Reloj. Todos los FF cuentan con una entrada con el rótulo (RELOJ, CLOCK, CLK, CP) y un distintivo círculo para saber como debe ser la señal activa. Los que no tienen círculo, son sincronizados por una TPP, los que cuentan con un círculo son sincronizados por una TPN.
Todos los FF cuentan con entradas de control, que determinan el cambio que van a tener las salidas, al igual que en los Registros básicos, pero estas entradas no pueden modificar las salidas arbitrariamente, sólo podrán hacerlo cuando el FF reciba su transición activa. Resumiendo, Las entradas de control del FF nos permiten saber cómo van a cambiar las salidas, pero sólo la señal de Reloj podrá hacer efectivo este cambio. Constantes de tiempo de Establecimiento y de Retención
La siguiente figura nos indica cómo están compuestos los dos detectores de Transiciones.
y
Detector de Transiciones Positivas (TPP)
y
Circuito Detector de Transiciones Negativas
Las figuras nos muestran del lado izquierdo de la línea verde el pin de entrada de Reloj del FF, el lado derecho nos muestra el circuito interno del FF. La diferencia entre CK y CK se debe al retraso en la propagación que cualquier compuerta tiene, desde que se aplica una señal en la entrada, hasta que esta se refleja en al salida. Esta diferencia en tiempo, nos permite obtener un pulso de salida solamente cuando ocurre la transición para la qu e están diseñados, y por lo tanto accionar el FF. Flip Flop tipo "J-K"
Este FF es uno de los más usados en los circuitos digitales, y de hecho es parte fundamental de muchos circuitos avanzados como contadores y registros de corrimiento, que ya vienen integrados en un chip. Este FF cuenta con dos entradas de datos J y K, su función es en principio la misma que el Registro básico NAND o NOR, pero con la diferencia que la condición en las entradas J = 1, K = 1, a diferencia del Registro NAND, que generaría una salida errónea o no deseada, en un FF J -K, obliga a las salidas a conmutar su estado al opuesto (Toggle) a cada pulso del reloj. Esto lo convierte en un tipo de FF muy versátil. Tabla de verdad de un FF tipo J-K síncrono.
Observando la tabla de verdad observamos los cambios que provoca en sus salidas este FF: Si J y K = 0, no hay cambios en las salidas. Si J = 1, y K = 0, se forzan las salidas a Q = 1, /Q = 0 Si J = 0, y K = 1, se forzan las salidas a Q = 0, /Q = 1 Si J = 1, y K = 1, las salidas conmutan su estado hacia el siguiente a cada pulso del reloj (Toggle). Tabla de verdad del FF Tipo "J - K" co n entr adas Así ncronas
(Las "X" significan que no importa el estado actual de esa entrada). (El FF tiene una entrada de Reloj que funciona con TPP) (Las entradas asíncronas con activas ALTAS)
El funcionamiento básico sigue siendo el mismo, pero las salidas serán forzadas a ALTO o BAJO, si se activan las entradas Asíncronas correspondientes (SET, RESET) sin importar el estado de las entradas "J - K" o CLK. CONTADORES.
Los contadores son circuitos secuenciales capaces de recorrer una secuencia previamente especificada de estados. Reciben un tren de impulsos y responden con una sucesión de estados correspondientes a la representación en binario del número de impulsos recibidos desde que se inició el ciclo.
Contadores asíncronos.
Compuestos por básculas JK con J=K=1 (básculas T) de forma que la entrada de reloj entra en la primera báscula (bit de menor peso) y el reloj del resto de las básculas es la salida Q de la báscula anterior. Esto provoca el sentido asíncrono del contado r, ya que cuando entra el impulso de reloj a la primera báscula esta empieza a bascular, pero la siguiente no basculará hasta que no lo haya hecho la anterior. Este efecto provoca una reacción que se va añadiendo de báscula a báscula y por lo tanto el tiem po de cambio de un estado al otro puede ser el resultado de acumular los tiempos de transición del número de básculas que intervienen en dicho cambio.
Contadores sí ncronos:
Inconvenientes de los contadores asíncronos. y
La frecuencia máxima de trabajo depende de la suma de los retardos que introducen los biestables que lo componen.
y
Los estados estables no se alcanzan siempre al mismo tiempo
Estos inconvenientes se solucionan utilizando contadores síncronos, en los cuales el reloj de entrada se conecta a la entrada de reloj de todas las básculas, de forma que la transición de ellas se produce en función de los valores que se introduzcan en sus entradas de datos. De esta manera cuando el contador adquiere un estado (estable) posiciona las entradas de las b ásculas antes de que se produzca la entrada del siguiente ciclo de reloj. Cuando esta aparezca todas, las básculas comenzarán simultáneamente el proceso de cambio (si es que se ha de producir según los valores de sus entradas).
El proceso de diseño de los contadores síncronos no deja de ser un caso concreto del diseño de circuitos secuenciales con básculas estudiado anteriormente. Ya que partimos de un diagrama de estados en el que se representan los diferentes estados de cuenta del contador y debemos de se guir los pasos de diseño analizados en los apartados anteriores. A pesar de lo indicado se puede configurar un contador binario natural síncrono de una manera un tanto estandar. Se pueden implementar con básculas JK con las dos entradas unidas a ³1´ (básculas T) de forma que los relojes de todas las básculas están unidos entre sí y a la señal del reloj de entrada. y
En el caso de un contador ascendente: cada una de las entradas JK de cada báscula a una puerta ³AND´ de todas las salidas Q de las básculas de pesos inferior.
y
En el caso de un contador descendente: cada una de las entradas JK de cada báscula a una puerta ³AND´ de todas las salidas Q de las básculas de pesos inferior.
REGISTROS DE DESPLAZAMIENTO Un
registro es circuito digital con dos funciones básicas:
í
Almacenamiento de datos.
í
Movimiento de datos.
Con tales funciones una cuestión elemental es el modo de introducir y el modo de sacar dicha información. Teniendo en cuenta que hay dos mane ras de manipular los datos: serie/paralelo; ello da lugar a tener diferentes configuraciones de registros en función de la entrada y la salida de dichos datos: í
Entrada serie / Salida serie.
í
Entrada serie / Salida paralelo.
í
Entrada paralelo / Salida serie.
í
Entrada paralelo / Salida paralelo.
La implementación de los registros parte de dos premisas elementales: 1) Estarán compuestos por tantas básculas D como bits queramos almacenar o manipular. 2) Según el modo de carga o desplazamiento: a) En el caso de una entrada paralelo, cada bit de entrada que queramos introducir se deberá conectar a cada una de las entradas de cada báscula del registro.
b) En el caso de una entrada serie o un desplazamiento, cada entrada de cada báscula deberá ir conectada a la salida de la báscula inmediatamente inferior y de la cual deberá recoger el bit que se quiere desplazar.
Aplicaciones de los registros. Se utilizan donde se necesiten un almacenamiento temporal de información, por ejemplo, conectados a las salidas de circuitos combinacionales aritméticos para recoger el resultado de una operación, para almacenar operaciones intermedias o proporcionar información estable a un sistema de representación por displays. Los distintos registros comparten líneas comunes llamadas buses tanto para recoger la información del bus como para volcar la información al bus, pero no todos los registros a la vez, sino uno y después otro.
Mientras un registro vuelca su información al bus, otros reg istros conectados al mismo bus permanecen en estado de alta impedancia. También se suele utilizar para almacenar datos y direcciones en las operaciones de escritura y lectura de las memorias por parte de los microprocesadores.
INTRODUCCIÓN
Los circuitos y la lógica secuencial corresponde a la rama de la electrónica más fructífera de los últimos tiempos. Es de destacar los grandes avances que se han realizado con la implementación de chip¶s de última generación, computadores inteligentes y otros usos. En este informe, relataremos de forma sencilla, la definición de los circuitos secuenciales, su representación, tablas de estado y tipos. Seguidamente, exploraremos el los Flip-Flop y su uso en lo que ha memorias se refiere para finalmente culminar con el tema de los Registros y Contadores.