Tutoriales de Electrónica Básica
ELECTRONICA DIGITAL:

Cómo obtener el esquema de operadores lógicos basándome en una tabla de verdad, upss grave problema, ok, no es el fin del mundo, veamos que son los mapas de karnaugh y lo solucionarás sin problema

MÁS SOBRE FUNCIONES Y OPERADORES LÓGICOS.

A estas alturas ya estamos muy familiarizados con las funciones de todos los operadores lógicos y sus tablas de verdad, todo vino bien..., pero... qué hago si dispongo de tres entradas (a, b y c) y deseo que los estados altos sólo se den en las combinaciones 0, 2, 4, 5 y 6 (decimal)...? Cómo combino las compuertas...? y lo peor, Qué compuertas utilizo...?. No te preocupes, yo tengo la solución, ...Llamemos al Profe Google y busquemos allí... :o))

Bueno... NO...!!!, mejor no. Trataré de dar una solución verdadera a tu problema, preparado...?

Va...!!!

MAPAS DE KARNAUGH

Podría definirlo como un método para encontrar la forma más sencilla de representar una función lógica.

Esto es... Encontrar la función que relaciona todas las variables disponibles, de tal modo que el resultado sea el que se está buscando.

Para esto vamos a aclarar tres conceptos que son fundamentales

a)- Minitérmino Es cada una de las combinaciones posibles entre todas las variables disponibles, por ejemplo con 2 variables obtienes 4 minitérminos; con 3 obtienes 8; con 4, 16 etc., como te darás cuenta se puede encontrar la cantidad de minitérminos haciendo 2n donde n es el número de variables disponibles.

b)- Numeración de un minitérmino Cada minitérmino es numerado en decimal de acuerdo a la combinación de las variables y su equivalente en binario así...

Numeración de un Minitérmino

Bien... El Mapa de Karnaugh representa la misma tabla de verdad a través de una matriz, en la cual en la primer fila y la primer columna se indican las posibles combinaciones de las variables. Aquí tienes tres mapas para 2, 3 y 4 variables...

Mapa de Karnaugh para 2,3 y 4 variables

Analicemos el mapa para cuatro variables, las dos primeras columnas (columnas adyacentes) difieren sólo en la variable d, y c permanece sin cambio, en la segunda y tercer columna (columnas adyacentes) cambia c, y d permanece sin cambio, ocurre lo mismo en las filas. En general se dice que...

Dos columnas o filas adyacentes sólo pueden diferir en el estado de una de sus variables

Observa también que según lo dicho anteriormente la primer columna con la última serían adyacentes, al igual que la primer fila y la última, ya que sólo difieren en una de sus variables

c)- Valor lógico de un minitérmino (esos que estaban escritos en rojo), bien, estos deben tener un valor lógico, y es el que resulta de la operación que se realiza entre las variables. lógicamente 0 ó 1

Listo... Lo que haremos ahora será colocar el valor de cada minitérmino según la tabla de verdad que estamos buscando... diablos...!!! en este momento no se me ocurre nada, bueno si, trabajemos con esta...

Valor lógico de un minitérmino

El siguiente paso, es agrupar los unos adyacentes (horizontal o verticalmente) en grupos de potencias de 2, es decir, en grupos de 2, de 4, de 8 etc... y nos quedaría así...

Agrupando unos adyacentes

Te preguntarás que pasó con la fila de abajo... bueno, es porque no estas atento...!!! Recuerda que la primer columna y la última son adyacentes, por lo tanto sus minitérminos también lo son.

De ahora en más a cada grupo de unos se le asigna la unión (producto lógico) de las variables que se mantienen constante (ya sea uno o cero) ignorando aquellas que cambian, tal como se puede ver en esta imagen...

Mapa de Karnaugh producto lógico

Para terminar, simplemente se realiza la suma lógica entre los términos obtenidos dando como resultado la función que estamos buscando, es decir...

f = (~a . ~b) + (a . ~c)

Puedes plantear tu problema como una función de variables, en nuestro ejemplo quedaría de esta forma...

f(a, b, c) = S(0, 1, 4, 6)

  • f es la función buscada
  • (a, b, c) son las variables utilizadas
  • (0, 1, 4, 6) son los minitérminos que dan como resultado 1 o un nivel alto.
  • S La sumatoria de las funciones que producen el estado alto en dichos minitérminos.

Sólo resta convertir esa función en su circuito eléctrico correspondiente. Veamos, si la función es...

f = (~a . ~b) + (a . ~c) o sea...(NOT a AND NOT b) OR (a AND NOT c)

El esquema eléctrico que le corresponde es el que viene a continuación...

Esquema obtenido con el mapa de Karnaugh

El resultado de todo este lío, es un circuito con la menor cantidad de compuertas posibles, lo cual lo hace más económico, por otro lado cumple totalmente con la tabla de verdad planteada al inicio del problema, y a demás recuerda que al tener menor cantidad de compuertas la transmisión de datos se hace más rápida.En fin... Solucionado el problema...!!!

Por cierto, un día, mientras merodeaba por la red me encontré con un pequeño programa que hace todo este trabajo por tu cuenta, El programa se llama Karma Creado por Pablo Fernández Fraga, mis saludos Pablo...!!! está muy, pero muy bueno...!!!

Basta por hoy, muy pronto utilizaremos toda esta teoría y el programa de pablo (Karma) para diseñar una tarjeta controladora de motores paso a paso, mientras tanto averigua como funcionan estos motores.

Saludos lógicos para todos...!!!