tema-11 (1)

24
Nombre del curso: “Sistemas Digitales” Nombre del docente: Héctor Vargas EIE 446 - SISTEMAS DIGITALES Tema 10: Registros de desplazamiento

Transcript of tema-11 (1)

Page 1: tema-11 (1)

Nombre del curso: “Sistemas Digitales”

Nombre del docente: Héctor Vargas

EIE 446 - SISTEMAS DIGITALES

Tema 10: Registros de desplazamiento

Page 2: tema-11 (1)

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.

Page 3: tema-11 (1)

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

Page 4: tema-11 (1)

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.

C

FF0

CLK

C

FF1

C

FF2

C

FF4

D0 D1 D2 D4

Serialdataoutput

Serial

datainput

C

FF3

D3 Q4Q0 Q1 Q2 Q3

1 1 1 1 1 1

CLK CLK CLK CLK CLK

Page 5: tema-11 (1)

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.

C

FF0

CLK

C

FF1

C

FF2

D0 D1 D2

Serialdatainput

C

FF3

D3Q0 Q1 Q2 Q3

1

C

FF0

CLK

C

FF1

C

FF2

D0 D1 D2

Serialdatainput

C

FF3

D3Q0 Q1 Q2 Q3

0 1

C

FF0

CLK

C

FF1

C

FF2

D0 D1 D2

Serialdatainput

C

FF3

D3Q0 Q1 Q2 Q3

1 0 1

C

FF0

CLK

C

FF1

C

FF2

D0 D1 D2

Serialdatainput

C

FF3

D3Q0 Q1 Q2 Q3

1 1 0 1

C

FF0

CLK

C

FF1

C

FF2

D0 D1 D2

Serialdatainput

C

FF3

D3Q0 Q1 Q2 Q3

1X 1 0 1

C

FF0

CLK

C

FF1

C

FF2

D0 D1 D2

Serialdatainput

C

FF3

D3Q0 Q1 Q2 Q3

1X 1 0 1

CLK CLK CLK CLK

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

Page 6: tema-11 (1)

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.

(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

Q0 Q1 Q2 Q3

CLR

Q4 Q5 Q6 Q7

Serial

inputs

A

B

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

Page 7: tema-11 (1)

Diagramas de Tiempo del 74HC164A

● A la derecha se muestra

las formas de onda

características del

74HC164A. Observe que

B actúa como señal de

habilitación activa en

ALTO para el ingreso de

los datos en A.

● Recuerde que en CMOS

las entradas no usadas

deberían siempre estar

conectadas a un nivel

lógico; las salidas no

usadas pueden quedar

abiertas.

CLK

Q0

Q1

Q2

Q3

CLR

Q4

Q5

Q6

Q7

Serial

inputs

A

B

Outputs

Clear Clear

Page 8: tema-11 (1)

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.

C

D

G2

C

D

G5

C

D

G3G6

C

D

G4G7G1

FF0 FF1 FF2 FF3

D0 D1 D2 D3

Q0 Q1 Q2 Q3

SHIFT/LOAD

CLK

Serial

data out

Page 9: tema-11 (1)

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.

C

SRG 8(1)

(10)

(15)

(2)

(11) (12) (13) (14) (3) (4) (5) (6)(9)

(7)

D0 D1 D2 D3 D4 D5 D6 D7

Q7

Q7

SH/LD

CLK

SER

CLK INH

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.

Page 10: tema-11 (1)

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

Pattern is loaded

when J1 is LOW

Q7 is labeled

QH in Multisim

Page 11: tema-11 (1)

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.

Load

Q7

Clk

MSB

Page 12: tema-11 (1)

Registro de desplazamiento bidireccional

CLK

RIGHT/LEFT

Serial data in

Q0

Q1

Q2

Q3

Shift right Shift left

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

Page 13: tema-11 (1)

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

D0 D1 D2 D3

CLK

SL SER

Q0 Q1 Q2 Q3

SR SER

S1

S0

CLR

La siguiente diapositiva muestra un

ejemplo de diagrama de tiempo…

Page 14: tema-11 (1)

Registro de desplazamiento universal

Parallel

data

inputs

Shift right

Mode

control

inputs

Parallel

outputs

Clear Load

Shift left Inhibit

Clear

CLR

S1

SR SER

SL SER

D0

D1

D2

D3

Q0

Q1

Q2

Q3

S0

CLK

Serial

data

inputs

Page 15: tema-11 (1)

Contadores basados en registros de desplazamiento

C

Q0

FF0

CLK

C

Q1

FF1

C

FF2

C

Q3

FF3

D0 D1 D2 D3Q2

Q3 Q3

C

Q0

FF0

CLK

C

Q1

FF1

C

FF2

C

Q3

FF3

J 0 J 1 J 2 J 3Q2

Q0 Q1K0 K1 K2 K3Q2 Q3

Q

Q

3

3

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

El contador Johnson se

puede realizar con una

serie de flip-flops D

… o con una serie de flip-

flops J-K. Aquí Q3 y Q3 se

realimentan a las entradas

J y K.

Page 16: tema-11 (1)

Contador Johnson

C

Q0

FF0

J 0

Q0K0

C

Q1

FF

1

J1

Q1

K1

C

FF2

J2Q2

K2Q2

C

Q3

FF

3

J3

K3

Q3

QQ

33

“trenza”

Otra vista que ilustra el layout del contador Johnson.

Page 17: tema-11 (1)

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

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?

Page 18: tema-11 (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

contador en anillo de 4 bits

construido de una serie de flip-

flops tipo D. Observe la

realimentación.

Al igual que el contador

Johnson, también se puede

implementar con flip-flops J-K.

C

Q0

FF0

CLK

C

Q1

FF1

C

FF2

C

Q3

FF3

D0 D1 D2 D3Q2

Q3

C

Q0

FF0

CLK

C

Q1

FF1

C

FF2

C

Q3

FF3

J 0 J 1 J 2 J 3Q2

Q0 Q1K0 K1 K2 K3Q2 Q3

Q

Q

3

3

Page 19: tema-11 (1)

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.

C

Q0

FF0

J 0

Q0K0

C

Q1

FF

1

J1

Q1

K1

C

FF2

J2Q2

K2Q2

C

Q3

FF

3

J3

K3

Q3

QQ

33

La desventaja de este contador es que

debe ser precargado con el patrón

deseado (usualmente un único 0 o 1) y

siempre tiene más pocos estados que el

contador Johnson (n, donde n = número

de flip-flops).

Page 20: tema-11 (1)

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.

1 2 3 4 7 8 9 105 6CLK

Q0

Q1

Q3

Q4

Q2

Q5

Q6

Q7

Page 21: tema-11 (1)

Aplicaciones de los registros de desplazamiento

● Los registros de desplazamiento se pueden utilizar para retardar una señal

digital en una cantidad predeterminada.

Q7

Q7

A

BData out

CLK40 MHz

Data in

CLK

Data in

Data out

td

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

través 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

Page 22: tema-11 (1)

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.

Page 23: tema-11 (1)

Palabras claves de la UNIDAD

Registro

Etapa

Mover

Cargar

Bidireccional

Uno o más 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.

Page 24: tema-11 (1)

BIBLIOGRAFÍA

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

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