Está en la página 1de 24

EIE 446 - SISTEMAS DIGITALES Tema 10: Registros de desplazamiento

Nombre del curso: Sistemas Digitales


Nombre del docente: Hctor Vargas

OBJETIVOS DE LA UNIDAD
Identificar las formas bsicas de movimiento de datos en los registros de desplazamiento.
Explicar como funcionan los registros de desplazamiento con: entrada y salida serie, entrada serie y salida paralelo, entrada paralelo y salida serie, entrada y salida paralelo. Describir como funciona un registro de desplazamiento bidireccional. Determinar la secuencia de un contador Johnson. Configurar un contador en anillo para generar una secuencia especfica. Realizar un contador en anillo a partir de un registro de desplazamiento. Aplicaciones de los registros de desplazamiento.

Funciones bsicas de los registros de desplazamiento


Un registro de desplazamiento es un arreglo de flip-flops con aplicaciones importantes en almacenamiento y movimiento de datos. Algunos movimientos bsicos de datos se muestran a continuacin.
Data in

Data in

Data out Data out

Data in

Data out Parallel in/serial out

Serial in/shift right/serial out Data in

Serial in/shift left/serial out

Data in

Data out Serial in/parallel out

Data out Parallel in/parallel out

Rotate right

Rotate left

Registros de desplazamiento con entrada y salida serie


Los registros de desplazamiento estn disponibles en la forma de circuitos integrados o bien, pueden ser construidos mediante flip-flops como muestra la figura con un registro de datos seriales de entrada y salida de 5 bits. Cada pulso de reloj mover un bit de entrada al siguiente flip-flop. El ejemplo muestra como se mueve el bit 1 a travs de los biestables.

FF0 Serial data input

FF1 Q0

FF2 Q1

FF3 Q2

FF4 Q3

D0 C

D1 C

D2 C

D3 C

D4 C

Q4

Serial data output

CLK CLK

Una aplicacin bsica


Un aplicacin de los registros de desplazamiento es la conversin de datos seriales a forma paralela. Por ejemplo, asumamos que el nmero binario 1011 se carga secuencialmente, un bit a cada pulso de reloj.
Despus de 4 pulsos de reloj, los datos estn disponibles en la salida paralela.

FF0 Serial data input

FF1
Q0 Q 0

FF2 FF2 Q1 Q 1

FF3 FF3

1 X 0

D0 D 0 C C

1 0

D1 D 1 C C

1 0 1

D2 D 2 C C

Q2 Q 2

1 0

D3 D 3 C C

Q Q 3 3

1 1

CLK CLK

El registro de desplazamiento 74HC164A


El 74HC164A es un registro de desplazamiento de la familia CMOS para 8 bits de entrada serial y salida paralela. El voltaje de alimentacin del C.I. puede ir desde +2.0 y +6.0 V.
CLR CLK Serial inputs
(9) (8)

A B (2)

(1) R C S (3) S (4) R C S (5) R C S (6) R C S (10) R C S (11) R C S (12) R C S (13) R C

Q0

Q1

Q2

Q3

Q4

Q5

Q6

Q7

Una de las dos entradas de datos seriales se podra utilizar como seal de habilitacin para el ingreso al registro de la otra. Si no se necesita una entrada de habilitacin, una de ellas puede conectarse a +Vcc. El 74HC164A tiene una entrada asincrnica de limpieza Clear. Los datos ingresan en los flancos de subida de la seal de reloj.

Diagramas de Tiempo del 74HC164A


A la derecha se muestra las formas de onda caractersticas del 74HC164A. Observe que B acta como seal de habilitacin activa en ALTO para el ingreso de los datos en A. Recuerde que en CMOS las entradas no usadas deberan siempre estar conectadas a un nivel lgico; las salidas no usadas pueden quedar abiertas.
CLR Serial inputs CLK Q0 Q1 Q2 Outputs A B

Q3
Q4 Q5 Q6 Q7 Clear Clear

