Circuitos combinacionales Circuitos combinacionales 1 Circuitos combinacionales INTRODUCCIÓN AL DISEÑO DE CIRCUITOS COMBINACIONALES Definición Un circuito combinacional se caracteriza porque cada una de sus salidas es una combinación lógica de todas o algunas de sus entradas. Esta combinación lógica queda determinada por la función lógica de la salida. Diseño En general las etapas de diseño de un circuito combinacional se pueden resumir en: 1. Obtención de la función lógica de cada una de las salidas a partir de la descripción del funcionamiento del circuito o su tabla de la verdad. 2. Simplificación de las funciones lógicas de las salidas, normalmente mediante Karnaugh. 3. Opcionalmente, escribir las funciones lógicas con un único tipo de puertas; NAND o NOR. 4. Dibujar el esquema eléctrico correspondiente. Aplicación: Diseño de la etapa de control para un robot seguidor de línea Las especificaciones son: Objetivo: Diseñar un circuito digital, capaz gobernar un micro-robot, haciendo que éste siga una línea negra pintada sobre un fondo blanco. Sensores: El micro-robot está dotado de dos sensores digitales capaces de diferenciar el color negro del blanco. La salida de estos sensores es ’0’ cuando leen blanco y ’1’ cuando leen negro. Denominaremos a este bit como C: Circuitos combinacionales 2 Sensor C Blanco 0 Negro 1 Motores: Dos motores de corriente continua que son controlados cada uno mediante dos bits, denominados P (power, indica si el motor está alimentado) y S (sentido de la marcha), descritos mediante la siguiente tabla de verdad: P(Power) S(Sentido) Estado 0 0 Parado 0 1 Parado 1 0 la rueda avanza 1 1 la rueda retrocede Podríamos representar el robot mediante el siguiente diagrama: 4.4. APLICACIÓN: DISEÑO DE UN CONTROLADOR PARA UN ROBOT SEGUIDOR DE LÍNEA93 Sensor 1 Sensor 2 Motor 1 Motor 2 Ruedas Algoritmo: El algoritmo para seguir la línea negra eses muy sencillo. Algoritmo: El algoritmo para seguir la línea negra muy sencillo.Mientras Mientraslos losdos dos sensosensores detecten negro, el robot deberá avanzar. Cuando el sensor la derecha de- blanco y res detecten negro, el robot deberá avanzar. Cuando el sensor de ladederecha detecte de la izquierda el robot girará a la izquierda cuando ocurra el caso contrario tecteelblanco y el de lanegro, izquierda negro, el robot girará a lay izquierda y cuando ocurra el gia la derecha. sensores leen sensores blanco permanecerá Esto se esquematiza casorará contrario girará Si a laambos derecha. Si ambos leen blanco parado. permanecerá parado. en la siguiente figura: Esto se esquematiza en las siguientes figuras: Circuitos combinacionales Recto Giro izquierda Giro derecha 3 CAPÍTULO 4. CIRCUITOS COMBINACIONALES Solución. Tabla de verdad Tabla de la verdad hay que definir el comportamiento del circuito, utilizando una tabla de verdad. Este La tabla de la verdad correspondiente al comportamiento anterior será: miento nos lo da el algoritmo de seguir la línea. La tabla de verdad es la siguiente: 0 0 x 0 x 0 0 1 0 1 1 1 1 0 1 1 0 1 1 1 0 1 0 1 na ’x’ se han marcado las casillas de la tabla de verdad que es indiferente su valor. combinacionales Circuitos s convenga puede valer ’0’ ó ’1’. 4 Con una ’x’ se han marcado las casillas de la tabla de verdad que es indiferente su valor. Según nos convenga puede valer ’0’ ó ’1’. 4.4.5. Ecuaciones booleanas del circuito Con una “x” se marcan aquellas situaciones en las que es indiferente el valor que tome la entrada o la salida correspondiente. Puesto que el circuito sólo tiene 2 variables de entrada, es inmediato obtener las expresiones de , , De y esta . forma las funciones canónicas correspondientes serían: Se observa que P1 y P2 son iguales. Obtención de las funciones lógicas y su simplificación CAPÍTULO 4. CIRCUITOS COMBINACIONALES 94 Aplicando los Tabla mapasdedeverdad Karnaugh: 4.4.4. También se podría haber hecho Karnaugh: Ahora hay que definir el comportamiento del circuito, utilizando una tabla de verdad. Este comportamiento nos lo da el algoritmo de seguir la línea. La tabla de verdad es la siguiente: S2 P1 S1 C2 0 C 20 C1 0 0 1 C 01 1 0 1 1 0 x 0 x 0 1 0 1 1 1 10 1 0 0 1 1 0x 1 0 1 0 C2 C1 1 0 0 1 x 1 Con una ’x’ se han marcado las casillas de la tabla de verdad que es indiferente su valor. Según nos convenga puede valer ’0’ ó ’1’. 1 1 1 1 1 0 0 1 0 4.4.5. Ecuaciones booleanas del circuito De donde Puesto finalmente se obtiene las2 siguientes funciones lógicas que el circuito sólo tiene variables de entrada, es inmediato obtener las expresiones de , , y . También se podría haber hecho Karnaugh: P1 C2 C1 S2 S1 C2 C2 0 1 0 0 1 1 1 1 C1 0 1 C1 0 x 0 0 1 1 0 1 0 1 x 1 Circuitos combinacionales 0 0 5 4.4.6. Implementación del circuito El circuito, implementado con puertas lógicas básicas es el siguiente: 4.5. ANÁLISIS DE CIRCUITOS COMBINACIONALES 95 4.4.6.eléctrico Implementación del circuito Esquema C S 1 1 El circuito, implementado con puertas lógicas básicas es el siguiente: C2 C1 S2 S1 C2 P1 S2 P2 P1 P2 Si lo construimos utilizando puertas TTL, necesitamos dos integrados, uno para los inversores Si lo construimos utilizando puertas TTL, necesitamos dos integrados, uno para los inversores y otro para la puerta que OR.podemos Si en vezimplementar de ello lo implementamos sólo con puertas NAND, el circuito únicamente con puertas NAND y obtener y otro para la puerta OR. Si en vez de ello lo implementamos sólo con puertas NAND, el circuito es el siguiente: es el siguiente: C1 C1 S1 P1 C2 P2 S1 P1 P2 S2 C2 S2 Tiene también 3 puertas, pero ahora sólo es necesario un sólo circuito integrado. Tiene también 3 puertas, pero ahora sólo es necesario un sólo circuito integrado. 4.5. Análisis de circuitos combinacionales Por análisis entendemos lo contrario de diseño. Al diseñar partimos de unas especificaciones, 4.5. Análisis deobtenemos circuitos combinacionales una tabla de verdad o una función booleana, la simplificamos y la implementamos con puertas lógicas. En el análisis partimos de un circuito y tendremos que obtener bien la tabla de verdad, bien la de expresión lo quepartimos nos permitirá analizar si el circuito era el más Por análisis entendemos lo contrario diseño.booleana, Al diseñar de unas especificaciones, óptimo o nos permitirá hacer una re-implementación de dicho circuito utilizando otra tecnología. obtenemos una tabla de verdad o una función booleana, la simplificamos y la implementamos Si el circuito tiene pocas entradas, cuatro o menos, lo mejor es hacer la tabla de verdad. Para con puertas lógicas. En elrealizarla análisistomaremos partimospuntos de unintermedios circuito yentendremos que obtener bien la tabla el circuito, que incluiremos también en la propia de verdad, bien la expresión booleana, lo que nos permitirá analizar si el circuito era el más óptimo o nos permitirá hacer una re-implementación de dicho circuito utilizando otra tecnología. Si el circuito tiene pocas entradas, cuatro o menos, lo mejor es hacer la tabla de verdad. Para ealizarla tomaremos puntos intermedios en el circuito, que incluiremos también en la propia Circuitos combinacionales 6