PRÁCTICA 9


Nombre de la práctica: Registros de corrimiento.


Objetivo de la práctica: Comprobar en el laboratorio la transferencia de datos en serie y en paralelo, utilizando en la transferencia registros de corrimiento.


Duración: 2 horas.


Material necesario:

Una fuente de voltaje de 5V
10 diodos emisores de luz (LED)
Un DIP
Las siguientes
resistencias:

Una de 22Kohms (R1), cinco de 1Kohms (R3) y diez de 330ohms (R3)

Un push botton (reset o reinicio)
1 tablillas de conexiones
(protoboard)
Los siguientes
circuitos integrados (TTL):

Un LM555, tres 74LS76 y un 74LS273

Un capacitor de 1microFarad
Alambre para conexiones
.
Un desarmador pequeño
(para ajustar el preset)
Manual
ECG Semiconductors


Autores Teléfono: 5729-6000
Prof. M. en C. Salvador Saucedo Flores extensión: 54632
Prof. Ing. Pablo Fuentes Ramos extensión: 54326
Alumno PIFI: Eduardo Flores Mejía extensión: 54629

INTRODUCCIÓN

ALMACENAMIENTO Y TRANSFERENCIA DE DATOS

    Por mucho, el uso más frecuente de los multivibradores (flip-flop), MVB, es para almacenamiento de datos o información. Los datos pueden representar valores numéricos (por ejemplo, números binarios decimales codificados en BCD). Estos datos generalmente se almacenan en grupos de multivibradores llamados registros.

    La operación que se realiza con más frecuencia sobre los datos almacenados en un multivibrador o registro es la transferencia. Esta operación comprende la transferencia de datos de un multivibrador o registro a otro. La Figura 9.1, ilustra la forma en que la transferencia de datos puede llevarse a cabo entre dos multivibradores mediante el uso de MVB tipos S-C, J-K y D. En este caso, el valor lógico que está almacenado normalmente en el MVB A es transferido al MVB B en la TPN (Transición de Pendiente Negativa) del pulso de transferencia. De este modo, después de esta TPN la salida B será la misma que la salida A.

fig9-1.gif (4862 bytes)

   Las operaciones de transferencia de la Figura 9.1, son ejemplos de transferencia sincrónica, puesto que las entradas sincrónicas y CLK (CLoK-reloj) se utilizan para realizar la transferencia. Una operación de transferencia puede obtenerse asimismo utilizando las entradas asincrónicas de un MVB. La Figura 9.2, muestra cómo obtener una transferencia asincrónica utilizando las entradas PREINICIO (PRE) y BORRAR (CLR) de cualquier tipo de MVB. Aquí las entradas asincrónicas responden a niveles BAJOS.

fig9-2.gif (3362 bytes)

   Cuando la línea de habilitación de la transferencia se mantiene en el estado BAJO, las dos salidas de la compuerta NO-Y (NAND) se conservan en ALTO, sin efecto de las salidas del MVB. Cuando la línea de habilitación de la transferencia se hace ALTA, una de las salidas de la compuerta NO-Y pasará a BAJO respondiendo del estado de las salidas A y A'. Este estado BAJO iniciará o borrará el multivibrador B al mismo estado que el multivibrador A. Esta transferencia asincrónica se hace independientemente de las entradas sincrónicas y CLK del MVB. Se denomina asimismo transferencia no secuencial, puesto que los datos llegan al multivibrador B aunque las entradas sincrónicas sean activas.


TRANSFERENCIA PARALELA DE DATOS

    La Figura 9.3, muestra la transferencia de datos de un registro a otro mediante el uso de multivibradores tipo D. El registro X consta de los multivibradores X1, X2 y X3; el registro Y consta de los MVB Y1, Y2 y Y3. Cuando se aplique el pulso de transferencia, el valor almacenado en X1 será transferido a Y1, X2 a Y2 y X3 a Y3.