Registros de entrada paralela y salida serial


Los registros de desplazamiento se pueden utilizar para convertir datos de un formato paralelo a una salida serial. A continuacin se muestra un diagrama lgico para este tipo de registros.
D0 SHIFT/LOAD D1 D2 D3

G1

G5

G2

G6

G3

G7

G4

D C

Q0

D C

Q1

D C

Q2

D
C

Serial Q3 data out

FF0

FF1

FF2

FF3

CLK

El registro de desplazamiento 74HC165


El registro 74HC165 es un registro de desplazamiento CMOS de 8 bits de entrada paralela y una salida serie. El smbolo lgico se muestra abajo.
D0 D1 D2 D3 D4 D5 D6 D7
(11) (12) (13) (14) (3) (4) (5) (6) (1) SH/LD (10) SER (15) CLK INH (2) SRG 8 (9)

Q7

CLK

(7)

Q7

Las lneas de reloj (CLK) y reloj de inhibicin (CLK INH) se conectan a una puerta OR comn, de manera que cualquiera de estas entradas se pueda usar como un reloj de habilitacin activo en BAJO y la otra, como seal de reloj de entrada. Los datos se cargan asincrnicamente cuando SH/LD est en BAJO y se mueven a travs del registro sincrnicamente cuando SH/LD est en ALTO y a la vez ocurre un pulso de reloj de subida.

El registro de desplazamiento 74HC165


A continuacin se muestra una simulacin realizada en Multisim con el 74HC165. El generador de palabras se utiliza como fuente de datos para el patrn que se muestra en los leds verdes.
MSB

Q7 is labeled QH in Multisim

Pattern is loaded when J1 is LOW

El registro de desplazamiento 74HC165


Aqu se muestra un grfico para observar el patrn. El MSB es ALTO y est representado en la salida Q7 tan pronto como LOAD es BAJO.
MSB

Q7 Load

Clk

Registro de desplazamiento bidireccional


Un registro de desplazamiento bidireccional puede mover los datos en cualquier direccin mediante una entrada de control RIGHT/LEFT. La siguiente simulacin muestra como trabaja un registro de desplazamiento bidireccional. Observe que el nivel ALTO de los datos seriales de entrada se mueven primero desde Q3 hacia Q0.

CLK RIGHT/LEFT Serial data in


Q0 Q1 Q2 Q3

Shift left

Shift right

Registro de desplazamiento universal


Un registro de desplazamiento universal tiene capacidad de entradas y salidas paralelas y/o seriales. El 74HC194 es un ejemplo de registro de desplazamiento bidireccional universal de 4 bits.
D0 D1 D2 D3

(3)
CLR S0 S1 SR SER SL SER CLK

(4) SRG 4

(5)

(6)

(1) (9) (10) (2) (7) (11) C

(15)
Q0

(14)
Q1

(13)
Q2

(12)
Q3

La siguiente diapositiva muestra un ejemplo de diagrama de tiempo

Registro de desplazamiento universal


CLK Mode control inputs
S0 S1

CLR Serial data inputs SR SER


SL SER

D0 Parallel data inputs


D1 D2

D3 Q0 Parallel outputs
Q1 Q2 Q3

Shift right Clear Load

Shift left

Inhibit Clear

Contadores basados en registros de desplazamiento


Los registros de desplazamiento pueden formar contadores al hacer recircular un patrn de 0s y 1s. Dos contadores basados en registros de desplazamiento importantes son el contador Johnson y el contador en anillo. El contador Johnson se puede realizar con una serie de flip-flops D
CLK FF0
D0 Q0 D1

FF1
Q1 D2

FF2
Q2 D3

FF3
Q3

C Q3 Q3

o con una serie de flipflops J-K. Aqu Q3 y Q3 se realimentan a las entradas J y K.


CLK

FF0 J0 C K0 Q0 Q0 J1

FF1 Q1 J2

FF2 Q2 J3

FF3 Q3 Q3

C K1 Q1

