Electrónica Básica Sistemas Secuenciales Electrónica Digital José Ramón Sendra Sendra Dpto. de Ingeniería Electrónica y Automática ULPGC CIRCUITOS SECUENCIALES Combinacional: las salidas dependen de las entradas Secuencial: las salidas dependen de las entradas y de valores anteriores de determinadas salidas ( e.d. depende de la vida pasada del circuito) Entradas Sistema combinacional Circuito de realimentación Salidas CIRCUITOS SECUENCIALES Los circuitos secuenciales pueden ser: •Asíncronos: no dependen de ninguna señal de reloj •Síncronos: dependen de un reloj Entradas Sistema combinacional Salidas Entradas Sistema combinacional Salidas que actúan como entradas Elementos de memoria Generador de impulsos de reloj Salidas CIRCUITOS SECUENCIALES Las células básicas de los circuitos secuenciales son los biestables los cuales pueden ser: •Asíncronos: no dependen de ninguna señal de reloj •Síncronos: dependen de un reloj •Activos por nivel •Activos por flanco Þ Flip-Flops Los más utilizados son: •RS •JK •D •T •etc BIESTABLES ASÍNCRONOS BIESTABLE RS NOR R Q S Q Tabla de Verdad S R Q(t+1) Q(t+1) 0 0 1 1 0 1 0 1 S 0 0 0 0 1 1 1 1 R Q(t) Q(t+1) 0 0 0 No cambia 1 0 1 0 1 0 Cuando R≠ ≠S la salida 0 1 1 sigue a la S 1 0 0 1 0 1 1 0 Indeseable 1 1 Q(t) 0 1 - Q(t) 1 0 - No cambia Reset Set Indeseable BIESTABLES ASÍNCRONOS BIESTABLE RS NOR Tabla de Transición Q(t) Q(t+1) 0 0 1 1 R Q S Q 0 1 0 1 S R 0 1 0 X X 0 1 0 BIESTABLES ASÍNCRONOS BIESTABLE RS NAND R Q S Q Tabla de Verdad S R Q(t+1) Q(t+1) 0 0 1 1 0 1 0 1 S 0 0 0 0 1 1 1 1 R Q(t) Q(t+1) 0 0 Indeseable 0 1 1 1 0 Cuando R≠ ≠S la salida 1 1 1 sigue a la R 0 0 0 0 0 1 0 1 0 No cambia 1 1 1 1 0 Q(t) 0 1 Q(t) Indeseable Set Reset No cambia BIESTABLES ASÍNCRONOS BIESTABLE RS NAND Tabla de Transición Q(t) Q(t+1) 0 0 1 1 R Q S Q 0 1 0 1 S R 1 0 1 X X 1 0 1 BIESTABLES ASÍNCRONOS BIESTABLE JK J Q K Q Oscilación para J=K=1 → Carreras → No se suelen usar → Sol: Biestable JK M/S Tabla de Verdad J K Q(t+1) Q(t+1) 0 0 1 1 0 1 0 1 J 0 0 0 0 1 1 1 1 K Q(t) Q(t+1) 0 0 0 No cambia 1 0 1 0 1 0 Cuando J≠ ≠K la salida 0 1 1 sigue a la J 1 0 0 1 0 1 1 1 0 Cambia 0 1 1 Q(t) Q(t) 0 1 1 0 Q(t) Q(t) No cambia Reset Set Cambia BIESTABLES ASÍNCRONOS BIESTABLE JK Tabla de Transición J K Q Q Q(t) Q(t+1) 0 0 1 1 0 1 0 1 J K 0 1 X X X X 1 0 BIESTABLES ASÍNCRONOS BIESTABLE TIPO T ( = JK cortocircuitando J=K) Tabla de Verdad T Q Q T Q(t) 0 0 1 1 0 1 0 1 Q(t+1) 0 1 1 0 No cambia Cambia (TOGGLE) BIESTABLES ASÍNCRONOS BIESTABLE TIPO D ( No hace nada, sirve de memoria) D Q(t) Q(t) NECESIDAD DE SISTEMAS SÍNCRONOS Generación de un GLITCH NECESIDAD DE SISTEMAS SÍNCRONOS Efecto de un GLITCH sobre un biestable BIESTABLES SÍNCRONOS Entradas asíncronas → no dependen de reloj → PRESET (poner a 1 la salida) y CLEAR (poner a 0 la salida) Activas a nivel alto Activas a nivel bajo PR PR CLR CLR No pueden estar activas a la vez BIESTABLES SÍNCRONOS Entradas de reloj → CK, CLK, CLOCK ... nivel alto CLK Disparo por nivel nivel bajo CLK flanco de subida CLK Disparo por flanco flanco de bajada CLK BIESTABLES SÍNCRONOS Entradas síncronas → dependen del reloj → R, S, J, K, T, D R J S K T BIESTABLES SÍNCRONOS Orden de prioridad: 1.- Entradas Asíncronas 2.- Entrada de Reloj 3.- Entradas Síncronas PR R PR Q S R Q S Q CLK Q CLK CLR CLR BIESTABLES SÍNCRONOS BIESTABLE RS SÍNCRONO ACTIVADO POR NIVEL R Q S Q C C 0 1 1 1 1 S X 0 0 1 1 R X 0 1 0 1 Q Q Q 0 1 1 Q Q Q 1 0 1 BIESTABLES SÍNCRONOS BIESTABLE RS SÍNCRONO CON ENTRADAS ASÍNCRONAS PR R Q S PR CLR 0 1 1 0 0 0 1 1 1 1 1 1 1 1 C X X X S X X X 0 1 0 1 R X X X 0 0 1 1 Q(t+1) 1 0 Indeseado 1* Q(t) 1 0 Indeterminado Q CLK CLR BIESTABLES SÍNCRONOS BIESTABLE RS SÍNCRONO ACTIVADO POR FLANCO (FLIP-FLOP) C S X 0 0 1 1 R X 0 1 0 1 Q Q Q 0 1 1 Q Q Q 1 0 1 R Q S CLK Q BIESTABLES SÍNCRONOS BIESTABLE JK MAESTRO ESCLAVO (MASTER-SLAVE) BIESTABLES SÍNCRONOS FLIP-FLOP JK SÍNCRONO ACTIVADO POR FLANCO J Q J K K Q CLK C S X 0 0 1 1 Q R X 0 1 0 1 Q CLK Q Q Q 0 1 Q Q Q Q 1 0 Q C S X 0 0 1 1 R X 0 1 0 1 Q Q Q 0 1 Q Q Q Q 1 0 Q BIESTABLES SÍNCRONOS BIESTABLE TIPO D C 0 0 0 0 1 1 1 1 D 0 0 1 1 0 0 1 1 Q(t) 0 1 0 1 0 1 0 1 Q(t+1) 0 1 Modo memoria 0 1 0 0 Modo transparente 1 1 D CLK Q Q BIESTABLES SÍNCRONOS FLIP-FLOP TIPO D BIESTABLES SÍNCRONOS FLIP-FLOP TIPO T REGISTROS DE DESPLAZAMIENTO REGISTRO DE DESPLAZAMIENTO ENTRADA SERIE SALIDA SERIE REGISTROS DE DESPLAZAMIENTO REGISTRO DE DESPLAZAMIENTO ENTRADA SERIE SALIDA SERIE REGISTROS DE DESPLAZAMIENTO REGISTRO DE DESPLAZAMIENTO ENTRADA SERIE SALIDA PARALELA REGISTROS DE DESPLAZAMIENTO REGISTRO DE DESPLAZAMIENTO ENTRADA SERIE SALIDA PARALELA REGISTROS DE DESPLAZAMIENTO REGISTRO DE DESPLAZAMIENTO ENTRADA PARALELA SALIDA SERIE REGISTROS DE DESPLAZAMIENTO REGISTRO DE DESPLAZAMIENTO ENTRADA PARALELA SALIDA SERIE REGISTROS DE DESPLAZAMIENTO REGISTRO DE DESPLAZAMIENTO ENTRADA PARALELA SALIDA PARALELA REGISTROS DE DESPLAZAMIENTO REGISTRO DE DESPLAZAMIENTO ENTRADA PARALELA SALIDA PARALELA CONTADORES Definición: Circuito secuencial cuyas salidas representan en un determinado código el número de impulsos que se aplican a la entrada Estructura: Biestables activados por flanco (FF) conectados entre sí Módulo (M): número de valores por los que pasa (divisor por M) Tipos: •Ascendentes •Descendentes Tipos: •Asíncronos → Los FF no comparten la misma señal de reloj •Síncronos → Los FF comparten la misma señal de reloj: •Síncronos propiamente dichos •Contadores basados en registros de desplazamiento CONTADORES CONTADORES ASÍNCRONOS Secuencia de cuenta Condiciones de funcionamiento A2 A1 A0 0 0 0 0 0 1 A0 cambia de 0 a 1 0 1 0 A0 cambia de 1 a 0; A1 cambia de 0 a 1. 0 1 1 A0 cambia de 0 a 1 1 0 0 A0 cambia de 1 a 0; A1 cambia de 1 a 0; A2 cambia 1 0 1 A0 cambia de 0 a 1 1 1 0 A0 cambia de 1 a 0; A1 cambia de 0 a 1. 1 1 1 A0 cambia de 0 a 1 CONTADORES CONTADORES ASÍNCRONOS → Utiliza FF tipo T o tipo JK QA J Entrada de impulsos a contar J Q K QC J Q Q l l K Q CLK CLK CLK l “1” QB Q l K Q l Problema → lento ya que cada FF debe esperar a que el anterior bascule Módulo = M = 2n = 23 = 8 impulsos CONTADORES CONTADORES ASÍNCRONOS → Módulo ≠ 2n Se parte de un contador de M = 2n y se conecta la primera combinación no deseada mediante una NAND a las entradas CLEAR de los FF JK o T. Ej: contador M = 12 J Entrada de impulsos a contar l K C J Q l KC l Q l K C l l J l CLK CLK CLK l “1” J Q l Q CLK l K C CONTADORES CONTADORES SÍNCRONOS → Ej: Contador M = 16 con biestables JK M/S TABLA DE TRANSICIONES SEÑALES DE CONTROL ESTADO ESTADO ACTUAL ENTRADAS SÍNCRONAS SIGUIENTE QD QC QB QA QD QC QB QA JD KD JC KC JB KB JA KA 0 0 0 0 0 0 0 1 0 X 0 X 0 X 1 X 0 0 0 1 0 0 1 0 0 X 0 X 1 X X 1 0 0 1 0 0 0 1 1 0 X 0 X X 0 1 X 0 0 1 1 0 1 0 0 0 X 1 X X 1 X 1 0 1 0 0 0 1 0 1 0 X X 0 0 X 1 X 0 1 0 1 0 1 1 0 0 X X 0 1 X X 1 0 1 1 0 0 1 1 1 0 X X 0 X 0 1 X 0 1 1 1 1 0 0 0 1 X X 1 X 1 X 1 1 0 0 0 1 0 0 1 X 0 0 X 0 X 1 X 1 0 0 1 1 0 1 0 X 0 0 X 1 X X 1 1 0 1 0 1 0 1 1 X 0 0 X X 0 1 X 1 0 1 1 1 1 0 0 X 0 1 X X 1 X 1 1 1 0 0 1 1 0 1 X 0 X 0 0 X 1 X 1 1 0 1 1 1 1 0 X 0 X 0 1 X X 1 1 1 1 0 1 1 1 1 X 0 X 0 X 0 1 X 1 1 1 1 0 0 0 0 X 1 X 1 X 1 X 1 CONTADORES CONTADORES SÍNCRONOS → Ej: Contador M = 16 con biestables JK M/S Simplificamos por Karnaugh: JD=KD=QAQBQC JC=KC=QAQB JB=KB=QA JA=KA=“1” CONTADORES CONTADORES SÍNCRONOS → Ej: Contador M = 16 con biestables JK M/S QA Entrada de impulsos a contar l QB Q J l K Q J l K l “1” l l Q J l CLK CLK CLK l QD l l J QC l K Q CLK l K CONTADORES CONTADORES SÍNCRONOS → Ej: Contador M = 16 con biestables JK M/S Podemos ahorrar puertas lógicas si nos damos cuenta que: JA=KA=“1” JB=KB=QA JC=KC=JBQB JD=KD=JCQC CONTADORES CONTADORES SÍNCRONOS → Ej: Contador M = 16 con biestables JK M/S QA C l QB Q l l K J Q J l l K Q J l CLK CLK CLK QD l l J QC l “1” l K Q CLK l K CONTADORES CONTADORES SÍNCRONOS → Ej: UP/DOWN Counter M = 5 CONTADORES CONTADORES SÍNCRONOS → Ej: UP/DOWN Counter M = 5 CONTADORES CONTADORES SÍNCRONOS DE CUALQUIER SECUENCIA → Ej: Contador de la secuencia “2, 3, 5, 1, 7, 2, 3,...” CONTADORES CONTADORES SÍNCRONOS DE CUALQUIER SECUENCIA → Ej: Contador de la secuencia “2, 3, 5, 1, 7, 2, 3,...” CONTADORES CONTADORES SÍNCRONOS BASADOS EN REGISTROS DE DESPLAZAMIENTO → CONTADOR EN ANILLO CONTADORES CONTADORES SÍNCRONOS BASADOS EN REGISTROS DE DESPLAZAMIENTO → CONTADOR JOHNSON O ANILLO INVERTIDO