Servicio Nacional de Aprendizaje
Registros de almacenamiento, Decodificador, Codificador, Multiplexor, Demultiplexor y Registros de almacenamiento
Integrantes:
Diego González Andrés Acevedo Martínez Edwar Caicedo Jesús Andrés Acevedo Leonardo Mendoza
Presentado a: Ing. Hernando Gómez P
San José de Cúcuta 2011
REGISTRO DE DESPLAZAMIENTO
Un registro de desplazamiento es un circuito digital secuencial (es decir, que los valores de sus salidas dependen de sus entradas y de los valores anteriores) consistente en una serie de biestables, generalmente de tipo D, conectados en cascada (Fig. 1), que basculan de forma síncrona con la misma señal de reloj. Según la conexión de las distintas básculas, se tiene un desplazamiento a la izquierda o a la derecha (Fig. 2) ,de de la información almacenada, bits, en las básculas. Es de señalar que un desplazamiento a la izquierda de un conjunto de bits, multiplica por 2, mientras que uno a la derecha, divide entre 2. Existen registros de desplazamiento esplazamiento bidireccionales, que pueden funcionar en ambos sentidos. Los registros universales, además de bidireccionales permiten la carga en paralelo.
Fig. 1:: Registro de desplazamiento de 4 bits.
Fig. 2:: Símbolo de registro de desplazamiento de 4 bits.
Tipos de registros de desplazamiento
Dependiendo del tipo de entradas y salidas, los registros de desplazamiento se clasifican como:
* Serie-Serie: sólo la entrada del primer flip flip-flop flop y la salida del último son accesibles externamente. Se emplean plean como líneas de retardo digitales y en tareas de sincronización. * Paralelo-Serie: son accesibles las entradas de todos los flip flip-flops, flops, pero sólo la salida del último. Normalmente también existe una entrada serie, que sólo altera el contenido del primer flip-flop, flop, pudiendo funcionar como los del grupo anterior. * Serie-Paralelo: son accesibles las salidas de todos los flip flip-flops, flops, pero sólo la entrada del primero. Este tipo y el anterior se emplean para convertir datos serie en paralelo y viceversa, rsa, por ejemplo para conexiones serie como el RS232. * Paralelo-Paralelo: tanto las entradas como las salidas son accesibles. Se usan para cálculos aritméticos.
Un registro de desplazamiento muy utilizado, que es universal (se llama así porque puede utilizarse en cualquiera de las cuatro configuraciones anteriormente descritas) y bidireccional (porque puede desplazar los bits en un sentido u otro) es el 74HC194, de cuatro bits de datos.
Otros registros de desplazamiento conocidos, fabricados también con la tecnología CMOS, son el 74HC165 (entrada paralelo, salida serie) y 74HC164 (entrada serie, salida paralelo).
Aplicaciones
Además de la conversión serie-paralelo y paralelo-serie, los registros de desplazamiento tienen otras aplicaciones típicas:
* Generador pseudoaleatorio. Se construye con un registro de desplazamiento, realimentando a la entrada una combinación de varias salidas, normalmente un or exclusivo entre ellas. * Multiplicador serie. Se realiza la multiplicación mediante sumas y desplazamientos. Un ejemplo es el 74LS384. * Registro de aproximaciones sucesivas. Se usa en conversores A/D. Se van calculando los bits sucesivamente, empezando por el más significativo. Mediante un conversor DAC se compara la entrada analógica con los resultados parciales, generando el siguiente bit. * Retardo. Se pueden utilizar para retardar un bit un número entero de ciclos de reloj (consiste simplemente en un conjunto de biestables en cascada, tantos como ciclos de reloj deseemos retardar los bits).
Formas de construir registros de desplazamiento
Se pueden combinacionales y secuenciales. Por ejemplo:
* Registro de entrada paralelo y salida serie. Puede construirse con un multiplexor digital combinacional y un contador. Las entradas de datos del multiplexor se conectan a los datos a transmitir, y las entradas de control, a las salidas del contador (el bMs del MUX conectado al bMs del contador), dicho contador deberá estar en modo de carrera libre.
* Registro de entrada serie y salida paralelo. Similar al caso anterior, se sustituye el muliplexor por un demultiplexor, ahora las salidas de éste serán las salidas paralelos.
* Biestables en cascada. Con esto y la lógica combinacional adecuada, se pueden construir incluso registros de desplazamiento bidireccionales y universales, aunque en este caso es más aconsejable disponer del 74HC194, dado que ocupa mucho menos espacio (y el precio del integrado es muy asequible) y en un solo integrado incluye las cuatro posibles configuraciones y la funcionalidad de desplazar los bits en ambos sentidos
DECODIFICADOR
Un decodificador o descodificador es un circuito combinacional, cuya función es inversa a la del codificador, esto es, convierte un código binario de entrada (natural, BCD, etc.) de N bits de entrada y M líneas de salida (N puede ser cualquier entero y M es un entero menor o igual a 2N), tales que cada línea de salida será activada para una sola de las combinaciones posibles de entrada. Estos circuitos, normalmente, se suelen encontrar como decodificador / demultiplexor. Esto es debido a que un demultiplexor puede comportarse como un decodificador. ificador. Si por ejemplo tenemos un decodificador de 2 entradas con 22=4 salidas, en el que las entradas, su funcionamiento sería el que se indica en la siguiente tabla, donde se ha considerado que las salidas se activen con un "uno" lógico.
Ejemplo decodificador.
Aplicaciones del Decodificador Su función principal es la de direccionar espacios de memoria. Un decodificador de N entradas puede direccionar ccionar 2N espacios de memoria. Para poder direccionar 1kb de memoria necesitaría 10 bits, ya que la cantidad de salidas seria 210, igual a 1024. De esta manera: * Con 20 bits tengo 220 que es 1Mb. * Con 30 bits tengo 230 que es 1Gb.
CODIFICADOR
Un codificador es un circuito combinacional con 2N entradas y N salidas, cuya misión es presentar en la salida el código binario correspondiente a la entrada activada.
Existen dos tipos fundamentales de codificadores: codificadores sin prioridad y codificadores con prioridad. En el caso de codificadores sin prioridad, puede darse el caso de salidas cuya entrada no pueda ser conocida: por ejemplo, la salida 0 podría indicar que no hay ninguna entrada activada o que se ha activado la entrada número 0. Además, ciertas entradas pueden hacer que en la salida se presente la suma lógica de dichas entradas, ocasionando mayor confusión. Por ello, este tipo de codificadores es usado únicamente cuando el rango de datos de entrada está correctamente acotado y su funcionamiento garantizado. Para evitar los problemas anteriormente comentados, se diseñan los codificadores con prioridad. En estos sistemas, cuando existe más de una señal activa, la salida codifica la de mayor prioridad (generalmente correspondiente al valor decimal más alto). Adicionalmente, se codifican dos salidas más: una indica que ninguna entrada está activa, y la otra que alguna entrada está activa. Esta medida permite discernir entre los supuestos de que el circuito estuviera deshabilitado por la no activación de la señal de capacitación, que el circuito no tuviera ninguna entrada activa, o que la entrada número 0 estuviera activada.
También entendemos como codificador (códec), un esquema que regula una serie de transformaciones sobre una señal o información. Estos pueden transformar un señal a una forma codificada usada para la transmisión o cifrado o bien obtener la señal adecuada para la visualización o edición (no necesariamente la forma original) a partir de la forma codificada.
En este caso, los codificadores son utilizados en archivos multimedia para comprimir audio, imagen o vídeo, ya que la forma original de este tipo de archivos es demasiado grande para ser procesada y transmitida por los sistema de comunicación disponibles actualmente. Se utilizan también en la compresión de datos para obtener un tamaño de archivo menor.
Según esta nueva definición, podemos dividir los codificadores en códecs sin pérdidas y códecs con pérdidas, según si la información que se recupera coincide exactamente con la original o es una aproximación.
MULTIPLEXOR Un multiplexor es un circuito combinacional con 2n líneas de entrada de datos, 1 línea de salida y n entradas de selección. Las entradas de selección indican cuál de estas líneas de entrada de datos es la que proporciona el valor a la línea de salida. También se pueden construir multiplexores con mayor número de entradas utilizando multiplexores de menos entradas, utilizando la composición de multiplexores... En electrónica digital, es usado para el control de un flujo de información que equivale a un conmutador. En su forma más básica se compone de dos entradas de datos (A y B), una salida de datos y una entrada de control. Cuando la entrada de control se pone a 0 lógico, la señal de datos A es conectada a la salida; cuando la entrada de control se pone a 1 lógico, la señal de datos B es la que se conecta a la salida... El multiplexor es una aplicación particular de los decodificadores, tal que existe una entrada de habilitación (EN) por cada puerta AND y al final se hace un OR entre todas las salidas de las puertas AND.
La función de un multiplexor da lugar a diversas aplicaciones:
1. Selector de entradas. 2. Serializador: Convierte datos desde el formato paralelo al formato serie. 3. Transmisión multiplexada: Utilizando las mismas líneas de conexión, se transmiten diferentes datos de distinta procedencia. 4. Realización de funciones lógicas: Utilizando inversores y conectando a 0 ó 1 las entradas según interese, se consigue diseñar funciones complejas, de un modo más compacto que con las tradicionales puertas lógicas,
DEMULTIPLEXOR
En electrónica digital, un demultiplexor es un circuito combinacional que tiene una entrada de información de datos d y n entradas de control que sirven para seleccionar una de las 2n salidas, por la que ha de salir el dato que presente en la entrada. Esto se consigue aplicando a las entrada de control la combinación binaria correspondiente a la salida que se desea seleccionar. Por ejemplo, si queremos que la información que tenemos en la entrada d, salga por la salida S4, en las entrada de control se ha de poner, de acuerdo con el peso de las misma, el valor 100, que es el 4 en binario.
En el campo de las telecomunicaciones el demultiplexor es un dispositivo que puede recibir a través de un medio de transmisión compartido una señal compleja multiplexada y separar las distintas señales integrantes de la misma encaminándolas a las salidas correspondientes. La señal compleja puede ser tanto analógica como digital y estar multiplexada en cualquiera de las distintas formas posibles para cada una de ellas.
El demultiplexor, es un circuito combinacional que aunque la función básica es la que hemos explicado, puede utilizarse en muchos casos como decodificador y adopta cualquiera de las funciones que un decodificador realiza. Una aplicación muy práctica de los demultiplexores utilizados como decodificadores, si lo combinamos con una puerta NO-Y NAND, es la generación de funciones lógicas, de modo, que si nos dan la función lógica F=S3(2,4,5,7), las salidas correspondientes a los unos lógicos se conectarían a la puerta NO-Y. En este caso la entrada de información se puede utilizar como entrada inhibidora si mantenemos a cero lógico, y subiéndola a uno, cuando queremos inhibir la generación de la función. Una de las funciones que realiza el decodificador hexadecimal como demultiplexor, es la función de conectar, a sendos contadores, C0 a C15, que reciben los impulsos de una entrada común a todos. Cada uno posee una entrada de inhibición que según el estado en que se encuentra (0,1), permite o no que se realice el contaje de los implusos. Cada entrada de inhibición se conecta a una salida del demultiplexor.
REGISTRO DE ALMACENAMIENTO
La siguiente figura muestra un registro de almacenamiento:
Las conexiones 1D .. 8D son la entrada del dato. Las conexiones 1Q .. 8Q son la salida del registro. La señal de reloj (Clk) es la señal de control: Requiere un pulso para escribir y mantenerse en 0 para leer el contenido del registro. La señal de reloj es común a los 8 flip-flops. El circuito 74LS273 es un registro de 8 bits. Para simplificar la práctica vamos a utilizarlo como un registro de 4 bits, usando solamente las entradas 1D .. 4D con sus correspondientes salidas 1Q .. 4Q. 1. Coloca un LED en cada salida 1Q .. 4Q. 2. 2. Conecta la salida del circuito NE555 (pin 3) a la señal de reloj del 74LS273 (pin 11) 3. Conecta la señal Clear (pin 1) al positivo de la batería (1 lógico)