Introducción
La Lógica Secuencial es el Método de ordenamiento de acciones, razonamiento, y expresión de la automatización de maquinaria, equipos y procesos. Y su interrelación con el hombre. Esto nos da por consiguiente los binomios, hombre-máquina, hombre-proceso.
Cada sistema digital debe tener circuitos combinacionales, la mayoría de los sistemas incluyen también elementos de memoria, los cuales requieren que el sistema se describa en términos de la lógica secuencial.
Los elementos de memoria son capaces de almacenar información binaria dentro de ellos. La información binaria almacenada en los elementos de memoria en un tiempo dado define el estado del circuito secuencial. El circuito secuencial recibe la información binaria de las entradas externas.
Hay dos tipos de circuitos secuenciales. Su clasificación depende del tiempo de sus señales. Un circuito secuencialsincrónicoes un sistema cuyo comportamiento puede definirse a partir del conocimiento de sus señales en instantes discretos de tiempo. El comportamiento de un circuito asincrónicodepende del orden en que cambien las señales de entrada y puedan ser afectadas en un instante dado de tiempo.
En los sistemas asincrónicos tipo compuerta, los elementos de memoria consisten en compuertas lógicas cuyos retardos de propagación constituyen la memoria requerida. Así, un circuito secuencial asincrónico puede tomarse como un circuito combinacional con retroalimentación.
Un sistema lógico secuencial sincrónico, por definición, puede usar señales que afecten los elementos de memoria solamente en instantes de tiempo discreto. Una forma de lograr este propósito es usar pulsos de duración limitada a través del sistema de tal manera que la amplitud de un pulso represente lógica 1 y otra amplitud de pulso (o la ausencia de un pulso) represente lógica 0.
Los circuitos secuenciales sincrónicos que usan pulsos de reloj en las entradas de los elementos de memoria se llaman circuitos secuenciales temporizados.
LÓgica Secuencial
En la lógica secuencial a diferencia de la lógica combinatoria se hace uso de un elemento básico llamado flip-flop. El flip-flopes un elemento de memoria que almacena un bitde información. Algunos textos usan este nombre para referirse a los cerrojos, pero en la mayoría de las publicaciones se hace la diferencia entre flip-flopy latch. Este último término es el que traducimos como cerrojo.
CIRCUITO SECUENCIAL
El comportamiento de un circuito secuencial se determina mediante las entradas, las salidas y los estados de sus flip-flops. Tanto las salidas como el estado siguiente son función de las entradas y del estado presente. El análisis de los circuitos secuenciales consiste en obtener una tabla o un diagrama de las secuencias de tiempo de las entradas, salidas y estados internos. También es posible escribir expresiones booleanas que describen el comportamiento de los circuitos secuenciales. Sin embargo, esas expresiones deben incluir la secuencia de tiempo necesaria ya sea en forma directa o indirecta.
Un diagrama lógico se reconoce como el circuito de un circuito secuencial e incluye los flip-flops. Los flip-flops puede ser cualquier tipo y el diagrama lógico puede o no incluir compuertas combinacionales.
A diferencia de los circuitos lógicos combinacionales, los circuitos secuenciales tiene memoria; pueden reflejar en su salida el efecto de una señal de entrada que hubo segundos o días antes.
Los circuitos AND, OR y NOT funcionan sin memoria. Por ejemplo, en el caso del circuito AND, una salida lógica 1 es obtenida únicamente durante el tiempo que todas las entradas estén simultáneamente en lógica 1. Si cada entrada pasa por lógica 1 de una manera secuencial, no-simultánea, la salida permanecerá aquí la necesidad en lógica 0. De un circuito electrónico que se pueda colocar en uno cualquiera de los dos estados lógicos indefinidamente, hasta que sea intencionalmente pasado al estado contrario. Tal circuito es conocido como BIESTABLE, o simplemente FLIP-FLOP. El biestable, en efecto, provee una memoria, ya que puede "recordar" el último estado en el que había sido colocado
TABLAS DE ESTADO
Una tabla de estado es un listado que contiene la secuencia de los estados de entradas, estados internos y salidas del sistema, considerando todas las posibles combinaciones de estados actuales y entradas. Las tablas de estado por lo general se dividen en tres partes: estados actuales, estados siguientes y salidas, tal como se muestra en la tabla 7.1.1.
Estados actuales |
Entrada |
Estados siguientes |
Salida |
||
A |
B |
X |
A |
B |
Y |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
Tabla 7.1.1. Tabla de estado (circuito Figura 7.1.3)
La tabla de estado para un circuito secuencial con mflip-flopsy nentradas tiene 2m+nfilas. El estado siguiente tiene mcolumnas, y el número de columnas depende del número de salidas.
Existe una forma más conveniente de organizar la información en la tabla de estado, la cual se muestra en la Tabla 7.1.2, donde los estados se agrupan de tal modo que la tabla se puede traducir a un diagrama de estados. Al igual que la tabla anterior esta tiene tres secciones: estados actuales, estados siguientes y salidas, sin embargo los estados se agrupan dependiendo del valor de las entradas. La sección de estados actuales agrupa los estados que ocurren antes de una transición en la señal de reloj, la sección de estados siguientes lista aquellos que ocurren después de la transición del reloj y la sección de salidas reúne los estados que se dan en el mismo instante de los estados actuales.
Estado Actual |
Estado Siguiente |
Salida |
||
X=0 |
X=1 |
X=0 |
X=1 |
|
AB |
AB |
AB |
Y |
Y |
00 |
00 |
01 |
0 |
0 |
01 |
00 |
11 |
1 |
0 |
10 |
00 |
10 |
1 |
0 |
11 |
00 |
10 |
1 |
0 |
Tabla 7.1.2. Tabla de estado (forma simplificada)
Haciendo un análisis de la operación del circuito de la figura 7.1.3. se puede observar lo siguiente: Cuando la variable X=0los estados actualesAy Bcambian a 0 después de la transición de reloj , y cuando X=1, los estados de las salidas se comportan tal como se resume en la tabla 7.1.2. Se plantea como ejercicio verificar la información de la tabla.
Diagramas de Estado
Un diagrama de estados es una representación gráfica que indica la secuencia de los estados que se presentan en un circuito secuencial, teniendo en cuenta las entradas y salidas. El diagrama se forma con círculos y líneas. Los circulos representan los estados del circuito secuencial y cada uno de ellos contiene un número que identifica su estado. Las líneas indican las transiciones entre estados y se marcan con dos números separados por un (/), estos dos números corresponden a la entrada y salida presentes antes de la transición. A manera de ejemplo observe la línea que une los estados 00y 01en el diagrama de estado de la figura 7.1.4. Esta línea marcada como 1/0 indica que el circuito secuencial se encuentra en el estado 00mientras la entrada X=0y la salida Y=0, y que después de que ocurra una transición en la señal de reloj el estado cambia a 01.
Figura 7.1.4. Diagrama de estados correspondiente a la Tabla 7.1.2
Las líneas que salen y regresan al mismo círculo indican que no hay cambio en el estado, cuando se presentan la entrada y salida indicadas.
Tablas de Transición de flip-flops
Las tablas de transición se usan en conjunto con las de estado y representan la tabla de verdad de los flip-flopscon los cuales se desea implementar el circuito secuencial. La tabla contiene los estados actuales y siguientes según el estado de las entradas de los flip-flops. La tabla 7.1.3 corresponde a la tabla de transición del flip-flop JK.
Transiciones de Salida |
Entradas al flip-flop |
||
Qi |
Qi+1 |
J |
K |
0 |
0 |
0 |
X |
0 |
1 |
1 |
X |
1 |
0 |
X |
1 |
1 |
1 |
X |
0 |
Tabla 7.1.3. Tabla de transición del flip-flop JK
En la tabla, Qicorresponde al estado actual y Qi+1al estado siguiente, Jy K son las entradas de los flip-flops.La información sombreada en la tabla se interpreta de la siguiente forma: cuando el estado presente de la salida Q=0y las entradas J=1y K=X(Xindica una condición de no importa, 1o 0), después de un pulso de reloj en el flip-flopla salida cambia al estado siguiente Q=1.
Mapas de Karnaugh
Generalmente la tablas de estado y de transición de losflip-flopsse fusionan en una sola para agrupar la información de tal forma que permitan construir los Mapas de Karnaugh para simplificar las funciones lógicas. La tabla 7.1.4 corresponde a una tabla de estado de un contador de tres bits con flip-flops JK. Observe que esta tabla incluye las entradas Jy Kpara cada una de la transiciones (estado actual a estado siguiente). Las regiones sombreadas en la tabla indican que el estadoQicambia estando presentes las entradas Jiy Kicorrespondientes después de una transición del reloj.
Estado Actual |
Estado Siguiente |
Entradas de los flip-flop |
|||||||||
Q2 |
Q1 |
Q0 |
Q2 |
Q1 |
Q0 |
J2 |
K2 |
J1 |
K1 |
J0 |
K0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
X |
0 |
X |
1 |
X |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
X |
1 |
X |
X |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
X |
X |
0 |
1 |
X |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
X |
X |
1 |
X |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
X |
0 |
0 |
X |
1 |
X |
1 |
0 |
1 |
1 |
1 |
0 |
X |
0 |
1 |
X |
X |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
X |
0 |
X |
0 |
1 |
X |
1 |
1 |
1 |
0 |
0 |
0 |
X |
1 |
X |
1 |
X |
1 |
Tabla 7.1.4. Tabla de estado y transición de un contador de 3 bits
Los Mapas de Karnaughse emplean para definir la lógica de las entradas de los flip-flopsy se debe hacer uno para cada una de las entradas.La figura 7.1.5 corresponde alMapa de karnaugh de la entrada J1. de la tabla de estado 7.1.4.
Figura 7.1.5. Mapa de Karnaugh para el estado J1
Observe que cada celda en el mapa representa uno de los estados actuales de la secuencia en la tabla de estado. Una vez asignados todos los estados posibles a cada celda en el Mapa de Karnaugh se procede a simplicar y deducir las exprexiones lógicas. En la figura 7.1.5 se observa que la expresión correspondiente a la entrada J1es:
J1 = Q0
Esta expresión indica que en el circuito lógico la salida Q0debe ir conectada a la entrada J1. En la siguiente lección se explicara de una forma detallada el procedimiento para el Diseno de Circuitos Secuenciales.
TIPOS DE CIRCUITOS SECUENCIALES
Sistemas Sincrónicos (Síncronos o con clock)
El Clock
logica secuencial sincrona
La gran mayoría de los circuitos digitales contienen flip-flopsy compuertas para realizar funciones específicas. El diseño de estos circuitos inicia a partir de las especificaciones y finaliza con las funciones lógicas, de las cuales se obtiene el circuito lógico.
Inicialmente se debe crear una tabla de estado o representación equivalente, para identificar la secuencia de estados que deseada. Luego de seleccionar el número y tipo de flip-flopscon los cuales se desea hacer el diseño, se deduce la lógica combinatoria necesaria para generar la secuencia de estados.
Los circuitos secuenciales se pueden analizar y diseñar siguiendo un procedimiento claramente definido que consiste en los siguientes pasos:
Para explicar este método se desarrollará un ejemplo aplicado a un diseño particular.
Ejemplo
Diseñar el circuito secuencial del proceso que se cumple de acuerdo al diagrama de estados de la figura 7.2.1.
Paso 1. Asignación de estados
Este proceso tiene cuatro estados, una entrada y no tiene salidas (se pueden considerar como salidas las de losflip-flops). Para representar los cuatro estados se usarán dosflip-flopsidentificados como Ay Bde tipo JK. y la entrada será identificada como X.
Figura 7.2.1. Diagrama de estados
Paso 2. Contrucción del diagrama del transición o de estado
La figura 7.2.1 corresponde al diagrama de transición. Analizando este diagrama se observa que el estado 10se mantiene mientras X=0y en el momento que X=1pasa al estado 11, después al estado 00y finalmente al estado 01, hasta el momento que nuevamente X=0, volviendo de esta forma al estado AB=10. Adicionalmente observe que los estados 0010y 11, se mantienen cuando X=0 y el estado 01 se mantiene cuandoX=1.
Paso 3. Elaboración de la tabla de estados
A partir del diagrama de estados y de la tabla de transción del flip-flop JKse puede contruir la tabla de estados (ver tabla 7.2.1).
Entrada |
Estado Actual |
Estado Siguiente |
Excitaciones |
|||||
X |
A |
B |
A |
B |
JA |
KA |
JB |
KB |
0 |
0 |
0 |
0 |
0 |
0 |
X |
0 |
X |
1 |
0 |
0 |
0 |
1 |
0 |
X |
1 |
X |
0 |
0 |
1 |
1 |
0 |
1 |
X |
X |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
X |
X |
0 |
0 |
1 |
0 |
1 |
0 |
X |
0 |
0 |
X |
1 |
1 |
0 |
1 |
1 |
X |
0 |
1 |
X |
0 |
1 |
1 |
1 |
1 |
X |
0 |
X |
0 |
1 |
1 |
1 |
0 |
0 |
X |
1 |
X |
1 |
Tabla 7.2.1. Tabla de estado
Para la simplificación de los circuitos combinatorios es conveniente que se presenten condiciones de"no importa", ya que estas permiten simplicar las funciones lógicas y por tanto el tamaño del circuito lógico.
Paso 4. Obtención de ecuaciones o funciones lógicas.
En este paso se obtienen las funciones lógicas para las entradas de losflip-flops (JA, KA, JBy KB)y el objetivo es deducir la lógica combinatoria de estado siguiente, mediante el uso de Mapas de Karnaugh. A continuación en la figura 7.2.2. se muestran los Mapas de Karnaughy las funciones lógicas correspondientes.
Figura 7.2.2. Mapas de Karnaugh para las entradas JA , JB, KAy KB
Paso 5. Realización de circuitos lógicos
Este es el último paso del diseño, y consiste en implementar la lógica combinacional a partir de las ecuaciones lógicas obtenidas en el paso anterior para las entradas Jy Kde los flip-flops. Las conexiones correspondientes, se efectúan mediante el uso de compuertas e inversores y en la figura 7.2.3. se muestra el diseño final del circuito lógico.
Figura 7.2.3. Circuito Lógico del Diseño
Diseño de Circuitos Secuenciales conflip-flopsD
El diseño del circuito de la figura 7.2.3 se hizo con flip-flops JK. En esta sección veremos como se realiza el diseño de circuitos secuenciales mediante el uso de flip-flopstipo D.
A diferencia de las entradas de los flip-flops JK, las entradas en los flip-flops D corresponden exactamente a los estados siguientes. Por esta razón en la tabla de estado no se requiere una columna independiente para las excitaciones. En el siguiente ejemplo se verá como realizar el diseño de circuitos secuenciales con flip-flops D.
Contadores y Registros
Los contadores digitales son elementos importantes de muchos sistemas digitales. Además de efectuar la función obvia de contar, tienen la capacidad de integrarse en equipos para la medición digital de cantidades como tiempo, velocidad, frecuencia y distancia, entre otras. Los contadores encuentran también usos muy difundidos en la instrumentación digital.
Los registros son dispositivos que almacenan temporalmente un conjunto de datos en forma de palabras binarias. Por lo general tienen tamaños de 8, 16, o 32bits, y se encuentran conformados por un conjunto de flip-flops, en los cuales se almacena la información. Estos dispositivos son empleados en los computadores para almacenar temporalmente datos, con los cuales se realizan operaciones binarias.
Contadores de Propagación
Los contadores digitales o binarios en esencia son un grupo de flip-flopsdispuestos de tal manera que sus salidas proporcionan una secuencia determinada como respuesta a los acontecimientos que ocurren a la entrada del reloj. Estos acontecimientos pueden ser por lo general pulsos de reloj (sincrónicos) o acontecimientos aleatorios (asincrónicos) alimentados como entradas por la terminal de reloj de los flip-flops. Los contadores de propagación se basan en este último principio para generar secuencias binarias que cambian como respuesta a eventos.
Para conformar un contador de n bitssolo basta tener n flip-flops, uno para cada bitde información. A continuación se dará una descripción sobre la estructura y funcionamiento de los contadores de propagación más comunes en lógica secuencial.
Contadores Sincrónicos
El inconveniente que se presenta con los contadores de propagación de la lección anterior, consiste básicamente en que no todos los flip-flopscambian simultáneamente con la señal del reloj. Los contadores asincrónicos deben esperar que la señal se propague desde el primerflip-flopque representa el bitmenos significativo hasta el flip-flopdel bitmas significativo.
En los contadores sincrónicos a diferencia de los contadores de propagación o asíncronicos, la señal de reloj se aplica simultáneamente a todos los flip-flops. Estos contadores por lo general tienen más circuitería que los contadores de propagación y están conformados por flip-flops J-K.
Ejemplos de Contadores en Circuito Integrado
En el comercio existen varios contadores en circuito integrado que aparte de realizar la función de generar secuencias binarias, tiene otras funciones adicionales que generalmente tienen que ver con la configuración y modo de funcionamiento. Entre las funciones que se pueden encontrar en estos cirsuitos integrados se encuentran opciones de selección de secuencia ascendente o descendente, borrado así como inicialización entre otras.
A continuación se presenta una lista de algunos contadores en circuito integrado de uso difundido en Electrónica Digital, con una descripción detallada de sus pines.
Nombre |
Imagen |
Terminales |
Descripción |
Contador Binario Decadal Up/Down |
PE |
(PresetEnable): Esta entrada se utiliza para cargar los datos Pi en las salidas Qi |
|
P0...P3 |
(Presets): Entradas de fijación. Se utilizan en forma conjunta con PE |
||
Q0...Q3 |
(Quits): Salidas binarias |
||
C.I' |
(Carry In). Entrada para detener la secuencia. En 0 Cuenta, en 1 se detiene |
||
C.O' |
(CarryOut). Salida para indicar rebasamiento. 0 sin acarreo, 1 con acarreo |
||
B/D |
(Bin/Dec): Selección del tipo de funcionamiento. 1 Binario, 0 decadal |
||
U/D |
(Up/Down): Entrada de selección de secuencia. 1 Ascendente, 0 descendente |
||
Vdd, Gnd |
Alimentación |
||
Contador Binario (14 bits) |
Q1 ... Q13 |
(Quits): Salidas Binarias |
|
RES |
(Reset): Entrada de Borrado |
||
INP |
(Input): Entrada Asincrónica para incremento del contador |
||
Vdd, Gnd |
Alimentación |
||
Contador Binario (12 bits) |
Q0 ... Q11 |
(Quits): Salidas binarias |
|
CLK |
(Clock): Entrada de reloj |
||
RES |
(Reset): Entrada de Borrado |
||
Vdd, Gnd |
(Voltaje, Ground): Alimentación |
||
Contador Decadal (4 bits) |
CLR' |
(Clear): Entrada de borrado, en cero inicializa todas las salidas a cero |
|
CLK |
(Clock): Entrada de Reloj |
||
A, B, C, D |
Entradas de Datos Paralelo |
||
ENP, ENT |
Entradas de Sostenimiento |
||
LD' |
(Load'): Entrada de habilitación de carga de datos. Se usa de forma conjunta con las entradas A, B, C, D |
||
QA, QB, QC, QD |
(Quits): Salidas |
||
RCO |
Salida de Rebasamiento. Cuando el contador llega al último dígito se genera un acarreo (1) |
||
Contador Binario (4 bits) |
CLR' |
(Clear): Entrada de borrado, en cero inicializa todas las salidas a cero |
|
CLK |
(Clock): Entrada de Reloj |
||
A, B, C, D |
Entradas de Datos Paralelo |
||
ENP, ENT |
Entradas de Sostenimiento |
||
LD' |
(load): Entrada de habilitación de carga de datos. Se usa de forma conjunta con las entradas A, B, C, D |
||
QA, QB, QC, QD |
(Quits): Salidas |
||
RCO |
Salida de Rebasamiento. Cuando el contador llega al último dígito se genera un acarreo (1) |
||
Contador Decadal Up/Down (4 bits) |
D0, D1, D2, D3 |
Entradas Paralelo |
|
CTEN' |
(CountEnable'): Entrada de habilitación para el contador |
||
D/U' |
(Down/Up'): entrada de selección de la secuencia, ascendente o descendente |
||
Q0, Q1, Q2, Q3 |
(Quits): salidas binarias |
||
LD' |
(load): entrada de carga de los datos presentes en D0...D3 |
||
M/m |
(Max/\): salida de señalización de rebasamiento del contador. En 1 indica que hay carry al rebasar el número 1001 en modo ascendente o cuando alcanza el 0000 en modo descendente. |
||
RCO |
Salida de propagación para conexión en cascada con otros contadores |
||
CLK |
(Clock): entrada de reloj |
||
VDD, GND |
Alimentación |