Sistemas Secuenciales

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...
25 downloads 1 Views 311KB Size
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