En esta ocasión vamos a seguir tratando con elementos básicos de memoria así como de otros que nos permitan adquirir experiencia y desenvoltura ante las diferentes situaciones a las que nos encontremos en nuestro normal desarrollo del trabajo.
Así mismo, como ya dijimos, los elementos que trataremos en adelante, no son simples puertas. Por lo que ya deberíamos tener los conocimientos elementales básicos y no perderíamos el tiempo en viejos conceptos. Por tanto, suponemos que se puede asimilar lo que aquí se describa por parte del lector. Pasaremos a ver cómo trabaja un contador y un secuenciador, entre otros elementos electrónicos.
En esta lección veremos los siguientes temas:
Automatismo secuencial industrial
Registros de desplazamiento.
Contadores digitales
Codificadores
Decodificadores
Multiplexores
Demultiplexores
Comparadores
SISTEMA DE PINTADO AUTOMÁTICO
Ahora vamos a estudiar, un automatismo o sistema de pintura electrostática para guitarras al barniz, contemplaremos básicamente los movimientos necesarios, considerando que las velocidades permanecen constantes, cosa que no es cierta, ya que las superficies a pintar son cambiantes y sin duda deberíamos considerarlas. En principio, necesitamos de un movimiento del pulverizador hacia abajo y otro hacia arriba, logrando así, pintar en ambas direcciones, ver figura 1.
El sistema requiere de ciertas variables:
Fig. 2 Variables
Poner en marcha el sistema, representa cumplir la siguiente función de memoria M
Cs ==> M + Cs
Cb ==> M + Cb
Donde Cs, es el contacto de subida y Cb el de bajada. En el supuesto de que, se encuentre accionado el fin de carrera fcx (fin de carrera indeterminado).
Ahora bien, el pulverizador de pintura debería bajar si se encuentra arriba o subir si se encuentra abajo. Para determinar esta condición, tendremos que convenir que el contacto fci es el contacto de abajo y el contacto fca es el contacto de arriba.
fca <== final de carrera superior
fci <== final de carrera inferior
Dado que el pulverizador deberá subir, si el fcx está abajo (fcx=>fci) o bajar si esta arriba (fcx=>fca), estos finales de carrera los pondremos en paralelo entre si y, en serie con el pulsador de marcha Ma.
Cs ==> M (fci) + Cs
Cb ==> M (fca) + Cb
De este modo al pulsar el botón Ma, solamente una de estas dos condiciones será cierta, ya que fcx = 1, sólo puede estar uno de los dos grupos, el otro estará a cero.
El sistema debe poder controlarse desde el propio lugar de trabajo y desde una cabina del puente de mando, situada en un lugar apartado del lugar de operaciones, por lo que se duplicará el mando correspondiente al puesto de trabajo Ct como el del puente de mando Cp, por dicho motivo ambos estarán en paralelo
Cs ==> (Ct + Cp) (fci) + Cs
Cb ==> (Ct + Cp) (fca) + Cb
Cuando el pulverizador llegue a un extremo X, el final de carrera fcx será accionado por el propio carro del pulverizador y lo detendrá. Por otra parte, como la marcha del pulverizador debe poder detenerse, si por alguna causa se pulsa el mando P, éste lo aplicaremos en serie con el de marcha Ma, por su alta prioridad.
Cs ==> Pfcx (Ct + Cp) (fci) + Cs
Cb ==> Pfcx (Ct + Cp) (fca) + Cb
Como medida de seguridad, el sistema electrostático y el pulverizador, no deben ponerse en marcha hasta que los contactos de las puertas del recinto de pintura, están cerradas mediante el contacto de las puestas E
E = E0 E1E2 … Ex
Los cuales actuarán así mismo como borrado las funciones de memoria.
Cs ==> EPfcx [(M + C) (fci) + Cs ]
Cb ==> EPfcx [(M + C) (fca) + Cb ]
Como no creemos necesarios más dispositivos adicionales, éstas serán las dos funciones o ecuaciones, las cuales se procederán a establecer, tanto en el lugar de trabajo como en el puente de mando para accionar el contacto de subida Cs como el de bajada Cb, siendo:
Cs ==> Cs1 + Cs2 Cb ==> Cb1 + Cb2
(Un pulsador de puesta en marcha M, dos finales de carrera fcs y fcb, un par de relés rs y rb de doble contacto, un pulsador de parada forzada P y además dos contactores Cs y Cb. Es cierto que, con un único motor es posible, aquí contemplaremos dos motores para una mayor claridad).
Registro de desplazamiento.
Podemos decir que un registro de desplazamiento es una aplicación de los flip-flop. Un registro de desplazamiento consiste en una cadena de flip-flop conectados de modo que permitan una sucesión de desplazamiento por pasos del dato de entrada hasta la salida.
Una particularidad de los registros de desplazamiento es que todos los flip-flop tienen la entrada de reloj en común, con lo que se activa o desactiva al mismo tiempo, como se puede ver en el circuito mostrado a la derecha.
Si a la entrada de datos del circuito mencionado, ponemos un nivel lógico 1, al llegar el flanco de subida de la señal de reloj, el dato aparecerá en la salida FF1, después del retraso de propagación que se genera, del orden de los nanosegundos, algunas veces se debe tener en cuenta. Con el siguiente impulso de señal de reloj, el FF2 recibirá dicho dato de la salida del FF1, entre tanto el FF1 puede recibir un nuevo dato, con el cual quedará cargado este registro FF1.
Para reforzar en la práctica 3, se hace referencia al modo de configuración de los FF tipo D, en los que se basan estos registros de desplazamiento.
En la figura siguiente puede observarse cómo se desplaza un dato desde la entrada del FF1, hasta la salida del último FF4 de la cadena. El desplazamiento del dato se produce, con el flanco de subida de la señal de reloj, que es el único momento aceptará datos el registro.
Fig. 4 Registro de desplazamiento
Según esto (fig. 4), el dato (bit 1) se ha transferido a través de los FF, desde el FF1 al FF4 con la ayuda de la señal de reloj, por consiguiente, si el registro de desplazamiento de 4 FF, recibe mas de 4 impulsos de reloj, el bit será desplazado fuera del FF4 y todos ellos pasarán a tener un 0.
Si se pulsa el reset, se borra todo contenido del registro de desplazamiento (todos los FF se ponen a 0) y los cuatro dígitos se ponen a 0.
Carga de datos en serie.
Con 4 flip-flop, se pueden cargar (memorizar) 5 números: 0000(0) 0001(1), 0011(2), 0111(3) y 1111(4). Una condición a definir de los registros de desplazamiento es, dependiendo de como se carguen los datos (bits), en este caso uno detrás del otro mientras el registro de desplazamiento los transfiere de un FF al siguiente de modo secuencial, a esta forma de carga se llama ‘carga de datos serie’.
Carga de datos en paralelo.
Sin embargo no es la única forma, hay otra forma que se llama ‘carga de datos en paralelo’, en cuyo caso cada dato (bit) se carga por una línea S (set) de cada FF lo que cargará simultáneamente todos los dígitos.
Fig. 5 Registro cargar en paralelo.
Del mismo modo que los datos pueden ser cargados en serie o paralelo en el registro de desplazamiento, dichos datos también pueden ser extraídos de uno en uno (serie) o todos simultáneamente. Leer los datos de un registro de desplazamiento serie, se efectúa desplazando dichos datos a través de los FF, tomando los datos en la salida del último FF. En el caso de un registro de desplazamiento paralelo, se hace al término de la entrada de datos, es decir al llegar el primer datos al último FF, éste puede disparar el lector de los datos de cada FF. Ver figura 8-03.
Cuando los datos son cargados en serie y leídos en paralelo, se dice que el registro de desplazamiento funciona como conversor serie-paralelo y conversor paralelo-serie cuando se procede al contrario.
Los contadores digitales.
Hemos descrito y desarrollado circuitos que se pueden construir mediante una serie de puertas lógicas más o menos compleja siguiendo un patrón o camino previsto, lo que de alguna manera limita su respuesta a los estímulos externos según unos estados lógicos concretos. En los siguientes temas, pasaremos a estudiar una serie de circuitos que responderán a impulsos, los cuales producirán ciertos estados de toma de decisión según el momento considerado y procederán con nuevas tareas, esto puede sonar algo extraño y nada más lejos de la verdad, un simple contador digital con algunas modificaciones puede responder a ‘estímulos’ o programas.
Ya se describieron los flip-flop y sus variantes en la lección 5. Veamos algunas de las cosas que se pueden realizar con una serie de flip-flop conectados en cadena y la ayuda de unas puertas lógicas, una aplicación clásica de los flip-flop son los contadores digitales, que describiremos con detalle.
Un contador digital, es siempre un contador binario y esto, mientras no se le condicione seguirá siendo así. El contador digital a la hora de contar, puede seguir uno de los dos patrones básicos, binario o decimal. Una vez tomada la decisión el contador realiza su cometido. Si le interesa el tema, en nuestras páginas, puede encontrar tratados con ejemplo sobre contadores digitales de variados tipos, contadores de un dígito, contadores de dos dígitos y los contadores de preselección con cuenta adelante y atrás.
Analizando un contador digital cuyo símbolo se muestra a la derecha, de la circuitería interna que nos interesa es que, está compuesto por una serie concreta de flip-flop y puertas conectados de modo que sigan un patrón. Así pues, un flip-flop básicamente es un divisor por dos, ya que necesita de dos impulsos de entrada para que su salida Q cambie de estado dos veces.
Fig. 6
Consideremos su funcionamiento, si Q = 0, con el primer impulso de entrada, el dato 1 pasa a la salida, lo que significa que en un principio era 0 y ahora es 1, para volver a dejar la salida a 0, es necesario un nuevo impulso que devuelva a Q a su estado inicial que era Q = 0. De manera que se confirma lo descrito, así pues, dos flip-flop conectados en cadena, es decir, la salida de uno conectada a la entrada del otro, los ha convertido de hecho en un divisor por cuatro, siga el planteamiento anterior para obtener la conclusión de su funcionamiento.
El circuito interno de un 74LS73 o un homologo en CMOS, el 4027, ambos están compuestos por dos simples flip-flop J-K independientes, con todas sus entradas y salidas como puede comprobarse en las hojas características de sus fabricantes.
Con todo lo comentado podemos comprender mejor el siguiente paso; el primer (flip-flop J-K) FF1 se dispara cuando sus entradas J y K están a nivel 1. La interconexión del flip-flop J-K en estas condiciones (sus entradas J = K = 1), como ya se ha comentado, se le conoce como un flip-flop T. Al observar el diagrama de tiempos de la figura 8-04, se comprenderá que la secuencia de pulsos de bajada de reloj queda dividida por dos en FF1 y se produce una división por dos en FF2, o sea, cada dos pulsos de bajada de FF1 hace avanzar un paso a FF2, del mismo modo ocurre con cada dos de bajada de FF2, avanzará un paso FF3 y de igual forma ocurre con FF3 y FF4.
Fig. 6 Registro desplazamiento derecha
Existen muchos tipos de contadores como ya se ha comentado, sin embargo consideramos que en esencia todos ellos se basan en el mismo principio y sus características son las que definen su propia configuración. Lo que dejamos a juicio del lector para que investigue en las hojas de características de los fabricantes.
Codificadores.
Recordemos que estamos hablando de sistemas combinacionales, cuando las salidas son función del estado de las entradas exclusivamente, por lo tanto, todas las puertas e inversores pertenecen al sistema combinacional ya que sus salidas dependen directamente del estado de sus respectivas entradas.
También recordaremos que, un contador o registro de desplazamiento pertenecen al sistema secuencial, puesto que sus salidas son consecuencia de los estados previos y no solo de los impulsos de reloj, a esto le llamábamos historia previa.
Los codificadores que podemos encontrar en el comercio, son circuitos integrados con los cuales convertiremos una serie de señales binarias, en un sistema que responda un código previamente determinado. Un buen ejemplo puede ser los contactos de un teclado numérico. Los 10 números presentan sus respectivas 10 señales, con un codificador podemos convertir a sólo cuatro señales (BCD) para representar cualquiera de los 10 números, es la codificación decimal a BCD. El conocido código Gray, hace exactamente eso, codificar unas señales y presentarlas en dicho código Gray.
Estas son las fases que constituyen para diseñar un codificador de decimal a BCD.
- Las entradas y salidas.
- Las ecuaciones lógicas que presentaran las salidas.
- Tabla de verdad.
- Simplificación e implementación de las ecuaciones de las salidas.
Desarrollemos un teclado de 16 contactos que puede servir para entrar datos en hexadecimal a un programador. Este decodificador propuesto presenta 16 entradas y 4 salidas. Las ecuaciones serán:
Fig. 7 Tabla teclas entrada.
Más explicita parece la tabla de verdad que fácilmente se deduce de estas ecuaciones y que se presenta a continuación.
Debido a la simplicidad del caso, no se requiere simplificar las ecuaciones de salida y pasaríamos directamente a la ejecución del circuito utilizando puertas OR.
Otra forma más sencilla y económica de implementar las ecuaciones lógicas, pasa por crear una matriz de diodos de pequeña señal. Esta matriz, se realiza cuando en la tabla anterior se encuentra un 1, uniendo una línea vertical [entrada] con una línea horizontal [salida], mediante un diodo, necesitaremos utilizar 32 diodos como se aprecia en la siguiente figura.
Fig. 9 Matriz de diodos
El principio de los codificadores es el mismo para todos, se reduce unos datos de entrada, estos pasan por un sistema que modifica sus características y como consecuencia se obtiene unos datos de salida, codificados. Por supuesto estos datos serán nuevamente modificados, es decir, decodificados para volver a interpretarlos.
Decodificadores.
Un decodificador es un elemento lógico que nos permite extraer la información o datos contenida en una señal o conjunto de ellas. Normalmente es un circuito integrado digital que permite convertir un código binario codificado en otro sin codificar.
Hay dos grupos en los que clasificar los decodificadores:
- Los que proporcionan una única solución (salida) que depende de las entradas.
- Los que proporcionan varias soluciones por cada combinación de sus entradas.
A un decodificador le llegan dos líneas de entrada y presenta a su salida cuatro líneas, este decodificador pertenece al primer grupo. Veamos en un ejemplo sobre un decodificador de dos entradas, los pasos a seguir para diseñar cualquier tipo de decodificador, son los siguientes:
En el ejemplo, el decodificador tiene dos entradas de peso creciente, que llamaremos A y B. Las combinaciones posibles de A y B, son cuatro por lo que tiene cuatro salidas.
- Tabla de verdad.
- Las ecuaciones lógicas obtenidas por análisis de la tabla de verdad.
- Implementación de las ecuaciones lógicas de salida con puertas convencionales.
La tabla de verdad que se deriva de estas ecuaciones lógicas es tan evidente que no la presentamos y pasamos directamente al circuito lógico siguiente, con puertas convencionales.
Otros ejemplos más complejos los puede ver en las hojas de características del fabricante de los decodificadores siguientes: 74LS138, 74LS143, 74LS145, etc.
Multiplexores.
En el campo de las telecomunicaciones el multiplexor se utiliza como un dispositivo que puede recibir varias entradas y transmitirlas por un medio de transmisión en modo conmutado o compartido. Para lo cual, lo que hace es dividir el medio de transmisión en múltiples canales, de manera que varias entradas puedan comunicarse de forma simultánea. Una señal que está multiplexada, deberá demultiplexarse en el otro extremo del medio para aprovecharla, comúnmente se llama decodificarla.
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 y 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. Asimilemos, 2 entradas, 1 salida y 1 línea de control.
Los circuitos multiplexores, son dispositivos digitales semejantes a un conmutador, tienen muchas entradas y una única salida por la que entregará la señal de la entrada que se encuentre activa. El multiplexor es un circuito digital compuesto de puertas, las cuales están controladas por unas líneas llamadas de control que se usan para direccionar la entrada correspondiente hasta la salida en cada momento.
Así pues, se trata de sistemas digitales combinacionales con varias entradas de datos y una salida, por donde aparecen los datos de la entrada seleccionada con las líneas de control o auxiliares, en algunos tipos dispone de una salida complementaria, puede considerarse como un conversor paralelo-serie.
Dependiendo del número de entradas, el multiplexor dispondrá de ciertas líneas de control, así, para uno de cuatro entradas, se necesitan dos líneas de control. Estas líneas de control, son en realidad un decodificador de direcciones ya que según su situación dará paso a la señal de la dirección de entrada y sólo a esa, inhabilitando al resto de las entradas.
Como se puede apreciar, hay cierta aproximación entre un circuito digital multiplexor y uno decodificador, la semejanza se puede apreciar mejor al comparar las figuras, la del decodificador anterior y la del multiplexor siguiente. La diferencia principal es que, las puertas AND usan una entrada más y todas las salidas lo hacen por una puerta OR. Este procedimiento es el que se debe seguir al considerar la posible aplicación de un multiplexor. La mayoría de los multiplexores disponen de una línea auxiliar llamada Inhibidora, con la que se bloquea o no la salida.
Como se deduce de la tabla de verdad, un multiplexor de 4 entradas necesita 2 líneas de control y por lo tanto un multiplexor de 8 entradas precisará de 3 líneas de control, con la combinación de las cuales se seleccionará la entrada datos que se transmitirá a la salida. El símbolo lógico de uno de 8 entradas, es el siguiente:
Tabla de verdad para 8 entradas.
Fig. 15 Tabla de la verdad 8 entradas 1 salida.
En conclusión, como se puede ver en la tabla de verdad, la entrada Strobe, para obtener una salida estará a 0 siempre por lo tanto lo debemos tener en cuenta.
La función de un multiplexador da lugar a diversas aplicaciones:
1. Selector de entradas.
2. Serializador: Convierte datos desde el formato paralelo al formato serie.
3. Trasmisió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, se consigue diseñar funciones complejas, de un modo más compacto que con las tradicionales puertas lógicas.
Con la aplicación del multiplexado a las salidas de un puerto del PIC, es posible controlar varios LEDs o displays usando únicamente unas cuantas líneas del puerto, este método se usa para ahorrar componentes y espacio en las aplicaciones.
Demultiplexores.
Los demultiplexores son circuitos cuya función en cierto modo, es justamente la inversa de los multiplexores, ya que estos reciben los datos digitales de información por una única línea y mediante unas líneas auxiliares de control entregan los datos de la entrada, por una de las líneas de salida que dispone. Para determinar cual de las salidas es en la que aparecen los datos de información, es donde intervienen las líneas auxiliares de control. Así que, un demultiplexor actúa como un conversor Serie-Paralelo.
Este es el sinóptico que representa el demultiplexor:
Por lo tanto, para un demultiplexor de cuatro salidas S0-S3, se necesitan dos líneas de control C0 y C1 y una de entrada de señal E. En cierto modo desde el punto de vista de las señales, podemos considerar que las líneas C0-C1 y E, son entradas y salidas las S0-S3. Este es el esquema del demultiplexor descrito y su tabla, donde Z significa alta impedancia del triestado.
Fig. 17 Demultiplexor 1 a 4.
Un circuito demultiplexor es el 74LS138 con una entrada y ocho salidas usado para decodificar las posiciones de memoria en un microcontrolador por ejemplo, otro bastante usado es el decodificador de BCD a 7 segmentos como el 74LS47.
Conclusión.
Las líneas de entrada de señal E y las líneas de control Cx, respecto de los multiplexores y demultiplexores, deben ser sincronizadas para alcanzar la máxima efectividad y evitar así, los típicos errores que se producen en las transmisiones-recepciones de datos, a parte de los producidos por capacidades y otros.
Es decir, por la línea de datos E están llegando datos permanentemente, esto exige que las líneas de control C deben tener una frecuencia de rastreo adecuada a la de llegada de datos por E, en caso contrario se perderá algún paquete de datos y en consecuencia habrá errores en la operación.
Comparadores de magnitud.
Son circuitos digitales que detectan la igualdad entre dos números binarios A y B, formados por n bit y en caso contrario, nos indican si A>B, A=B o A<B. La operación necesaria es la comparación de magnitud entre la suma y la resta aritméticas, así pues, los comparadores son una parte esencial en circuitos de lógica aritmética.
El comparador de magnitud más sencillo es el de un número de un bit, el cual da lugar a las mencionadas tres salidas A>B [M], A<B [m] y A=B [I]. La tabla de verdad del comparador de un número de un bit es la siguiente.
Las ecuaciones lógicas que corresponden a las salidas del comparador de magnitud se deducen de la tabla de verdad y se muestran a continuación y el circuito que lo implementa se ve debajo:
M = A· Bm = A· B
I = A· B + A· B
Donde:
M= Mayor, m= menor e I= igual
Otro circuito que puede servir de muestra al lector es el correspondiente al comparador de 4 bits 74LS85 como muestran las hojas de características del fabricante.
Como ya se ha comentado con anterioridad, estas lecciones pretenden ser de alguna manera iniciadoras de una forma de analizar y seguir unos criterios a la hora de plantearse cómo resolver un proyecto. Y además, con la esperanza de que su seguimiento pueda orientar y servir de experiencia a futuros profesionales.