Está en la página 1de 24

EIE 446 - SISTEMAS DIGITALES

Tema 10: Registros de desplazamiento

Nombre del curso: “Sistemas Digitales”


Nombre del docente: Héctor Vargas
OBJETIVOS DE LA UNIDAD
● Identificar las formas básicas 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 específica.

● Realizar un contador en anillo a partir de un registro de desplazamiento.

● Aplicaciones de los registros de desplazamiento.


Funciones básicas 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 básicos de datos se muestran a continuación.

Data in

Data in Data out Data out Data in Data out

Serial in/shift right/serial out Serial in/shift left/serial out Parallel in/serial out

Data in

Data in

Data out Data out


Serial in/parallel out Parallel in/parallel out Rotate right Rotate left
Registros de desplazamiento con entrada y salida serie
● Los registros de desplazamiento están 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 través de los biestables.

FF0 FF1 FF2 FF3 FF4


Serial 1 1 1 1 1 1 Serial
data D0 Q0 D1 Q1 D2 Q2 D3 Q3 D4 Q4 data
input output

C C C C C

CLK
CLK
Una aplicación básica
● Un aplicación de los registros de desplazamiento es la conversión de datos
seriales a forma paralela.
● Por ejemplo, asumamos que el número binario 1011 se carga
secuencialmente, un bit a cada pulso de reloj.

Después de 4 pulsos de reloj, los datos están disponibles en la salida paralela.

FF0 FF1 FF2


FF2 FF3
FF3
Serial 1
X
0 1
0 11
0 10 11
data D00
D Q00
Q D11
D Q11
Q D22
D Q22
Q D33
D Q33
Q
input
C
C C
C C
C C
C

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 alimentación del C.I. puede
ir desde +2.0 y +6.0 V.
(9)
CLR
(8)
CLK
(1)
Serial A
R R R R R R R R
inputs B (2)
C C C C C C C C

S S S S S S S S

(3) (4) (5) (6) (10) (11) (12) (13)

Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
● Una de las dos entradas de datos seriales se podría utilizar como señal de
habilitación para el ingreso al registro de la otra. Si no se necesita una
entrada de habilitación, una de ellas puede conectarse a +Vcc.
● El 74HC164A tiene una entrada asincrónica de limpieza “Clear”. Los datos
ingresan en los flancos de subida de la señal de reloj.
Diagramas de Tiempo del 74HC164A
● A la derecha se muestra CLR

las formas de onda Serial A


características del inputs
B
74HC164A. Observe que
CLK
B actúa como señal de
habilitación activa en Q0

ALTO para el ingreso de Q1


los datos en A. Q2

● Recuerde que en CMOS Q3


Outputs
las entradas no usadas Q4
deberían siempre estar
Q5
conectadas a un nivel
lógico; las salidas no Q6

usadas pueden quedar Q7


abiertas.
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 continuación se muestra un
diagrama lógico para este tipo de registros.
D0 D1 D2 D3

SHIFT/LOAD

G1 G5 G2 G6 G3 G7 G4

Serial
D D D D
Q0 Q1 Q2 Q3 data out
C C C C

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 símbolo lógico se muestra abajo.

D0 D1 D2 D3 D4 D5 D6 D7
(11) (12) (13) (14) (3) (4) (5) (6)
(1) (9)
SH/LD SRG 8 Q7
(10)
SER
(15)
CLK INH (2) (7)
CLK C Q7

Las líneas de reloj (CLK) y reloj de inhibición (CLK INH) se conectan a una
puerta OR común, de manera que cualquiera de estas entradas se pueda usar
como un reloj de habilitación activo en BAJO y la otra, como señal de reloj de
entrada. Los datos se cargan asincrónicamente cuando SH/LD está en BAJO y
se mueven a través del registro sincrónicamente cuando SH/LD está en ALTO y
a la vez ocurre un pulso de reloj de subida.
El registro de desplazamiento 74HC165
● A continuación se muestra una simulación realizada en Multisim con el
74HC165. El generador de palabras se utiliza como fuente de datos para el
patrón 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 gráfico para observar el patrón. 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 dirección mediante una entrada de control RIGHT/LEFT.
● La siguiente simulación 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 Shift left Shift right
Serial data in
Q0
Q1
Q2
Q3
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) (4) (5) (6)


(1)
CLR SRG 4
(9)
S0
(10)
S1
(2)
SR SER
(7)
SL SER
(11)
CLK C
(15) (14) (13) (12)

La siguiente diapositiva muestra un


Q0 Q1 Q2 Q3
ejemplo de diagrama de tiempo…
Registro de desplazamiento universal
CLK

