Menu
in

74LS164N

Dentro de los circuitos integrados mas utilizados en proyectos de electrónica digital, encontramos este versátil registro de desplazamiento de 8 bits, también conocido como conversor serie-paralelo.Físicamente, se trata de un circuito integrado de 14 pines, en formato DIL, cuya capsula puede ser de diferentes materiales. De hecho, la última letra en su nombre (la “N”) indica el material y forma del empaquetado, estando disponibles en plástico (N), para montaje superficial (D), y algunos encapsulados cerámicos (W, FK y J). A lo largo del artículo nos referiremos al 74LS164N, pero lo explicado será valido también para sus “primos”, construidos con tecnologías parecidas como el 74HC164, 74HS164, etc. Las diferencias entre uno y otro tienen que ver básicamente con la velocidad máxima de clock, cantidad de puertas que se pueden conectar a sus salidas, etc. En todo caso, siempre la hoja de datos del fabricante del circuito integrado en cuestión nos resolverá cualquier duda que se nos plantee.En el caso del integrado que nos ocupa, las salidas son ocho. El término “registro” puede ser utilizado en una gran variedad de aplicaciones muy específicas, pero en todos los casos se refiere a un grupo de “flip-flops” operando juntos para forma una unidad capaz de almacenar un dato. No se lo debe confundir con un contador, que a pesar de estar construido con los mismos ladrillos básicos, se encarga de generar datos nuevos a partir de los ingresados. En este contexto, un contador se puede ver como una clase especializada de registro, capaz de contar eventos y además generar un dato de salida, diferenciándose del registro de desplazamiento que se limita a almacenar un dato en su interior, y lo hace accesible en una forma diferente a la original, pero sin transformarlo. Tal como se puede ver en la figura, internamente el registro de desplazamiento 74LS164N consiste básicamente de 8 flip-flops en cadena, donde los bits ingresan al primero de ellos en cada pulso de clock, y se propagan hacia la derecha. Si comenzamos con todos los flor-flops en cero, por ejemplo habiendo llevado el pin reset a cero durante unos nanosegundos, luego de 8 ciclos de clock, tendremos disponibles en las salidas QA a QH los 8 bits que se ingresaron en forma serial. Por esta razón es que se puede utilizar un registro de desplazamiento como un conversor serie-paralelo. En el noveno pulso de clock, se ingresara un nuevo dato al registro, y el que estaba presente en el ultimo slip-flop (salida QH) se perderá. A menudo se necesita construir un registro de desplazamiento de más de 8 bits de profundidad. En estos casos se puede conectar la salida QH de un 74LS164N a las entradas A y B del segundo, de manera que este noveno bit que se hubiera perdido al “caerse” del primer 74LS164N se aprovecha como dato de entrada en el siguiente. De esta manera, encadenando varios de estos integrados podemos construir un registro de desplazamiento del largo que deseemos. Por supuesto, en estos casos las entradas de clock de todos los 74LS164N implicados deben estar unidas, para que funcionen sincronizadamente. Los datos se introducen en el shift register con cada flanco de subida del pulso de clock, esto es, cuando el pulso de reloj pasa de “0” a “1”. Por ultimo, debemos tener en cuenta que el primer bit ingresado es el que primero saldrá por el otro extremo del registro, por lo que se dice que es una cola de bits del tipo LIFO (Last In, Last Output, o “ultimo en entrar, ultimo en salir”). En esta misma pagina podemos ver el pin-out de los dos formatos de capsulas disponibles. Los pines que aparecen con el nombre “NC” no se encuentran conectados internamente. En el caso del primer esquema, correspondiente a los encapsulados tipo DIL y que serán los que mas frecuentemente utilicemos en nuestros proyectos, los pines 1 y 2, llamados “A” y “B” son las entradas de datos al registro de desplazamiento. Internamente, están conectados a los terminales de entradas de una compuerta NAND, por lo que (recomendamos consultar el artículo sobre compuertas digitales de NeoTeo) el dato ingresado será efectivamente un “1” cuando ambas entradas estén en “0”. Cualquier otra combinación de valores en la entrada dará como resultado el ingreso de un “0”. El terminal 8, con el nombre CLK es el que recibe los pulsos de clock, que son los que “marcaran el paso”, ingresando al registro los bits presentes en su entrada con cada flanco positivo de los pulsos de clock. El pin 9 cumple las funciones de reset, poniendo todas las salidas del integrado en “0” cada vez que se lo pone a masa. Para que el integrado funcione normalmente, este pin debe estar conectado a +V. En aquellos casos en que por algún motivo no se pueda controlar el pin de reset, se pueden ingresar ocho “0” consecutivos mediante A y B, teniendo el mismo efecto final sobre las salidas. Este sistema es más lento (ocho ciclos de clock) pero permite ahorrar una línea de control. Los pines 3, 4,5, 6, 10, 11,12 y 13 son las salidas, denominadas QA, QB, QC, QD, QE, QF, QG y QH. En estos pines irán apareciendo los valores presentes en la entrada. Un caso en el que tener a mano un 74LS164N simplifica bastante las cosas es en el manejo de displays LED de 7 segmentos mediante microcontroladores. En un sistema de control “clásico”, sin registros de desplazamiento, se utilizan varios pines del PIC para encender individualmente cada segmento del display, y si son mas de uno los displays a controlar, se requiere una línea adicional por display para controlar su apagado. El software del microcontrolador debe atender permanentemente el display, generalmente mediante interrupciones, para escribir en cada digito el valor correcto. En el caso de un display LED de 7 segmentos de dos dígitos son necesarias ocho líneas para controlar los 7 segmentos y el punto decimal, mas dos líneas para el control de encendido/apagado de cada digito (en el multiplexado). Esto hace un total de 10 pines del PIC para controlar un display de solo dos dígitos. El uso del 74LS164N permite el mismo control solo con 3 líneas: una de datos conectada a las entradas A y B, una de reloj conectada a la entrada CLK, y la tercera (que se puede omitir tranquilamente) de RESET para limpiar el display. La economía de recursos es evidente. A esta ventaja, hay que sumarle que una vez mostrado un valor en el display, el microcontrolador se desentiende del mismo (no se necesita el refresco constante de los dígitos como en el caso del multiplexado) hasta que haya que mostrar datos nuevos, ya que las salidas del 74LS164N conservan sus valores hasta que indiquemos los contrario. El esquema que vemos al final del articulo ilustra este conexionado, sin línea de RESET, ya que el tiempo implicado en escribir 16 ceros en el registro de desplazamiento es insignificante (unos 32 nanosegundos a 4MHz) y nos permite ahorrarnos un pin del PIC.  

Escrito por Ariel Palazzesi

Leave a Reply