El CD4094
El CD4094
El CD4094
Esto significa que disponemos de un mecanismo para aislar sus 8 pines de salida del resto del circuito. Los datos son desplazados serialmente con cada flanco de subida del reloj (CLOCK) y cada bit es transmitido al latch correspondiente con cada flanco de bajada del pin STROBE
Diagrama de Conexin del C D4094. Las caractersticas ms destacables de este circuito integrado son: Rango de voltaje: 3.0 V a 18.0 V Compatibilidad con la familia TTL Salida tri-estado Por qu usar un registro de desplazamiento para un display 7 segmentos? Es muy sencillo: nos ahorramos varias lneas deentrada/salida . En el caso de usar un solo display se ahorran 5 pines, ya que se necesitan solo 3 lneas para controlar los 7 segmentos y el punto decimal. Y si necesitamos controlar un nmero mayor de display, el ahorro es mayor: las mismas tres lneas usadas para el control de un display permiten controlar todos los que necesitemos. Interesante, verdad? Para que el CD4094 pueda manejar un display 7 segmentos, tienen que haber unas seales de control establecidas, que podemos gestionarla con un microcontrolador. En este artculo usaremos el PIC16F84A. Diagrama de tiempos Para establecer las seales de control necesario estudiar su diagrama de tiempos: en el CD4094, es
Diagrama de tiempos. La primera seal de control es DATA, que es el dato que enviaremos serialmente. Enviamos un flanco ascendente y luego un flanco descendente. En el instante que el CLOCK est subiendo, el estado del DATA ser reconocido como un dato vlido por el CD4094 La seal de control STROBE se usa en caso de que queramos tener en los latch de salida los bits enviados por el PIC a medida que se van recibiendo. Por ltimo tenemos el pin OUTPUT ENABLE. Este pin cumple la funcin del tercer estado del latch, el estado de alta impedancia. En este caso no lo usaremos. Generalmente se emplea en sistemas de buses, donde se conectan varios integrados a las mismas seales, permitiendo aislar un circuito de otro. As que mantendremos este pi n en un nivel alto. Este integrado, de 16 patas, en pocas palabras es un conversor de SERIAL a PARALELO: acepta bits en forma serial desde un microcontrolador u otro CD4094 (necesita 3 patas para funcionar) y cuando le das la orden, saca el byte por 8 de s us patas, de una sola vez. Como agregado, tiene la bondad de funcionar con voltajes de 3 a 18 volts. Usa 2 patas para alimentarse, 3 patas para recibir la informacin del integrado (DATA, CLOCK y STROBE), 8 patas para sacar el byte que se le transmiti (Q1 a Q8), y 2 patas mas para encadenarse a otro CD4094BCN (QS y QS'). Luego tiene una pata mas, denominada OUTPUT ENABLE, que es para funcionar en otra modalidad, 3-state output gate. Una utilidad muy comn, es por ejemplo gestionar un panel de informacin con varios leds (8, 16 ,etc.) en por ejemplo una ALARMA, usando o consumiendo solamente 3 patitas del microcontrolador. Otra utilidad (quizs la mas comn) es poder manejar displays LED o LCD de 8 segmentos. CMO FUNCIONA ? 1)Presentas el bit en 2)Le indicas al CD4094 que le ests mandando un 1 y luego un 0 la pata DATA transmitiendo un bit, a la pata CLOCK.
3)Repites 1 y 2 para todos los bits que quieres transmitir (si son mas de 8, y tienes mas de un CD4094, el primero los empieza a pasar al que viene en la cadena, y asi sucesivamente). 4)Una vez que transmitiste todos los bits, le indicas que lo SAQUE POR LAS PATAS Q1 a Q8 mandando un 1 y luego un 0 a la pata STROBE.
Cmo funciona el registro de desplazamiento en la matriz de leds con el circuito anteriormente estudiado?
La mejor manera de entender conceptos nuevos es apoyndose en analogas con temas que nos son familiares. En este caso no vamos a hacer una excepcin, por lo que utilizaremos como ejemplo el funcionamiento de una cola, como la de un banco o supermercado. Supongamos que dos tipos de personas pueden formar parte de una cola. Estos dos tipos de personas son las que se ven en la figura siguiente, y es imposible confundir una con otra. Es decir, siempre estaremos seguros que en una posicin determinada de la fila esta una u otra persona. Las llamaremos "0" (el "gordito) y "1" (al mas flaco). Aclaro que la eleccin de los personajes solo tiene que ver con el parecido (?) con el 0 y el 1.
"0" y "1", nuestros personajes. La cola que usaremos como ejemplo tiene 8 lugares, que hemos numerado del 0 al 7, pero nada impide trabaja con colas ms largas, por lo que todo lo que se vea aqu, puede ser generalizado para colas de la longitud que se desee.
La cola utilizada como ejemplo tiene 8 posiciones. Otra particularidad de nuestra hipottica cola es que nunca puede estar vaca. Todas sus posiciones tienen que estar ocupadas, ya sea por "gorditos" o "flacos". En el estado inicial, la cola se encuentra completamente llena de "gorditos", como se a continuacin:
Nuestra cola funciona como cualquier cola de la vida real: cuando alguien nuevo llega a la fila, se coloca en el lugar de mas atrs, que en este caso corresponde a la "posicin 0". Como la cola tiene una longitud mxima (en nuestro ejemplo) de 8 posiciones, para hacer lugar al recin llegado, es necesario que todos los que estaban en la fila "avancen" una posicin. El que estaba en la posicin 0 pasa la 1, el que estaba en la 1 pasa a la 2, y as hasta llegar al que estaba en la posicin 7, que "sale" por el extremo opuesto.
...y ocupa el ultimo lugar, desplazando a todos los dems una posicin. El primero "sale" de la fila.
Este es el estado final de nuestra fila, con el nuevo integrante en el ltimo lugar. Si continuaran ingresando personas en la fila, el proceso se repetira con cada nuevo integrante que llegue. Como el que entra primero es el primero en salir, a este tipo de colas se las llama "FIFO", por First Input, First Output (Primero que entra, primero que sale). Con todas estas cuestiones en mente podemos seguir avanzando en la comprensin del funcionamiento de los registros de desplazamiento. Supongamos que queremos que en la cola haya dos flacos en los primeros lugares, luego un gordo, otra vez dos flacos, luego otro gordo por ultimo dos flacos ms (como siempre, 8 personas en total). Sabiendo que cada personaje que ingresa en la cola "empuja" a todos una posicin a la derecha, si queremos que el que termine ocupando el extremo derecho de la cola sea un flaco, ese ser el que primero debe entrar. Siguiendo el
Este es el estado final de nuestra fila, con los integrantes originales desplazados hacia la derecha. Poniendo fin a nuestra analoga, tendramos que los integrantes de esta hipottica cola son los "0"s y "1"s (o estados altos y bajos) de nuestros circuitos, es decir, nuestros datos. La cola en si es el registro de desplazamiento. Cuando decamos que el estado inicial de la cola eran 8 gordos, estbamos queriendo decir que al alimentar nuestro circuito, todas las salidas estarn en "0" o estado bajo. Hay una salvedad, y es la existencia del "reloj". Efectivamente, en un circuito real, los datos pasan al registro de desplazamiento con cada pulso de reloj. Podemos pensar en este reloj como si se tratase de un "maestro de ceremonias", que da una palmada cada vez que alguien debe ingresar en la cola. Muchos circuitos de registros de desplazamiento "reales" tambin incluyen un sistema de RESET, que permite poner simultneamente todas las salidas en "0" o estado bajo, sin necesidad de ingresar 8 ceros seguidos. Esto permite limpiar rpidamente el registro de desplazamiento. Cuando decimos "rpidamente" nos referimos a que como la velocidad de los pulsos del reloj (CLOCK) no puede ser infinita (tpicamente el mximo ronda los 10 o 20 MHz) y cada dato demora el tiempo de un pulso de reloj en desplazarse por el registro, introducir 8 "0"s llevara 800 ns (100 ns * 8 bits), contra los 100 ns que demora en aplicarse el RESET. No obstante, para obtener los tiempos exactos implicados se debe consultar la hoja de datos del integrado que estemos utilizando, ya que los limites varan incluso con la tensin de alimentacin y la temperatura.