Mecatrónica
martes, 26 de enero de 2016
viernes, 27 de noviembre de 2015
martes, 24 de noviembre de 2015
Compuertas Lógicas
Compuertas Lógicas
Índice
- 1.-Introducción.
- 2.-Lógica Positiva.
- 3.-Lógica Negativa.
- 4.-Compuertas Lógicas.
- 4.1.- Compuerta NOT
- 4.2.- Compuerta AND
- 4.3.- Compuerta OR
- 4.4.- Compuerta OR-EX o XOR
- 4.5.- Compuerta NAND
- 4.6.- Compuerta NOR
- 4.7.- Compuerta NOR-EX
- 4.8 Buffers
- 5.- Álgebra Booleana y circuitos electrónicos.
- 6.- Circuitos Combinacionales.
- 7.- Circuitos Secuenciales.
- 8.- Relación entre la lógica combinacional y secuencial con la programación.
- 9.- Los Teoremas Básicos Del Algebra Booleana.
- 10.- Conclusión.
- 11.- Bibliografía.
Introducción
Dentro
de la electrónica digital, existe un gran
número de problemas a resolver que se repiten normalmente.
Por ejemplo, es muy común que al diseñar un circuito electrónico necesitemos
tener el valor opuesto al de un punto determinado, o que
cuando un cierto número de pulsadores estén activados, una salida permanezca
apagada. Todas estas situaciones pueden ser expresadas mediante ceros y unos, y
tratadas mediante circuitos digitales. Los elementos básicos de
cualquier circuito digital son las compuertas lógicas.
Las computadoras digitales utilizan el sistema
de números binarios, que tiene dos dígitos 0 y 1. Un dígito binario se denomina
un bit. La información está representada en las computadoras
digitales en grupos de bits. Utilizando diversas técnicas de codificación los
grupos de bits pueden hacerse que representen no solamente números binarios
sino también otros símbolos discretos cualesquiera, tales como dígitos
decimales o letras de alfabeto. Utilizando arreglos binarios y diversas
técnicas de codificación, los dígitos binarios o grupos de bits pueden
utilizarse para desarrollar conjuntos completos de instrucciones para realizar
diversos tipos de cálculos.
La información binaria se representa en un
sistema digital por cantidades físicas denominadas señales, Las señales
eléctricas tales como voltajes existen a través del sistema digital en
cualquiera de dos valores reconocibles y representan una variable binaria igual
a 1 o 0. Por ejemplo, un sistema digital particular puede emplear una señal de
3 volts para representar el binario "1" y 0.5
volts para el binario "0". La siguiente ilustración
muestra un ejemplo de una señal binaria.
Como se muestra en la figura, cada valor
binario tiene una desviación aceptable del valor nominal. La región intermedia
entre las dos regiones permitidas se cruza solamente durante la transición de
estado. Los terminales de entrada de un circuito digital aceptan señales
binarias dentro de las tolerancias permitidas y los circuitos responden en los
terminales de salida con señales binarias que caen dentro de las tolerancias
permitidas.
La lógica binaria tiene que ver con variables
binarias y con operaciones que toman un sentido lógico. La manipulación de
información binaria se hace por circuitos lógicos que se
denominan Compuertas.
Las compuertas son bloques del hardware que
producen señales en binario 1 ó 0 cuando se satisfacen los requisitos de
entrada lógica. Las diversas compuertas lógicas se encuentran comúnmente en
sistemas de computadoras digitales. Cada compuerta tiene un símbolo gráfico
diferente y su operación puede describirse por medio de una función algebraica.
Las relaciones entrada - salida de las variables binarias para cada compuerta
pueden representarse en forma tabular en una tabla de verdad.
A continuación se detallan los nombres,
símbolos, gráficos, funciones algebraicas, y tablas de verdad de las compuertas
más usadas.
2.-Lógica
Positiva
En
esta notación al 1 lógico le corresponde el nivel más alto de tensión y al 0
lógico el nivel más bajo, pero que ocurre cuando la señal no está bien
definida. Entonces habrá que conocer cuáles son los límites para cada tipo de señal (conocido como
tensión de histéresis), en este gráfico se puede ver con mayor claridad
cada estado lógico y su nivel de tensión.
3.-Lógica
Negativa
Aquí
ocurre todo lo contrario, es decir, se representa al
estado "1" con los niveles más bajos de tensión y
al "0" con los niveles más altos.
Por
lo general se suele trabajar con lógica positiva, la forma más sencilla de
representar estos estados es como se puede ver en el siguiente gráfico.
4.-Compuertas
Lógicas
Las
compuertas lógicas son dispositivos que operan con aquellos estados lógicos
mencionados en lo anterior y funcionan igual que una calculadora, de un lado
ingresas los datos, ésta realiza una operación, y finalmente,
te muestra el resultado.
Cada
una de las compuertas lógicas se las representa mediante un Símbolo, y la
operación que realiza (Operación lógica) se corresponde con una tabla,
llamada Tabla de Verdad.
·
4.1.- Compuerta NOT
Se
trata de un inversor, es decir, invierte el dato de entrada, por ejemplo; si
pones su entrada a 1 (nivel alto) obtendrás en su salida un 0 (o nivel bajo), y
viceversa. Esta compuerta dispone de una sola entrada. Su operación lógica
es s igual a a invertida
·
4.2.- Compuerta AND
Una
compuerta AND tiene dos entradas como mínimo y su operación lógica es un producto entre ambas, no es un producto
aritmético, aunque en este caso coincidan.*Observa que su salida será alta si
sus dos entradas están a nivel alto*
·
4.3.- Compuerta OR
Al
igual que la anterior posee dos entradas como mínimo y la operación lógica,
será una suma entre ambas... Bueno, todo va bien hasta que 1 + 1 = 1, el
tema es que se trata de una compuerta O Inclusiva es como a y/o
b*Es decir, basta que una de ellas sea 1 para que su salida sea
también 1*
4.4.- Compuerta OR-EX o XOR
Es OR EXclusiva en este caso con dos
entradas (puede tener más) y lo que hará con ellas será una suma lógica entre a por b invertida y a
invertida por b.*Al ser O Exclusiva su salida
será 1 si una y sólo una de sus entradas es 1*
Estas serían básicamente las compuertas más
sencillas.
Compuertas Lógicas Combinadas
Al agregar una compuerta NOT a cada una de
las compuertas anteriores los resultados de sus respectivas tablas de verdad se
invierten, y dan origen a tres nuevas compuertas llamadas NAND, NOR y NOR-EX.
4.5.- Compuerta NAND
Responde a la inversión del producto lógico de sus entradas, en su representación simbólica se
reemplaza la compuerta NOT por un círculo a la salida de la compuerta AND.
4.6.- Compuerta NOR
El resultado que se obtiene a la salida de
esta compuerta resulta de la inversión de la operación lógica o
inclusiva es como un no a y/o b. Igual que antes, solo agregas un
círculo a la compuerta OR y ya tienes una NOR.
4.7.- Compuerta NOR-EX
Es simplemente la inversión de la compuerta
OR-EX, los resultados se pueden apreciar en la tabla de verdad, que bien
podrías compararla con la anterior y notar la diferencia, el símbolo que la
representa lo tienes en el siguiente gráfico.
4.8 Buffers
En realidad no realiza ninguna operación
lógica, su finalidad es amplificar un poco la señal (o refrescarla si se puede
decir). Como puedes ver en el siguiente gráfico la señal de salida es la misma
que de entrada.
5.- Álgebra
Booleana y circuitos electrónicos
La relación que existe entre la lógica
booleana y los sistemas de cómputo es fuerte, de hecho se da una relación uno a uno entre
las funciones booleanas y los circuitos electrónicos de compuertas digitales.
Para cada función booleana es posible diseñar un circuito electrónico y viceversa,
como las funciones booleanas solo requieren de los operadores AND, OR y NOT
podemos construir nuestros circuitos utilizando exclusivamente éstos operadores
utilizando las compuertas lógicas homónimas. Un hecho interesante es que es
posible implementar cualquier circuito electrónico utilizando una sola
compuerta, ésta es la compuerta NAND Para probar que podemos construir
cualquier función booleana utilizando sólo compuertas NAND, necesitamos
demostrar cómo construir un inversor (NOT), una compuerta AND y una compuerta
OR a partir de una compuerta NAND, ya que como se dijo, es posible implementar
cualquier función booleana utilizando sólo los operadores booleanos AND, OR y
NOT. Para construir un inversor simplemente conectamos juntas las dos entradas
de una compuerta NAND. Una vez que tenemos un inversor, construir una compuerta
AND es fácil, sólo invertimos la salida de una compuerta NAND, después de todo,
NOT (NOT (A AND B)) es equivalente a A AND B. Por supuesto, se requieren dos
compuertas NAND para construir una sola compuerta AND, nadie ha dicho que los
circuitos implementados sólo utilizando compuertas NAND sean lo óptimo, solo se
ha dicho que es posible hacerlo. La otra compuerta que necesitamos sintetizar
es la compuerta lógica OR, esto es sencillo si utilizamos los teoremas de De
Morgan, que en síntesis se logra en tres pasos, primero se reemplazan todos
los "·" por "+" después se invierte
cada literal y por último se niega la totalidad de la expresión:
A OR BA AND B.......................Primer
paso para aplicar el teorema de DeMorganA' AND B'.....................Segundo
paso para aplicar el teorema de DeMorgan(A' AND B')'..................Tercer
paso para aplicar el teorema de DeMorgan(A' AND B')' = A' NAND
B'.....Definición de OR utilizando NAND
Si se tiene la necesidad de construir
diferentes compuertas de la manera descrita, bien hay dos buenas razones, la
primera es que las compuertas NAND son las más económicas y en segundo lugar es
preferible construir circuitos complejos utilizando los mismos bloques básicos.
Observe que es posible construir cualquier circuito lógico utilizando sólo
compuertas de tipo NOR (NOR = NOT(A OR B)). La correspondencia entre la lógica
NAND y la NOR es ortogonal entre la correspondencia de sus formas canónicas.
Mientras que la lógica NOR es útil en muchos circuitos, la mayoría de los
diseñadores utilizan lógica NAND.
6.- Circuitos Combinacionales
Un circuito combinacional es un sistema que contiene operaciones booleanas básicas (AND, OR, NOT),
algunas entradas y un juego de salidas, como cada salida corresponde a una función lógica
individual, un circuito combinacional a menudo implementa varias funciones
booleanas diferentes, es muy importante recordar éste hecho, cada salida
representa una función booleana diferente.
Un ejemplo común de un circuito
combinacional es el decodificador de siete segmentos, se trata de un circuito
que acepta cuatro entradas y determina cuál de los siete segmentos se deben
iluminar para representar la respectiva entrada, de acuerdo con lo dicho en
el párrafo anterior, se deben implementar siete funciones de salida
diferentes, una para cada segmento. Las cuatro entradas para cada una de éstas
funciones booleanas son los cuatro bits de un número binario en el rango de 0 a
9. Sea Del bit de alto orden de éste número y A el bit de bajo orden, cada
función lógica debe producir un uno (para el segmento encendido) para una
entrada dada si tal segmento en particular debe ser iluminado, por ejemplo, el
segmento e debe iluminarse para los valores 0000, 0010, 0110 y 1000.
En la siguiente tabla se puede ver qué
segmentos deben iluminarse de acuerdo al valor de entrada, tenga en cuenta que sólo se están representando valores en el rango de 0 a 9, los decodificadores para las pantallas de
siete segmentos comerciales tienen capacidad para desplegar valores adicionales
que corresponden a las letras A a la F para representaciones hexadecimales, sin
embargo la mecánica para iluminar los respectivos segmentos es similar a la aquí
representada para los valores numéricos.
0
|
a
|
b
|
c
|
d
|
e
|
f
|
|
1
|
b
|
c
|
|||||
2
|
a
|
b
|
d
|
e
|
g
|
||
3
|
a
|
b
|
c
|
d
|
g
|
||
4
|
b
|
c
|
f
|
g
|
|||
5
|
a
|
c
|
d
|
f
|
g
|
||
6
|
c
|
d
|
e
|
f
|
g
|
||
7
|
a
|
b
|
c
|
||||
8
|
a
|
b
|
c
|
d
|
e
|
f
|
g
|
9
|
a
|
b
|
c
|
f
|
g
|
Los circuitos combinacionales son la base
de muchos componentes en un sistema de cómputo básico, se puede construir
circuitos para sumar, restar, comparar, multiplicar, dividir y muchas otras
aplicaciones más.
7.- Circuitos Secuenciales
Un problema con la lógica secuencial es su
falta de "memoria". En teoría, todas las funciones de salida en un circuito combinacional dependen
del estado actual de los valores de entrada, cualquier cambio en los valores de entrada se refleja (después de un intervalo
de tiempo llamado retardo de propagación) en las salidas.
Desafortunadamente las computadoras requieren de la habilidad para
"recordar" el resultado de cálculos pasados. Éste es el dominio de la lógica secuencial. Una celda de memoria es un circuito
electrónico que recuerda un valor de entrada después que dicho valor ha
desaparecido. La unidad de memoria más básica es el flip-flop Set/Reset. Aunque
recordar un bit sencillo es importante, la mayoría de los sistemas de cómputo
requieren recordar un grupo de bits, esto se logra combinando varios flip-flop en paralelo,
una conexión de éste tipo recibe el nombre de registro. A partir de aquí es posible implementar diferentes circuitos
como registros de corrimiento y contadores, éstos últimos también los conocemos
como circuitos de reloj. Con los elementos mencionados es posible construir
un microprocesador completo.
8.- Relación entre la lógica combinacional y
secuencial con la programación
En ésta lección hemos dado una repasada muy
básica a los elementos que forman la base de los modernos sistemas de cómputo,
en la sección dedicada al diseño electrónico estudiaremos a profundidad los conceptos aquí
presentados, pero para aquellos que están más interesados en el aspecto
programático podemos decir que con los elementos vistos en ésta lección es
posible implementar máquinas de estado, sin embargo la moraleja de ésta lección es muy
importante: cualquier algoritmo que podamos implementar en software, lo podemos a su vez
implementar directamente en hardware. Esto sugiere que la lógica booleana es la base computacional en los
modernos sistemas de cómputo actuales. Cualquier programa que Usted escriba, independientemente del lenguaje que utilice, sea éste de alto ó bajo nivel, se puede especificar
como una secuencia de ecuaciones booleanas.
Un hecho igualmente interesante es el punto
de vista opuesto, es posible implementar cualquier función de hardware
directamente en software, en la actualidad ésta es la función principal del
lenguaje ensamblador y otros con capacidad de trabajar
directamente en hardware, como el C y el C++. Las consecuencias de éste
fenómeno apenas se están explotando, se infiere la existencia de un futuro muy
prometedor para el profesional de la programación, especialmente aquellos dedicados a los
sistemas incrustados (embedded systems), los microcontroladores y los profesionales dedicados a la
Programación Orientada a Objetos. Para tener éxito en éstos campos de la investigación es fundamental comprender las
funciones booleanas y la manera de implementarlas en software. Aún y cuando
Usted no desee trabajar en hardware, es importante conocer las funciones
booleanas ya que muchos lenguajes de alto nivel procesan expresiones booleanas,
como es el caso de los enunciados if-then o los bucles while.
9.- Los Teoremas Básicos Del Algebra Booleana
Los Teoremas Básicos del álgebra Booleana son:
A
|
B
|
C
|
B+C
|
AB
|
AC
|
AB+AC
|
A (B+C)
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
1
|
0
|
0
|
0
|
0
|
0
|
1
|
0
|
1
|
0
|
0
|
0
|
0
|
0
|
1
|
1
|
1
|
0
|
0
|
0
|
0
|
1
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
0
|
1
|
1
|
0
|
1
|
1
|
1
|
1
|
1
|
0
|
1
|
1
|
0
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
TEOREMA 2
A+A = A
AA = A
A
|
A
|
A+A
|
|
0
|
0
|
0
|
|
1
|
1
|
1
|
|
A
|
A
|
AA
|
|
0
|
0
|
0
|
|
1
|
1
|
1
|
TEOREMA 3
Redundancia
A+AB = A
A
|
B
|
AB
|
X
|
0
|
0
|
0
|
0
|
0
|
1
|
0
|
0
|
1
|
0
|
0
|
1
|
1
|
1
|
1
|
1
|
A (A+B) = A
A
|
B
|
A+B
|
X
|
0
|
0
|
0
|
0
|
0
|
1
|
1
|
0
|
1
|
0
|
1
|
0
|
1
|
1
|
1
|
1
|
TEOREMA 4
0+A = A
Equivalente a una compuerta OR con una
de sus terminales conectada a tierra
A
|
B=0
|
X
|
0
|
0
|
0
|
1
|
0
|
1
|
1A = A
Equivalente a una compuerta AND con una de
sus terminales conectada a 1
A
|
B=1
|
X
|
0
|
1
|
0
|
1
|
1
|
1
|
1+A = 1
A
|
B=1
|
X
|
0
|
1
|
1
|
1
|
1
|
1
|
0A = 0
A
|
B=0
|
X
|
0
|
0
|
0
|
1
|
0
|
0
|
10.- Conclusión
·
Las
álgebras booleanas, estudiadas por primera vez en detalle por George Boole,
constituyen un área de las matemáticas que ha pasado a ocupar un lugar
prominente con el advenimiento de la computadora digital.
·
Son
usadas ampliamente en el diseño de circuitos de distribución y computadoras, y sus aplicaciones
van en aumento en muchas otras áreas.
·
Las
compuertas lógicas son los dispositivos electrónicos más sencillos que existen,
pero al mismo tiempo son los más utilizados en la actualidad.
11.- Bibliografía:
Suscribirse a:
Entradas (Atom)