En la presente práctica
continuaremos el tema de los registros lógicos con ejemplos prácticos para
adquirir experiencia y que nos ayuden a comprender mejor su funcionamiento en
cada caso.
Los
puntos sobre los que incidiremos son los siguientes:
Dentro de la lógica
secuencial se estudian los registros de desplazamiento, éstos consisten en
un serie de flip-flop configurados de modo la salida de uno se aplica a la
entrada del siguiente, aplicando a todos ellos en común la señal de
reloj, para garantizar la sincronía de transferencia de datos. Esta
configuración propicia un movimiento de datos entre flip-flop contiguos con
cada llegada de los flancos de reloj.
Se establecen tres conceptos,
según la clase: el método que utiliza combinaciones serie-paralelo para la
entrada y salida de datos; la dirección del desplazamiento de datos a izquierda,
a derecha o bidireccionales y por último de longitud de bit.
Como se recordará, del
sistema de numeración que, la posición de cada bit determina su peso. Este
es un buen lugar para aplicar el sistema de numeración octal y recordemos
su sencillez de conversión a binario o viceversa.
Número Octal:
X
X
X
este bit vale 20=1
este bit vale 21=2
este bit vale 22=4
Conversión de binario a decimal:
Binario
010
011
100
101
110
Decimal
2
3
4
5
6
Conversión de octal a binario:
Octal
1
3
7
0
Binario
001
011
111
000
Vamos a revisar en la
práctica, las principales características de los registros de
desplazamiento. En la figura 4-01, se aprecia la configuración de 4 flip-flop tipo D a los que se han añadido 4 interruptores, con los
que obtener las diferentes secuencias que podemos lograr.
Atención. No debe
poner más de una llave cerrada, en cualquier secuencia para evitar la
posible destrucción de los registros.
Fig. 4-01
Pulse sobre la imagen y baje una demo.
En la demo que se
adjunta a la anterior figura 4-01, se presenta la secuencia inicial
de desplazamiento de
un bit a través de la cadena de 4 registros. Los 4 indicadores L1-L4 son
cuatro LED que muestran el estado que presenta del registro en cada pulso de
reloj, con esto se puede apreciar el desplazamiento del Bit (dato) entrado en
el primer FF, estos mismos LED sirven como indicadores de salida paralelo del
registro de desplazamiento, consecuentemente por la salida Q del cuarto FF,
disponemos de la salida serie.
Mediante el cierre momentáneo
del interruptor 1, el nivel 1 de /Q de FF1, pondrá a 1 la entrada
D del mismo FF, el interruptor debe volver al estado abierto inicial una vez
ha bajado el nivel de reloj y empezará el desplazamiento del dato, al ritmo de los flancos de bajada de
los pulsos de
reloj. La combinación de otros interruptores da como resultado situaciones
que conviene experimentar.
En la siguiente figura 4-02,
se muestra la opción de desplazamiento
de tres bits a través de la cadena de 4
registros. En el momento de llegar el
flanco de subida de CLK y teniendo cerrada la llave 3, se introduce un bit
en la cadena de registros, y siguen
llegando pulsos de CLK, una vez hay 3 Bits en los 3 primeros FF, se abre la llave
3, de modo que los Bits que se han incluido en la
secuencia empiezan su desplazamiento hacia la derecha de la cadena de
registros hasta su salida por el último registro, en este caso sólo
disponemos de una cadena de cuatro con entrada en serie y la salida en
paralelo por los Q de cada FF.
Fig. 4-02
Pulse sobre la imagen y baje una demo.
De este modo, se debe proceder a realizar las combinaciones 2, 3 y 4, para comprender
las diferencias que se producen con las mismas. De hecho lo que ocurre en la
práctica es que dependiendo de la llave cerrada, los bits implicados (1, 2,
3 o 4), se desplazan a la derecha y si no son realimentados los bits de
entrada en D, se extinguen cuando llegan al final de la cadena.
Ahora, realizaremos el mismo
ejercicio sin utilizar interruptores mecánicos, usaremos puertas lógicas,
en concreto una puerta EXOR (O EXclusiva) que realice la misma función, en
la siguiente imagen se muestra dicha configuración.
Fig.2-03
Básicamente su funcionamiento es el siguiente: Con la
configuración actual, un pulso de reloj de entrada y el nivel 1 de /Q2 pasa por la EXOR
hasta el D1 del FF1, con la bajada del nivel de reloj dicho nivel 1 (1 Bit)
se transmite a la salida Q1 del FF1, llegando a la entrada D2 de FF2, un
nuevo pulso de reloj entra en FF1 y al bajar su nivel la señal de reloj,
como no ha cambiado nada en la salida de la puerta EXOR, un nuevo BIT es
introducido en el primer FF, en ese momento el nivel que permanecía en la
Q1 = D2 =1, se transfiere a la salida Q2 de FF2, lo cual cambia /Q = 0 y por
consiguiente la salida de la puerta EXOR también cambia a nivel 0, por lo
tanto D1 = 0, en la siguiente bajada del pulso de reloj el nivel 0 del dato
D1, se transfiere a la salida Q1 y entrada D2, en ese mismo momento el nivel
1 de Q2 y D3, es transferido a la salida Q3 de FF3 y D4 de FF4. La
siguiente bajada del nivel de la señal de reloj, como la salida de la
puerta EXOR, sigue sin cambios, un nuevo nivel 0 será transferido a la
cadena de FF, lo que hace avanzar un paso más a cada uno de los Bits
almacenados en cada FF, del FF1 al FF4, desplazándose hacia la derecha.