fig9-3.gif (4542 bytes)

   La transferencia del contenido de registro X al registro Y es una transferencia sincrónica. También se le conoce como transferencia paralela, ya que el contenido de X1, X2 y X3 se transfiere simultáneamente a Y1, Y2 y Y3. Si se efectuara una transferencia serial, el contenido del registro X sería transferido al registro Y, un bit a la vez.

    Es importante comprender que la transferencia paralela no cambia el contenido del registro que sirve como fuente de datos.


TRANSFERENCIA SERIAL DE DATOS

    Antes de describir la transferencia serial de datos, primero es necesario examinar la constitución del registro básico de corrimiento. Un registro de corrimiento es un grupo de multivibradores conectado de tal forma que los números binarios almacenados en él son desplazados de un MVB al siguiente, con cada pulso de reloj. Sin duda, ya se conoce la forma de operar de las calculadoras electrónicas, en que los dígitos que aparecen sobre la pantalla se desplazan a la izquierda cada vez que se proporciona un nuevo dígito. Esta es la misma acción que se lleva a cabo en un registro de corrimiento.

    La Figura 9.4 a), muestra una forma de conectar varios multivibradores tipo J-K para que funcionen como un registro de corrimiento de 4 bits. Nótese que los MVB están conectados de manera que la salida de X3 se transfiere en X2, X2 en X1 y X1 en X0, Esto significa que, hasta la incidencia del pulso de corrimiento, cada MVB toma el valor almacenado anteriormente en el multivibrador a su izquierda. El MVB X3 toma un valor determinado por las condiciones presentes en sus entradas J y K cuando ocurre el pulso de corrimiento. Por ahora supondremos que las entradas J y K de X3, están conectadas a la forma de onda de ENTRADA DE DATOS que se muestra en la Figura 9.4 b). También se supondrá que todos los multivibradores se encuentran en estado 0 antes de aplicarse los pulsos de corrimiento.

fig9-4.gif (7220 bytes)

    Las formas de onda de la Figura 9.4 b), muestran la forma en que los datos de entrada pasan de la izquierda a la derecha de un MVB a otro, cuando se aplican los pulsos de corrimiento. Cuando ocurra la primera TPN al tiempo T1, cada uno de los multivibradores X2, X1 y X0 tendrán la condición J=0 y K=1 presente en sus entradas debido al estado del MVB y X0 tendrá la condición J=0, K=1 presente en sus entradas debido al estado del MVB de la izquierda. El multivibrador X3 tendrá la condición J=0, K=1 debido a la ENTRADA DE DATOS. El multivibrador X2 pasará a ALTO, el MVB X3 pasará a BAJO y los multivibradores X1 y X0 permanecerán en BAJO.

    Se puede usar una razonamiento semejante para determinar la manera en que las formas de onda cambian al T3 y T4. Note que cada TPN de los pulsos de corrimiento, cada salida del MVB toma el nivel que se encontraba presente en la salida del MVB a su izquierda antes de la TPN. Por supuesto, X3 toma el nivel que estaba presente en la ENTRADA DE DATOS anterior a la TPN.

Requisito de tiempo de retención. En este arreglo de registro de corrimiento es necesario que los MVB tengan un requisito de tiempo de retención muy pequeño, porque hay instantes en que las entradas J y K se encuentran cambiando casi al mismo tiempo que la transición CLK. Por ejemplo, la salida X3 cambia de 1 a 0 en respuesta a la TPN al tiempo T2, ocasionando que las entradas J y K de X2 cambien, mientras su entrada CLK se encuentra cambiando. En realidad, debido al retardo en la propagación de X3, las entradas J y K de X2 no cambiarán en un tiempo corto después de la TPN. Por esta razón, debe implantarse un registro de corrimiento a partir de multivibradores disparados por flanco que tengan un valor tH menor que el retardo de propagación del MVB (del CLK a la salida). Este último requisito se cumple fácilmente con los MVB más modernos disparados por flanco.