Mode S0
control
inputs S1

CLR

Serial SR SER
data
inputs SL SER

D0
Parallel D1
data
inputs D2
D3

Q0

Q1
Parallel
outputs
Q2

Q3
Shift right Shift left Inhibit
Clear Load Clear
Contadores basados en registros de desplazamiento
● Los registros de desplazamiento pueden formar contadores al hacer re-
circular un patrón de 0s y 1s. Dos contadores basados en registros de
desplazamiento importantes son el contador Johnson y el contador en anillo.

FF0 FF1 FF2 FF3


El contador Johnson se D0 Q0 D1 Q1 D2 Q2 D3 Q3
puede realizar con una C C C C
serie de flip-flops D
Q3 Q3

CLK

… o con una serie de flip- FF0 FF1 FF2 FF3


Q3
J0 Q0 J1 Q1 J2 Q2 J3 Q3
flops J-K. Aquí Q3 y Q3 se
realimentan a las entradas C C C C

Q3
J y K. K0 Q0 K1 Q1 K2 Q2 K3 Q3

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

J0 Q0

“trenza” C

K0 Q0

Q3
Q3
Q3

Q3

K1

J1
C
FF3

FF1
C

Q1

Q1
J3

K3

Q2 K2

Q2 2 J

2 FF
Contador Johnson
● El contador Johnson es útil cuando se necesita una secuencia que cambia
solo un bit a un tiempo pero tiene un número limitado de estados (2n,
donde n = número 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 0 0 0 0
1 1 0 0 0
2 1 1 0 0
3 1 1 1 0
4 1 1 1 1
5 0 1 1 1
6 0 0 1 1
Cuales son los tres estados que faltan? 7 0 0 0 1
Contador en Anillo
● El contador en anillo también se puede implementar con flip-flops tipo D o JK.

A la derecha se muestra un FF0 FF1 FF2 FF3


Q3
contador en anillo de 4 bits D0 Q0 D1 Q1 D2 Q2 D3 Q3

construido de una serie de flip- C C C C

flops tipo D. Observe la


realimentación. CLK

FF0 FF1 FF2 FF3


Q3
Al igual que el contador J0 Q0 J 1 Q1 J 2 Q2 J 3 Q3

Johnson, también se puede C C C C

implementar con flip-flops J-K. K0 Q0 K1 Q1 K2 Q2 K3 Q3


Q3

CLK
Contador en Anillo
● Esta nueva vista también ilustra el contador en anillo (el reloj no está
dibujado). EL nombre se deriva de esta característica de conexión.
FF0
La desventaja de este contador es que J0 Q0
debe ser precargado con el patrón
C
deseado (usualmente un único 0 o 1) y
siempre tiene más pocos estados que el
K0 Q0

contador Johnson (n, donde n = número


de flip-flops).

Q3
Q3
Q3

Q3

K1

J1
C
FF3

FF1
C

Q1

Q1
J3

K3
Q2 K2

Q2 2 J

2 FF
Contador en Anillo
● Un patrón común en un contador en anillo es que se puede cargar con un único
1 o 0. Esto se ilustra a continuación para un contador en anillo de 8 bits.

CLK 1 2 3 4 5 6 7 8 9 10

Q0

Q1

Q2

Q3

Q4

Q5

Q6

Q7
Aplicaciones de los registros de desplazamiento
● Los registros de desplazamiento se pueden utilizar para retardar una señal
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
través del registro?
A SRG 8 Q7
Data in Data out
B

El retardo para cada reloj CLK C


Q7
40 MHz
es 1/40 MHz = 25 ns
25 ns
El retardo total es CLK
8 x 25 ns = 200 ns
Data in

Data out
td = 200 ns
Aplicaciones de los registros de desplazamiento
● Estudiar del libro la aplicación de registros de desplazamiento UART
(Transmisor Receptor Asíncrono Universal) y el codificador de teclado.
Palabras claves de la UNIDAD
Registro Uno o más flip-flops usados para almacenar o mover datos.

Etapa Un elemento de almacenamiento en un registro.


Mover 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.

Cargar Ingresar datos a un registro de desplazamiento.

Bidireccional Que tiene dos direcciones. En un registro de desplazamiento


bidireccional, los datos almacenados se pueden mover de
derecha a izquierda.
BIBLIOGRAFÍA

Libro base: “Fundamentos de Sistemas Digitales”. Autor: Tomas L. Floyd.


Libro complemento: “Principios de Diseño Digital”. Autor: Daniel D. Gaski.

También podría gustarte