Introducción
Dentro del desarrollo tecnológico adquieren gran importancia los sistemas lógicos digitales que realizan las distintas funciones que automatizan cada uno de los procesadores que se aplican en la industria y en los bienes de consumo.
Esta automatización se establece, dentro de la electrónica digital, en dos grandes vertiente:
– Circuitos digitales combinacionales.
– Circuitos digitales secuenciales.
Los circuitos secuenciales aportan a las salidas unos estados que dependen no solo de la combinación de los estados de las entradas, sino de las operaciones anteriores correspondientes a la secuencia que el proceso realiza. De algún modo, el sistema “recuerda” todas las etapas desarrolladas en el automatismo y las incluye como condición para operaciones o etapas posteriores.
Hemos de decir, finalmente, que la mayor parte de los automatismos integrados en la industria y en la electrónica de consumo, son del tipo secuencial, o más bien, una mezcla de operaciones secuenciales y combinacionales.
1. Elementos biestables.
Los circuitos secuenciales son aquellos en los que el estado de sus salidas depende tanto del estado de las entradas como de otros estados o etapas anteriores. Son aquellos que, junto con las entradas del sistema, determinan y condicionan el funcionamiento y se traducen dentro del circuito como variables auxiliares cuya conexión y desconexión estará, a su vez, condicionada por otras variables.
Un elemento biestable es aquel que puede situarse en uno cualquiera de dos estados estables. Un ejemplo sencillo de un elemento biestable proporciona un interruptor eléctrico.
Los dispositivos biestables pueden considerarse tipos sencillos de elementos de memoria o almacenamiento, ya que permanecen en el estado correspondiente a la última instrucción que se les da. En los circuitos lógicos, la instrucción que se les da. En los circuitos lógicos, la instrucción tiene la forma de señal lógica (que puede ser un impulso de muy corta duración: solamente unos pocos microsegundos o incluso, en algunos casos nanosegundos). Estos elementos reciben frecuentemente al nombre de flip-flops.
A continuación pasaremos a detallar los siguientes tipos de biestables:
– Biestable R-S.
– Biestable D.
– Biestable J-K.
– Biestable T.
1.1 Biestables R-S.
Es el biestable elemental, a partir del cual son diseñados el resto de variaciones. El funcionamiento general es semejante al de la unidad base de memoria, es decir, cuando aplicamos un impulso activo a la entrada S, la salida Q pasa un nivel alto y la salida a nivel bajo. Solo cambia esta posición cuando aplicamos otro impulso a la entrada R (cumpliéndose entonces que Q =0 y = 1). Estudio hecho aparte merece el hecho de que R y S pueden estar activadas simultáneamente. Entonces se produce una indeterminación y en la forma en que consideremos este hecho nos encontramos con dos formas de concebir el biestable R-S
– Cuando la indeterminación es Q= Q (negada)=0, o con prioridad a la desactivación, en el cual las ecuaciones de una de las salidas serán :
– Cuando las indeterminación se traduce en Q==1, es decir, ambas salidas con prioridad a la activación, en la cual sus ecuaciones de salida serán :
Si aplicamos los teoremas de Morgan podemos establecer, por tanto, dos tipos de circuitos: uno con puertas NOR, en el primer caso de indeterminación, y otro con puertas NAND, para el segundo caso.
1.2 Biestable tipo D.
En este tipo de biestable solo existe una entrada marcada como D (entrada de dato). Esto se consigue empleando un inversor para la entrada R de un biestable R-S síncrono y uniendo la entrada R de un biestable R-S síncronica y uniendo la entrada S del biestable.
Debido a su especial funcionamiento, carece de posiciones de indeterminación. Por otra parte, siempre se darán disposiciones sincrónicas (la asincrónica no tendría objeto), activada por flanco de subida o bajada de la señal de reloj.
1.3 Biestables J-K.
En el biestable J-K, de forma análoga a como sucede en el R-S, la entrada J activa la salida Q y desactiva la y la entrada K hace lo contrario.
La diferencia estriba en que ahora no se puede dar ningún estado de indeterminación. Es decir, cuando tenemos J y K simultáneamente en estado alto; las salidas Q y no adoptan el mismo estado, simplemente ambas invierten su estado anterior.
Este tipo de funcionamiento exige que siempre las basculas J-K sean activadas sincrónicamente y por flancos de reloj, ya que si funcionasen por nivel de reloj, ante un caso de indeterminación (J=K=1), las salidas estarían cambiando alternativamente sus estados, mientras dure el nivel de autorización de reloj, siendo imprevisible su posición al final de este nivel.
Se puede establecer, por tanto, a partir de biestables R-S elementales, un biestable J-K activado por flancos de subida o por flanco de bajada de la señal de reloj.
1.4 Biestable T.
El biestable tipo T se construye a partir del J-K, uniendo las dos entradas en una sola denominada T. Con esto se consigue que si aplicamos un nivel activo a esta entrada; se producirá un disparo o cambio de estado en las salidas Q y cada vez que se aplique el flanco de reloj correspondiente. Aplicando una señal permanente en la entrada T, en la salida tendríamos una señal cuya frecuencia es la mitad de la frecuencia del reloj.
Este tipo de biestable se emplea principalmente, como divisor de frecuencia.
2. Contadores
Un circuito contador tiene la función de modificar el contenido de los datos almacenados en un registro al recibir un impulso, en el sentido de incrementar o reducir en un intervalo mínimo el valor numérico de la configuración binaria almacenada.
Esta información puede ser codificada en alguno de los códigos binarios más comunes (8421, 2421, exceso a 3, etc.)
Es fácil deducir que en un dispositivo semejante realizará dos funciones básicas:
– Almacenamiento temporal de la información.
– generación de una secuencia progresiva de configuraciones lógicas binarias a partir de la palabra almacenada.
Los contadores se pueden clasificar en dos grandes grupos fundamentales:
– Contadores asíncronos o de propagación serie.
– Contadores síncronos o contadores paralelos.
Dentro de cada categoría los contadores tienen un número máximo de combinaciones, a partir del cual se repite la secuencia. Este número de combinaciones se denomina módulo.
2.1 Contadores asíncronos.
En este tipo de contador, al cambiar de estado un biestable, este hace que se active, si corresponde, un segundo biestable, el cual puede activar un tercero y así sucesivamente. Por este motivo se denominan contadores de propagación serie.
En este tipo de contadores (asíncronos), cada biestable cambia de estado con una frecuencia que es la mitad que la del biestable anterior, lo cual se presenta de una forma optima para configurar códigos binarios naturales.
El inconveniente es que necesita un periodo mínimo de ciclo de reloj, con lo que pueda realizarse correctamente la propagación cuando está afecta a todos los bits. Dependerá, en todo caso, de la velocidad de propagación cuando esta afecta a todos los bits. Dependerá, en todo caso, de la velocidad de propagación de los datos entre los biestables. Esto es debido a que el impulso de contaje de entrada solo afecta al primer biestable y la salida de este a la entrada de reloj del segundo, y así sucesivamente.
2.2 Contadores síncronos.
En este caso todos los biestables reciben el mismo tipo de señal de reloj que provoca los cambios afecten a distintos biestables, todos se realizarán simultáneamente, con lo cual el tiempo de programación o el periodo de reloj puede llegar a ser más reducido que en los contadores asíncronos.
El inconveniente de este circuito es el elevado número de puertas AND y la cantidad de entradas que llegan a tener las últimas cuando el módulo de contador es elevado. Esto hace difícil su diseño desde el punto de vista tecnológico.
Como solución intermedia estarían los contadores síncronos con acarreo. Cada puerta AND esta conectada con la salida de la anterior, lo cual reduce el número de entradas de estas puertas.
Sin embargo, tenemos que la velocidad de propagación de cada puerta influye en la siguiente, con lo cual ser eleva el tiempo máximo de propagación (sin llegar a ser tan elevado como los asíncronos).
2.3 Contador en anillo.
Estos contadores son de tipo especial y están basados en registros de desplazamiento. Un contador de anillo cíclico consta de un conjunto de flips-flops conectados como un registro de desplazamiento, con un lazo de realimentación de las salidas a las entradas.
Los contadores cíclicos son especialmente útiles cuando se requiere terminales de salida independientes para cada estado del contador. Podría decirse que un contador cíclico lleva incorporado un decodificado en un código especial. El inconveniente mayor es que con n flip-flops solo pueden contarse n impulsos, frente a los 2n que permitiría un contador sincrónico a asíncrono con n flip-flops.
En conclusión, podemos decir que:
– Un contador en anillo de n fllip-flops tiene la ventaja de no necesitar de un decodificador de estados, pero como contrapartida solo permite contar n impulsos.
– Los posibles estados de un contador de este tipo de 4 bits son los de la tabla 1.
2.4 Contador Johnson.
El contador Johnson (también llamado en anillo invertido o de Mobius) es bastante similar al contador en anillo. La única diferencia entre ambas configuraciones es que en el Johnson la realimentación es cruzada con respecto al cíclico.
En conclusión, podemos decir de un contador Johnson que:
– Con n flip-flops permite contar hasta 2n impulsos (doble numero que uno de tipo cíclico), pero requiere un sencillo decodificador de estados como veremos.
Para obtener el decodificador adecuado para este contador, solo es precisos asignar a cada uno de los estados el numero decimal correspondiente a los impulsos recibidos.
2.5 Contadores integrados.
Gran parte de los circuitos contadores descritos en los apartados anteriores, se hallan fabricados como C.I puestos a disposición del diseño como tales. Por tanto, el usuario no necesita conocer nada más que las características de los terminales hacia afuera de dichas pastillas. Características tales como la forma de disparo, tensión de alimentación, Fan-out, potencia consumida y frecuencia máxima de funcionamiento.
La familia lógica en que se han desarrollado mayor numero de circuitos contadores es sin duda TTL, debido a su buena velocidad fundamentalmente. Sin embargo, hay ya disponibles en el mercado circuitos contadores a base de biestables MOS (MOS-CMOS), que compiten con los anteriores en consumo, precio y hasta incluso velocidad. En esta última familia, los contadores más frecuentes son los de Jonhson y en anillo.
A continuación se citan algunos de entre los más frecuentes contadores en TTL:
– Asíncronos:
– Década (7490)
– Contador modulo 12 (7492)
– Contador binario (7493)
– Síncronos:
– Década síncrona (74190)
– Contador binario síncrono (74191
– Década síncrona (74192)
3. Registro.
Un registro es un dispositivo capaz de almacenar una información de tipo binario. Un registro para almacenar una palabra binaria de 8 bits estará constituido por otros tantos biestables capaces de retener cada uno de ellos un elemento de información binaria.
Estos tipos son:
– Registro de almacenamiento simple.
– Registro de desplazamiento.
– Registros de conversión (serie-paralelo y paralelo-serie).
3.1 Registro de almacenamiento simple.
Este tipo de registros únicamente tiene la misión de almacenar temporalmente la información.
En la fig podemos observar una disposición esquemática de lo que seria un registro de 4 bits, usando cuatro básculas o biestables tipo D.
Éstas reciben la información a través de líneas de datos (b0 a b3), por las entradas D correspondientes. La información pasará al interior del registro con autorización de la señal L conectada a las entradas de reloj de los biestables. Del mismo modo podemos controlar el acceso de la información a las salidas con la señal OUT que opera a través de puertas AND.
Disponemos, pues, de un registro capaz de almacenar la información binaria y cederla en el momento preciso en el que vaya a ser utilizado.
3.2 Registro de desplazamiento.
Un registro de desplazamiento está formado por un numero determinado de biestables, en los cuales la información almacenada puede ser desplazada en un sentido u otro a los biestables contiguos.
En función de como se produzca este desplazamiento de la información caben distintos tipos de clasificaciones:
Desplazamiento lógico o aritmético.
– Lógico: los bits se desplazan conjuntamente con un bit exterior al propio registro y que constituye un bit de signo.
– Aritmético: en el cual el desplazamiento no afecta a ningún bit de signo, ni ajeno al propio registro.
Desplazamiento simple o doble.
– Simple: cuando el desplazamiento afecta un solo registro.
– Doble: el desplazamiento se propaga entre dos registros interconectados.
Abierto o cerrado.
– Abierto: cuando la información entra por un extremo y sale por el otro.
– Cerrado: la información que sale del registro vuelve a entrar por el comienzo de este.
Por último, el desplazamiento puede realizarse a derecha o a izquierda.
3.3 Registro de conversión.
Para transmitir información binaria de un punto a otro, puede realizarse en base a dos formas o filosofías distintas:
Transmisión en paralelo.
Todos los bits que constituyen la palabra de información binaria, son transmitidos simultáneamente. Por ello es necesario que el canal de transmisión tenga tantas líneas como bits contenga la palabra que se desea transmitir.
Transmisión en serie
Los bits son transmitidos por una sola línea de forma consecutiva (uno después de otro), por lo cual son necesarios tantos impulsos de reloj como bits tenga la palabra información. Se trata, por tanto de una información más lenta que la transmisión en paralelo (para la cual solo es necesario un ciclo de reloj); sin embargo, el número de líneas es solo una línea con el siguiente ahorro que ello supone, sobre todo si la distancia entre los dos puntos es considerable.
Debido a las distintas formas de manejar la información en los procesadores de datos (serie-paralelo), son necesarios dispositivos de conversión (paralelo-serie o serie-paralelo) que realicen correctamente estas funciones.
Convertidores paralelo-serie.
Se realiza esta función con la ayuda de un registro de desplazamiento (tipo ASAD), con entrada en paralelo a través de la línea de datos de BUS. Estos datos se cargan en el registro a través de la línea L, que aporta un impulso de reloj para que los datos puedan entrar simultáneamente a través del BUS de entrada.
En el caso de los convertidores serie-paralelo funciona igual que el convertidor paralelo-serie pero al revés.