TRANSFERENCIA SERIAL ENTRE REGISTROS

    La Figura 9.5, muestra dos registros de corrimiento de 3 bits conectados de modo que el contenido del registro X sea transferido al registro Y. Se utilizan multivibradores tipo D por cada registro de corrimiento, ya que esto requiere de menos conexiones que los MVB J-K. Nótese la forma en que X0, último MVB del registro X, está conectado a la entrada de Y2, primer MVB del registro Y. De esta manera, cuando se aplican pulsos de corrimiento, la transferencia de información se lleva a cabo como sigue:

fig9-5.gif (7110 bytes)

   X2 => X1 => X0 => Y2 => Y1 => Y0. El MVB X2 pasará a estados determinados por su entrada D. Por ahora, D se mantendrá BAJO, de modo que X2 pasará a BAJO en el primer pulso y ahí se quedará.

    Para ilustrar lo anterior, supóngase que antes de que se aplique algún pulso, el contenido del registro X es 101 (es decir, X2=1, X1=0 y X0=1) y el registro Y se encuentra en 000. Consulte la tabla de la Figura 9.5 b), la que muestra la forma en que los estados de cada MVB cambian cuando se aplican los pulsos de corrimiento. Deben observarse los siguientes puntos:


TRASFERENCIA PARALELA CONTRA SERIAL

    En la transferencia paralela, toda la información es transferida simultáneamente por un comando único sin importar cuantos bits se transfieran. En la transferencia serial, como lo ejemplifica la Figura 9.5, la transferencia completa de N bits de información requiere de N pulsos de reloj (3 bits requieren 3 pulsos, 4 bits 4 pulsos, etc.) La transferencia paralela, por lo tanto, es obviamente mucho más rápida que la transferencia serial, usando registros de corrimiento. En la transferencia paralela, la salida de cada MVB del registro X se conecta a una entrada correspondiente del MVB en el registro Y. Y en la transferencia serial, sólo el último MVB del registro X se conecta al registro Y. En general, la transferencia paralela necesita más interconexiones de entrada al registro emisor (X) y el receptor (Y) que la transferencia serial.

    Esta diferencia se hace más obvia cuando se transfiere un número mayor de bits de información. Esta es una consideración importante cuando los registros emisor y receptor están separados uno del otro, ya que determina cuantas líneas (alambres) se necesitan en la transmisión de la información.

    La elección de la transmisión paralela o serial depende de la aplicación del sistema y de las especificaciones. Con frecuencia se usa una combinación de los dos tipos para sacar ventajas de la velocidad de la transmisión paralela y de la economía y simplicidad de la transferencia serial.


PROCEDIMIENTO EXPERIMENTAL

NOTA: En los circuitos topológicos siguientes, las resistencias que limitan la corriente en los LED son de 330 ohms.

fig9-6.gif (5293 bytes)

NOTA: El registro X como el registro Y son de 3 bits, este primer registro se debe desplazar tal como lo indica la Figura 9.5, si no es así, ajustar otra frecuencia en el preset.


fig9-7.gif (5090 bytes)

El pushbutton, es el que borra el registro Y en los multivibradores tipo D en el circuito integrado en la terminal 1 y ésta se activa en BAJO.

El canal 8 del DIP es el que cierra y abre el circuito que conduce el pulso del reloj, la transferencia de realiza hasta que el circuito integrado recibe el pulso.


fig9-8.gif (5088 bytes)

NOTA: Abrir y cerrar el canal 4 del DIP sólo cuando el LED Dr se encuentre encendido.


CUESTIONARIO

  1. ¿Cuál es el método más rápido para transferir datos de un registro a otro: transferencia paralela o transferencia serial?
  2. ¿Cuál es la ventaja principal de la transferencia serial sobre la transferencia paralela?
  3. ¿Qué sucedió en el circuito topológico que utiliza MVB tipo D, al anexar la conexión de la terminal 3 con la 19?
  4. ¿Por qué?
  5. Si necesitaras transferir un dato que consta de 16 bits de un registro a otro, ¿cuál de los dos métodos conocidos utilizarías?
  6. Respecto a la pregunta anterior, ¿qué tipo de MVB utilizarías: J-K o D?

fig9-9.gif (5039 bytes)