C K2 Q2

C K3 Q3 Q3

Contador Johnson
Otra vista que ilustra el layout del contador Johnson.
FF0 J0 Q0

trenza
Q3 Q3

K0

Q0

Q3

Q3

K1

J1

FF3

FF1

Q1

Q1

J3

K3

K2
J

2 FF

C
Q2

Q2

Contador Johnson
El contador Johnson es til cuando se necesita una secuencia que cambia solo un bit a un tiempo pero tiene un nmero limitado de estados (2n, donde n = nmero de etapas). Las primeras cinco cuentas para un contador Johnson de 4 bits que est inicialmente en cero es: CLK Q0 Q1 Q2 Q3

0 1 2 3 4 5 6 Cuales son los tres estados que faltan? 7

0 1 1 1 1 0 0 0

0 0 1 1 1 1 0 0

0 0 0 1 1 1 1 0

0 0 0 0 1 1 1 1

Contador en Anillo
El contador en anillo tambin se puede implementar con flip-flops tipo D o JK.

A la derecha se muestra un contador en anillo de 4 bits construido de una serie de flipflops tipo D. Observe la realimentacin.

FF0
D0 Q0 D1

FF1
Q1 D2

FF2
Q2 D3

FF3
Q3 Q3

CLK

FF0

FF1 Q0 J
1

FF2 Q1 J
2

FF3 Q2 J
3

Al igual que el contador Johnson, tambin se puede implementar con flip-flops J-K.
CLK

J0 C K0

Q3

Q3

C Q0 K1 Q1

C K2 Q2

C K3 Q3 Q3

Contador en Anillo
Esta nueva vista tambin ilustra el contador en anillo (el reloj no est dibujado). EL nombre se deriva de esta caracterstica de conexin.
La desventaja de este contador es que debe ser precargado con el patrn deseado (usualmente un nico 0 o 1) y siempre tiene ms pocos estados que el contador Johnson (n, donde n = nmero de flip-flops).
FF3

FF0 J0
C

Q0

K0

Q0

Q3

Q3

Q3

Q3

K1

J1 FF1

Q1

Q1

J3

K3

K2
J

2 FF

C
Q2

Q2

Contador en Anillo
Un patrn comn en un contador en anillo es que se puede cargar con un nico 1 o 0. Esto se ilustra a continuacin para un contador en anillo de 8 bits.
CLK Q0 Q1 Q2 Q3
Q4 Q5

10

Q6 Q7

Aplicaciones de los registros de desplazamiento


Los registros de desplazamiento se pueden utilizar para retardar una seal digital en una cantidad predeterminada. Un registro de desplazamiento de 8-bit entrada/salida serial tiene un reloj de 40 MHz. Cual es el retardo total a travs del registro?
Data in A B CLK 40 MHz C SRG 8
Q7 Q7

Data out

El retardo para cada reloj es 1/40 MHz = 25 ns


25 ns

El retardo total es 8 x 25 ns = 200 ns

CLK Data in Data out td = 200 ns

Aplicaciones de los registros de desplazamiento


Estudiar del libro la aplicacin de registros de desplazamiento UART (Transmisor Receptor Asncrono Universal) y el codificador de teclado.

Palabras claves de la UNIDAD


Registro Etapa Mover Uno o ms flip-flops usados para almacenar o mover datos. Un elemento de almacenamiento en un registro. Mover datos binarios desde una etapa a otra dentro de un registro u otro dispositivo de almacenamiento o mover datos binarios hacia dentro o fuera de un dispositivo. Ingresar datos a un registro de desplazamiento. Que tiene dos direcciones. En un registro de desplazamiento bidireccional, los datos almacenados se pueden mover de derecha a izquierda.

Cargar Bidireccional

BIBLIOGRAFA
Libro base: Fundamentos de Sistemas Digitales. Autor: Tomas L. Floyd. Libro complemento: Principios de Diseo Digital. Autor: Daniel D. Gaski.

También podría gustarte