Vous êtes sur la page 1sur 24

Nombre del curso: Sistemas Digitales

Nombre del docente: Hctor Vargas


EIE 446 - SISTEMAS DIGITALES
Tema 10: Registros de desplazamiento
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 in
Data in
Data in
Data out Data out Data out
Data out Data out
Serial in/shift right/serial out Serial in/shift left/serial out Parallel in/serial out
Parallel in/parallel out Serial 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.
C
FF0
CLK
C
FF1
C
FF2
C
FF4
D
0
D
1
D
2
D
4
Serial
data
output
Serial
data
input
C
FF3
D
3
Q
4
Q
0
Q
1
Q
2
Q
3
1 1 1 1 1 1
CLK
CLK CLK 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.
C
FF0
CLK
C
FF1
C
FF2
D
0
D
1
D
2
Serial
data
input
C
FF3
D
3
Q
0
Q
1
Q
2
Q
3
1
C
FF0
CLK
C
FF1
C
FF2
D
0
D
1
D
2
Serial
data
input
C
FF3
D
3
Q
0
Q
1
Q
2
Q
3
0 1
C
FF0
CLK
C
FF1
C
FF2
D
0
D
1
D
2
Serial
data
input
C
FF3
D
3
Q
0
Q
1
Q
2
Q
3
1 0 1
C
FF0
CLK
C
FF1
C
FF2
D
0
D
1
D
2
Serial
data
input
C
FF3
D
3
Q
0
Q
1
Q
2
Q
3
1 1 0 1
C
FF0
CLK
C
FF1
C
FF2
D
0
D
1
D
2
Serial
data
input
C
FF3
D
3
Q
0
Q
1
Q
2
Q
3
1 X 1 0 1
C
FF0
CLK
C
FF1
C
FF2
D
0
D
1
D
2
Serial
data
input
C
FF3
D
3
Q
0
Q
1
Q
2
Q
3
1 X 1 0 1
CLK CLK CLK CLK
Despus de 4 pulsos de reloj, los datos estn disponibles en la salida paralela.
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.
(1)
(2)
(9)
(8)
S
C C C C
R
S S S S
C C C C
S S S
(3) (4) (5) (6) (10) (11) (12) (13)
R R R R R R R
CLK
Q
0
Q
1
Q
2
Q
3
CLR
Q
4
Q
5
Q
6
Q
7
Serial
inputs
A
B
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.
CLK
Q
0
Q
1
Q
2
Q
3
CLR
Q
4
Q
5
Q
6
Q
7
Serial
inputs
A
B
Outputs
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.
C
D
G
2
C
D
G
5
C
D
G
3
G
6
C
D
G
4
G
7 G
1
FF0 FF1 FF2 FF3
D
0
D
1
D
2
D
3
Q
0
Q
1
Q
2
Q
3
SHIFT/LOAD
CLK
Serial
data out
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.
C
SRG 8
(1)
(10)
(15)
(2)
(11) (12) (13) (14) (3) (4) (5) (6)
(9)
(7)
D
0
D
1
D
2
D
3
D
4
D
5
D
6
D
7
Q
7
Q
7
SH/LD
CLK
SER
CLK INH
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
Pattern is loaded
when J1 is LOW
Q
7
is labeled
Q
H
in Multisim
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.
Load
Q
7
Clk
MSB
Registro de desplazamiento bidireccional
CLK
RIGHT/LEFT
Serial data in
Q
0
Q
1
Q
2
Q
3
Shift right
Shift left
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.
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.
(1)
(15) (14) (13) (12)
(3) (4) (5) (6)
(9)
(10)
(2)
(7)
(11)
C
SRG 4
D
0
D
1
D
2
D
3
CLK
SL SER
Q
0
Q
1
Q
2
Q
3
SR SER
S
1
S
0
CLR
La siguiente diapositiva muestra un
ejemplo de diagrama de tiempo
Registro de desplazamiento universal
Parallel
data
inputs
Shift right
Mode
control
inputs
Parallel
outputs
Clear Load
Shift left Inhibit
Clear
CLR
S
1
SR SER
SL SER
D
0
D
1
D
2
D
3
Q
0
Q
1
Q
2
Q
3
S
0
CLK
Serial
data
inputs
Contadores basados en registros de desplazamiento
C
Q
0
FF0
CLK
C
Q
1
FF1
C
FF2
C
Q
3
FF3
D
0
D
1
D
2
D
3
Q
2
Q
3
Q
3
C
Q
0
FF0
CLK
C
Q
1
FF1
C
FF2
C
Q
3
FF3
J
0
J
1
J
2
J
3
Q
2
Q
0
Q
1
K
0
K
1
K
2
K
3
Q
2
Q
3
Q
Q
3
3
Los registros de desplazamiento pueden formar contadores al hacer re-
circular 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
o con una serie de flip-
flops J-K. Aqu Q
3
y Q
3
se
realimentan a las entradas
J y K.
Contador Johnson
C
Q
0
FF0
J
0
Q
0
K
0
C
Q
1
F
F
1
J
1
Q
1
K
1
C
FF2
J
2
Q
2
K
2
Q
2
C
Q
3
F
F
3
J
3
K
3
Q
3
Q Q
3 3
trenza
Otra vista que ilustra el layout del contador Johnson.
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 Q
0
Q
1
Q
2
Q
3
0 0 0 0
1 0 0 0
1 1 0 0
1 1 1 0
1 1 1 1
0 1 1 1
0 0 1 1
0 0 0 1
0
1
2
3
4
5
6
7
Cuales son los tres estados que faltan?
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 flip-
flops tipo D. Observe la
realimentacin.
Al igual que el contador
Johnson, tambin se puede
implementar con flip-flops J-K.
C
Q
0
FF0
CLK
C
Q
1
FF1
C
FF2
C
Q
3
FF3
D
0
D
1
D
2
D
3
Q
2
Q
3
C
Q
0
FF0
CLK
C
Q
1
FF1
C
FF2
C
Q
3
FF3
J
0
J
1
J
2
J
3
Q
2
Q
0
Q
1
K
0
K
1
K
2
K
3
Q
2
Q
3
Q
Q
3
3
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.
C
Q
0
FF0
J
0
Q
0
K
0
C
Q
1
F
F
1
J
1
Q
1
K
1
C
FF2
J
2
Q
2
K
2
Q
2
C
Q
3
F
F
3
J
3
K
3
Q
3
Q Q
3 3
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).
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.
1 2 3 4 7 8 9 10 5 6
CLK
Q
0
Q
1
Q
3
Q
4
Q
2
Q
5
Q
6
Q
7
Aplicaciones de los registros de desplazamiento
Los registros de desplazamiento se pueden utilizar para retardar una seal
digital en una cantidad predeterminada.
Q
7
Q
7
A
B
Data out
CLK
40 MHz
Data in
CLK
Data in
Data out
t
d
C
SRG 8
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?
El retardo para cada reloj
es 1/40 MHz = 25 ns
El retardo total es
8 x 25 ns = 200 ns
25 ns
= 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



Cargar


Bidireccional
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.
BIBLIOGRAFA
Libro base: Fundamentos de Sistemas Digitales. Autor: Tomas L. Floyd.
Libro complemento: Principios de Diseo Digital. Autor: Daniel D. Gaski.

Vous aimerez peut-être aussi