Está en la página 1de 29

Sistemas Electrónicos Digitales Pág.

TEMA 4: SISTEMAS DE NUMERACIÓN. CODIFICACIÓN

4.1. EL SISTEMA DECIMAL

Un sistema numérico se define por sus símbolos básicos, llamados dígitos o cifras, y la
forma de combinar los dígitos para representar toda la gama de números que requerimos. Los
símbolos numéricos con los que más familiarizados estamos en la actualidad se conocen como
dígitos arábigos, ya que se desarrollaron en la cultura árabe medieval, que consiste en los diez
dígitos 1, 2, 3, 4, 5, 6, 7, 8, 9, 0.

Los diez dígitos arábigos se pueden combinar de varias maneras para representar cualquier
número grande o pequeño. Por ejemplo

0.001 1/1000 10 -3

son tres formas diferentes de representar una milésima. Una manera fundamental de construir un
número es formar una secuencia o cadena de dígitos en la cual los dígitos consecutivos representan
potencias consecutivas de 10. Por ejemplo, los cuatro dígitos del número 2979 representan, de
izquierda a derecha, los millares (2), las centenas (el primer 9), las decenas (7) y las unidades (el
segundo 9). De esta forma, el número de cuatro dígitos se podría descomponer de la siguiente
manera:

2979  2  10 3  9  10 2  7  101  9  10 0 (4.1)

Este método de representar números se denomina sistema decimal.

4.2. BASE NUMÉRICA

La notación de números decimales ilustrada por la ecuación


(4.1) se puede generalizar en otra en la que la cantidad clave 10 se reemplaza con otro
número entero r, llamado base o raíz del sistema numérico. En este caso se requieren r dígitos, en
lugar de 10, y hay que reemplazar la ponderación decimal de la forma 10 i con una de la forma ri. De
esta manera, el entero de tres dígitos x2x1x0 de base r se puede expresar como
x2 x1 x0  x2  r 2  x1  r 1  x0  r 0 (4.2)

donde los dígitos xi se toman de un conjunto de r elemento denotados por {0, 1, 2, ..., r-1}. Una
notación posicional de este tipo se llama sistema numérico de base r. En la Tabla 4.1 se enumeran
algunos sistemas numéricos de interés y sus nombres.

Nombre de Sistema Base r Dígitos Utilizados


Binario 2 0, 1
Ternario 3 0, 1, 2
Octal 8 0, 1, 2, 3, 4, 5, 6, 7
Decimal 10 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Hexadecimal 16 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, F
Tabla 4.1. Algunos sistemas numéricos con sus bases y conjuntos de dígitos

Departamento Electrónica (Univ. Málaga) Juan Carlos Tejero Calado


Sistemas Electrónicos Digitales Pág. 2

Como todos los sistemas numéricos anteriores comparten los símbolos que usan como dígitos, una
secuencia de dígitos puede representar varios números dependiendo la base que se use.

Un sistema numérico puede representar enteros, fracciones o números mixtos, que son
números con una parte entera y una fraccionaria. En los números decimales mixtos hay un punto
decimal que separa la parte entera de la fraccionaria. En el caso de los números en base r, este
separador también se denomina punto. Por ejemplo, el número ternario mixto 102.213 tiene la
siguiente interpretación:

102.213  1 32  0  31  2  30  2  31  1 32  11.777···10 (4.3)

El punto en 102.213 se conoce como punto ternario o punto decimal de base 3.

Un aspecto importante de los sistemas digitales es que sólo pueden manejar números con
una cantidad fija de dígitos n. Por ejemplo, los computadores tienen un tamaño de palabra
específico, que es la longitud (número de bits) de los números binarios procesados por las
instrucciones internas del computador. Los tamaños de las palabras normalmente son potencias de
dos.

La Figura 4.1 muestra dos ejemplos de números binarios con tamaño de palabra de ocho bits. El
primer ejemplo denota el número 20, el cual, es la secuencia 10100 2. Para ajustar este número a un
formato de ocho bits, se extiende a los ocho bits añadiendo tres ceros en un su extremo izquierdo.
Estos "ceros iniciales" no afectan al valor numérico de la palabra y por lo tanto se denominan no
significativos. Para el caso de la fracción 29/64, cuya forma binaria es 0.0111012, hay seis dígitos
significativos, que se extienden a ocho bits agregando dos ceros "finales" insignificantes.

Ceros
Iniciales
0 0 1 0 1 0 0

0 1 1 0 1 1 0 0
Ceros
Finales
Figura 4.1.Números binarios de ocho bits. A la izquierda del punto el número 20, al derecha la fracción 29/64

4.3. CONVERSIÓN ENTRE NÚMEROS DE DIFERENTE BASE

4.3.1. Base b a Decimal

Como hemos visto anteriormente, cualquier número puede ser representado de la forma
n 1
N  rn 1  b n 1  rn  2  b n  2      r1  b1  r0  b 0   ri  b i (4.4)
i 0

Un método que se puede usar para la conversión de un número en base b a decimal es el de


desarrollar el número N como una suma de potencias siguiendo la pauta de la ecuación (4.4) y luego
evaluar esta suma usando aritmética decimal ordinaria. El resultado de la sumatoria es la forma
decimal deseada N10. Por ejemplo,
Departamento Electrónica (Univ. Málaga) Juan Carlos Tejero Calado
Sistemas Electrónicos Digitales Pág. 3

11101 2  1 2 4  1 23  1 2 2  0  21  1 20
(4.5)
 16  8  4  0  1
 29

Se puede evitar la exponenciación si se lleva a cabo una multiplicación repetida por la base.
Esto se basa en la ecuación (4.4) y se puede rescribir como

 n 1 
N  
 b    ri  b i 1   r0
 i 1  (4.6)
  
 
n 1
 b   b    ri  b i  2    r0
  i 2 
 b  b    b  b  rn 1  rn  2      r1   r0

Por lo tanto, podemos escribir la ecuación (4.5) como:

11101 2  2  2  2  2 1  1  1  0  1
 2  2  2  3  1  0  1
 2  2  7  0   1
 2 14  1
 29

De esta manera, la conversión de base se reduce a una secuencia de n multiplicaciones y n sumas.

EJERCICIOS:

Convierta los siguientes números a forma decimal ordinaria: 245, 3067, 1478, ABC15, 1464.

4.3.2. Conversión de Fracciones y Números Mixtos

El procedimiento de conversión de base que se desarrolló previamente puede modificarse


con facilidad para manejar fracciones o números binarios mixtos. Así pues, si Nr es una fracción
expresada como Nr = rn-1rn-2···r1r0 entonces:

n 1
N r  rn 1  b 1  rn  2  b  2      r1  b1 n  r0  b  n   ri  b i  n (4.7)
i 0

Si comparamos la ecuación (4.4) con la ecuación (4.7) se observa que cada potencia en la sumatoria
se reduce en n, reflejándose el desplazamiento del punto binario n posiciones a la derecha en Nr. De
manera general, si

N b  rn1rn2    rm .rm1    r1r0 (4.8)

y el punto binario está entre los bits rm y rm-1, entonces


Departamento Electrónica (Univ. Málaga) Juan Carlos Tejero Calado
Sistemas Electrónicos Digitales Pág. 4

n 1
N b   ri  b i  m (4.9)
i 0

Suponga que extraemos el factor b-m de cada término de la sumatoria (4.9). Con ello, podríamos
escribir

 n 1 
N b  b m   ri  bi   b m  N * (4.10)
 i 0 

donde N* es un entero. El término b-m es un factor de escala, cuyo efecto es desplazar el punto
binario de N* m posiciones a la izquierda para cambiarlo a una forma mixta. Así mismo, bm es un
factor de escala que desplaza el punto binario m posiciones a la derecha, con lo cual convertirá un
número binario mixto a entero.

Para ilustrar el procedimiento, suponga que convertiremos a forma decimal N10 el número N2
= 011001.012, donde m = 2 y b = 2. Para multiplicar N2 por 2m se desplaza el punto binario m = 2
*
posiciones a la derecha, produciendo el entero N 2* = 011001012, el cual es el número N10 = 10110.
Entonces,

N10  N10
*
 22  10110  0.2510  25.2510

4.3.3. Conversión entre dos bases cualesquiera

Sea N un número en base S, y se desea convertir a base r. Para ello se realiza la siguiente
secuencia de divisiones en base S

N r
A0 N1 r
A1 N2 r
··· ··· (4.11)
Nn-1 r
An-1 Nn r
An 0

Esta división puede escribirse también de la siguiente forma:

N  r  N1  A0
N1  r  N 2  A1
(4.12)

N n  r  0  An

o bien

N  r  N1  A0  r  r  N 2  A1   A0
 r 2 N 2  rA1  A0  r 2 r  N 3  A2   rA1  A0  An r n  An1r n1      A1r  A0
Departamento Electrónica (Univ. Málaga) Juan Carlos Tejero Calado
Sistemas Electrónicos Digitales Pág. 5

La conversión de la parte fraccionaria se realiza igual que en (4.11), convirtiendo la división


por una multiplicación. Así pues, un número fraccionario lo podemos expresar de la forma

N  N I  N F  An r n      A1r  A0  A1r 1  A2 r 2     (4.13)

De (4.13) tenemos que la parte fraccionaria puede ser representada por

N F  A1r 1  A2 r 2     (4.14)

de donde

rN F  A1  A2 r 1  A3r 2     (4.15)

r rN F  A1   A2  A3r 1  A4 r 2     (4.16)

y así sucesivamente, podemos ir obteniendo los valores A-i que representan la parte fraccionaria en
la base deseada.

Ejemplo

Sea 13 en base 10, representarla en base 2. Sea 234 en base 10 representarlo en base 16.

• Utilizando divisiones sucesivas por la base


Ejemplos:
(13)10 = (1101)2 (234)10 = (EA)16
13 2 234 16
1 6 2 10 14 16
0 3 2 A 14 0
1 1 2 E
1 0

Sea 0.61 en base 10, representarlo en base 2.

2·0.61  1.22 A1  1


2·0.22   0.44 A 2  0
2·0.44   0.88 A3  0
2·0.88   1.76 A 4  1
2·0.76   1.52 A5  1
2·0.52   1.04 A6  1
 

por tanto, 0.6110  0.100111···2


Departamento Electrónica (Univ. Málaga) Juan Carlos Tejero Calado
Sistemas Electrónicos Digitales Pág. 6

Decimal Binario Octal Hexadecimal


0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
Tabla 4.2. Bases numéricas de uso común

En la Tabla 4.2 se muestran las bases numéricas más utilizadas en los sistemas de
computación. La conversión entre estas bases es muy fácil, puesto que como se puede observar los
dígitos en octal no son más que la agrupación de tres dígitos binarios y cuatro para los dígitos en
hexadecimal.

En el ejemplo que sigue podemos ver algunas muestras de la conversión entre las bases
numéricas de uso común.

• (1100 0011 1111 1101)2 = (C3FD)16

C 3 F D
• (0001 1000)2 = (18)16 (completando con 0’s)

• (4AB)16 = (0100 1010 1011)2

• (471)8 = (100 111 001)2

• (100 011 111 101)2 = (4375)8

4 3 7 5

4.4. ARITMÉTICA EN BASE R

Las operaciones aritméticas fundamentales (suma, resta, multiplicación y división) se


pueden efectuar de manera muy similar a todos los sistemas numéricos de base r. La diferencia
principal es el tamaño r de los conjuntos de dígitos que se usan; las operaciones decimales emplean
el conjunto de dígitos {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, mientras que los sistemas binarios usan el
conjunto {0, 1}

Departamento Electrónica (Univ. Málaga) Juan Carlos Tejero Calado


Sistemas Electrónicos Digitales Pág. 7

4.4.1. Suma

Como sucede en la aritmética ordinaria, la suma de dos números sin signo (mixtos) en base r
se puede obtener sumándolos dígito a dígito, comenzando por el de la derecha (menos significativo)
y avanzando hacia el extremo izquierdo (más significativo).

Ejemplo:

X = x3x2x1x0 = 1001 = nueve

Y = y3y2y1y0 = 0011 = tres

S = s3s2s1s0 = 1100 = doce.

Comenzamos por sumar x0 = a y0 = 1. El resultado es 10 = dos, que interpretamos como un


bit de "suma" s0 = 0 con un bit de "acarreo" c0 =1. Después seguimos avanzando hacia la izquierda
para suma x1 = 0 a y1 = 1, debiéndose incluir ahora C0 = 1 en la suma. De la misma forma se
procede con el resto de los bits.

Tabla de
sumar: Ejemplos:
1 1 1 1 1 1 1 1 1
+ 0 1
1 1 1 1 0 1 1 0 0 1 0 1
0 0 1 0 1 0 1 1 1 + 0 1 0 1 1 1 +
1 0 1 0 1 0 0 1 1 1 1 0 0
1 1 10
Figura 4.2. Aritmética binaria (SUMA)

4.4.2. Resta

La resta binaria se realiza de modo similar a la suma, empleando “préstamos” en lugar de


acarreos entre pasos, y produciendo un bit de diferencia d, como en la resta decimal. Dos ejemplos
de restas se muestran en la Figura 4.3.

Tabla de
restar:
- 0 1 Ejemplos:
0 0 - 10 10
1 1 0 0 1 10 0 0 10 0 0 10 0 1 1 10
10 -1 = 1 1 0 0 1 1 0 1 1 1 0 1 0 0 0
100 -1 = 11 1 0 1 1 1 - 0 1 1 0 1 0 1 -
1000 - 1 = 111 0 1 1 0 1 1 0 0 1 1 0 0 1 1
Figura 4.3. Ejemplos de restas.

Departamento Electrónica (Univ. Málaga) Juan Carlos Tejero Calado


Sistemas Electrónicos Digitales Pág. 8

4.4.3. Multiplicación y división

Las técnicas decimales habituales para efectuar estas operaciones se pueden adaptar para el
manejo de números en cualquier base r. El problema general de la multiplicación es encontrar el
producto P que se obtiene al multiplicar Y por X; Si X e Y contienen m y n dígitos,
respectivamente, P es un entero que contiene hasta m+n dígitos significativos. El método de
multiplicación que comúnmente hemos utilizado desde la escuela, es la multiplicación mediante la
10111

Tabla de ejemplo: 1010 *

10111 00000 1er. pp.


multiplicar: 00000 +
1010 *
00000 2do. pp.
* 0 1 00000 +
10111 +

0 0 0 10111 101110 3er. pp.


00000 00000 +
1 0 1 10111 0101110 4to. pp.
10111 +
11100110
11100110 Resultado

suma de una lista de multiplicandos trasladados, que se calculan de acuerdo con los dígitos del
multiplicador. Se puede utilizar el mismo método para obtener el producto de dos números binarios
sin signo. La formación de los multiplicandos trasladados es trivial en la multiplicación binaria,
puesto que los únicos valores posibles de los dígitos del multiplicador son 0 y 1. A continuación
presentamos un ejemplo:

La división de Y entre X genera un resultado X/Y, que quizás sólo pueda expresarse como
número mixto y contener un número arbitrario de dígitos significativos. La forma más simple de
obtener este resultado podría ser el método de desplazamiento y resta que utilizamos habitualmente
desde que lo aprendimos en la escuela. A continuación mostramos un ejemplo que ilustra este
método utilizando una base binaria:

1110111 1001
-1001 1101 Cociente
01011
-1001
001011
-1001
0010 Resto

4.5. NÚMEROS CON SIGNO

4.5.1. Código de signo magnitud

En el sistema decimal, el signo se indica colocando el símbolo + o - a la izquierda del


número, +12410 y -3.141592610. Esta notación se denomina representación de signo magnitud (SM),
ya que la parte del número que está después del signo es la magnitud o valor absoluto del número.
El código de signo magnitud puede usarse con cualquier número en base r. Cuando r = 2, es natural
representar el signo s con un solo bit y la norma es el siguiente convenio de signo:

Departamento Electrónica (Univ. Málaga) Juan Carlos Tejero Calado


Sistemas Electrónicos Digitales Pág. 9

s=0 denota un número positivo


s=1 denota un número negativo
Ejemplo

111111002 = -12410
011111002 = 12410
100110012 = -2510

4.5.2. Códigos numéricos de complemento

Mientras que el sistema de magnitud con signo convierte en negativo un número al cambiar
su signo, un sistema numérico de complemento convierte en negativo un número tomando su
complemento. Tomar el complemento es más difícil que cambiar el signo, pero dos números de un
sistema numérico de complemento pueden sumarse o restarse directamente sin tener que realizar
verificaciones de magnitud y signo.

En cualquier sistema numérico de complemento, normalmente tratamos con un número fijo


de dígitos, digamos n. Sin embargo, podemos aumentar el número de dígitos mediante “extensión
de signo”, y disminuir el número mediante el truncamiento de los dígitos de orden mayor

Representación de complemento a uno

En un sistema de complemento a uno (1C), el complemento de un número de n dígitos se


obtiene al restarlo de rn - 1. Así pues, el 1C de un número D de n dígitos, si D se encuentra entre 0 y
rn – 1, la resta produce otro número entre 0 y rn – 1. Parece de la definición que una resta es
inevitable para obtener el 1C de un número D. Sin embargo, este valor se puede obtener al
complementar los dígitos individuales de D.

EJEMPLOS

[01001]2 → [10110]2 ; [01101001]2 → [10010110]2

Representación de complemento a dos

Debido a las dificultades relacionadas con la aritmética en SM, la mayoría de los sistemas
digitales utilizan un código alternativo, llamado complemento a dos o 2C.

La notación 2C para los números positivos es exactamente la misma que se usa en la


notación SM, es decir, X = xn-1xn-2...x1x0, donde el bit de la izquierda xn-1 = 0 en el signo positivo de
X y los n-1 bits restantes denotan la magnitud de X con la notación posicional habitual de base 2.
Los números negativos se definen en dos pasos; a) Se obtiene el complemento a 1 del número
positivo, b) se le suma 1. El resultado de estas dos operaciones es el complemento a dos del número
en cuestión.

EJEMPLOS

[01001]2 → 10110 + 1 = [10111]2

[01101001]2 → 10010110 + 1 = [10010111]2

Departamento Electrónica (Univ. Málaga) Juan Carlos Tejero Calado


Sistemas Electrónicos Digitales Pág. 10

Leído como Binario


Binario Sin signo con C-1 con C-2
0000 0 +0 +0
0001 1 +1 +1
0010 2 +2 +2
0011 3 +3 +3
0100 4 +4 +4
0101 5 +5 +5
0110 6 +6 +6
0111 7 +7 +7
1000 8 -7 -8
1001 9 -6 -7
1010 10 -5 -6
1011 11 -4 -5
1100 12 -3 -4
1101 13 -2 -3
1110 14 -1 -2
1111 15 -0 -1

4.6. CÓDIGOS BINARIOS

Se entiende por código una representación unívoca de las cantidades de tal forma que, a
cada una de éstas, se asigna una combinación de símbolos determinada y viceversa.

De esta definición se deduce que los sistemas de numeración estudiados en los apartados
anteriores constituyen códigos binarios puros de representación de las cantidades. El código binario
puro es de gran importancia teórica, sin embargo los computadores exigen del código utilizado
diversas propiedades que éste no satisface al completo, es más, no existe un único código que
aventaje claramente a los demás.

Los códigos binarios pueden clasificarse según sea la conversión decimal-binario, y


viceversa. Así, un código puede ser:

 Códigos de palabra: codifican en binario el número decimal como un todo, suelen ser de
longitud variable.

 Códigos BCD (Binary Code Digit): Asocian a cada digito decimal una combinación de
dígitos binarios. En este caso, codificar un número de n dígitos supone codificar n veces
un número decimal.

4.6.1. Características de los códigos

Cada combinación de dígitos binarios asociada a un número decimal se denomina palabra


de código. Su longitud ln indica el número de bits de cada palabra, y su peso g se corresponde con
el número de 1’s de la palabra, así la palabra 0100111 es de longitud siete y peso 4, ln = 7 y g = 4.

La palabra nula es aquella con todo ceros, g = 0, y la palabra unidad es aquella con todo
unos, ln = g. No es deseable que estas palabras pertenezcan al código, pues errores mecánicos o
eléctricos pueden generar estas palabras.

Departamento Electrónica (Univ. Málaga) Juan Carlos Tejero Calado


Sistemas Electrónicos Digitales Pág. 11

Si todas las palabras tienen la misma longitud, se dice que el código es uniforme; este es el
caso más común. La cantidad de combinaciones binarias aceptadas por el código es M. Si M es
igual a 2ln, entonces el código es completo o sin redundancia.

Dadas dos palabras de un código completo, su distancia d indica el número de diferencias


entre ambas combinaciones. Así, en p1 = 0100 y p2 = 0010, d(p1,p2) = 2. La distancia mínima, o
simplemente distancia, es la menor que puede haber entre dos palabras del código.

4.6.2. Códigos binarios continuos y cíclicos

Un código binario es continuo si las combinaciones correspondientes a números decimales


consecutivos son adyacentes. Se denominan combinaciones binarias adyacentes aquellas cuya
distancia es 1 (difieren solamente en un bit).

Dígito Código binario


Código Gray
decimal natural
0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1
2 0 0 1 0 0 0 1 1
3 0 0 1 1 0 0 1 0
4 0 1 0 0 0 1 1 0
5 0 1 0 1 0 1 1 1
6 0 1 1 0 0 1 0 1
7 0 1 1 1 0 1 0 0
8 1 0 0 0 1 1 0 0
9 1 0 0 1 1 1 0 1
10 1 0 1 0 1 1 1 1
11 1 0 1 1 1 1 1 0
12 1 1 0 0 1 0 1 0
13 1 1 0 1 1 0 1 1
14 1 1 1 0 1 0 0 1
15 1 1 1 1 1 0 0 0
Tabla 4.3. Código Gray y binario natural

Un código continuo en que la última combinación es adyacente a la primera se denomina


cíclico.

Estos códigos se utilizan principalmente en los convertidores muy rápidos de variables


analógicas a digitales y en los codificadores de posición que convierten un ángulo en una
combinación binaria mediante un disco codificado

El código binario cíclico de mayor difusión es el reflejado, que recibe el nombre de código
Gray y se representa en la Tabla 4.3 junto al binario natural para números de cuatro bits. La
denominación de reflejado es debida a que la formación de un código de n bits se realiza partiendo
del de n-1 bits, repitiendo simétricamente las combinaciones de éste y añadiendo por la izquierda un
nuevo bit 0 para las 2n-1 primeras combinaciones y un 1 para la 2n-1 siguientes.

El código Gray es muy utilizado en aplicaciones electromecánicas de los sistemas digitales


(tales como herramientas mecánicas, sistemas de frenados para automóviles y fotocopiadoras) a
veces es necesario que un sensor de entrada produzca un valor digital que indique la posición
mecánica. Por ejemplo, la Figura 4.4 es un esquema conceptual de un disco de codificación y un
conjunto de contactos que producen uno de ocho valores codificados en binario de tres bits,
dependiendo de la posición rotacional del disco. Las áreas oscuras del disco se conectan a una

Departamento Electrónica (Univ. Málaga) Juan Carlos Tejero Calado


Sistemas Electrónicos Digitales Pág. 12

fuente de señal que corresponde al 1 lógico y las áreas claras no se conectan, lo que los contactos
interpretan como un cero lógico.

El codificador de la Figura 4.4 (a) tiene un problema cuando el disco se coloca en ciertas
fronteras entre regiones. Por ejemplo, considere la frontera entre las regiones 001 y 010 del disco;
aquí cambian dos de los bits codificados. ¿Qué valor producirá el codificador si el disco se
posiciona justo en la frontera teórica? Puesto que nos encontramos sobre el borde, tanto 001 como
010 son aceptables. Sin embargo, ya que el ensamble mecánico no es perfecto, los dos contactos de
la derecha pueden tocar una región “1”, dando un lectura incorrecta de 011. De igual forma, se
puede obtener una lectura de 000. En general, esta clase de problemas pueden presentarse en
cualquier frontera donde cambia más de un bit. Los peores problemas ocurren cuando cambian los
tres bits, como en las fronteras 000-111 y 011-100.

111 000 100 000

110 001 101 001

0 0 1 0 0 1

101 010 111 011

100 011 110 010

(a) (b)
Figura 4.4. Discos mecánicos de codificación. (a) código binario de tres bits. (b) Código Gray de tres bits.

El problema del disco codificado puede resolverse mediante la creación de un código digital
en el cual solamente cambie un bit entre cada par de palabras de código sucesivas, como es el caso
del código Gray. En la Figura 4.4 (b) se muestra el disco codificado usando este código. L

4.6.3. Códigos decimales codificados en binario (BCD)

En los códigos BCD cada número decimal se codifica directamente en un código binario.
Para representar los diez dígitos del 0 al 9 se necesitan 4 bits porque con 3 bits sólo podríamos
codificar 23 dígitos, es decir, del 0 al 7. Por tanto, de las 16 combinaciones posibles con cuatro bits
en los códigos BCD sólo se utilizan diez. Esto hace que el número de bits necesarios para
representar una cantidad en un código BCD sea superior al del código binario natural y, por tanto, la
utilización de los códigos BCD está limitada al diseño de sistemas de control digitales y
calculadoras digitales de pequeña capacidad.

Los códigos BCD ponderados son aquellos en los que, a cada posición o cifra binaria se le
asigna un peso y el número decimal equivalente a una combinación binaria se obtiene sumando los
pesos de las posiciones que poseen valor uno. Así pues, un número decimal N del 0 al 9 se
representará por:

i 3
N   pi xi (4.17)
i 0

donde xi puede tomar el valor 0 ó 1 y pi es el peso de la posición i.

Departamento Electrónica (Univ. Málaga) Juan Carlos Tejero Calado


Sistemas Electrónicos Digitales Pág. 13

Existen varios códigos BCD ponderados de los cuales los más importantes son los indicados
en la tabla 4.3.

BCD natural BCD Aiken


P3 P2 P1 P0 P3 P2 P1 P0 P3 P2 P1 P0
Dígito decimal 8 4 2 1 2 4 2 1 5 4 2 1
0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1 0 0 0 1
2 0 0 1 0 0 0 1 0 0 0 1 0
3 0 0 1 1 0 0 1 1 0 0 1 1
4 0 1 0 0 0 1 0 0 0 1 0 0
5 0 1 0 1 1 0 1 1 1 0 0 0
6 0 1 1 0 1 1 0 0 1 0 0 1
7 0 1 1 1 1 1 0 1 1 0 1 0
8 1 0 0 0 1 1 1 0 1 0 1 1
9 1 0 0 1 1 1 1 1 1 1 0 0

Tabla 4.4. Algunos códigos BCD ponderados

4.6.4. Códigos de carácter

Como se puede deducir del código Gray, una cadena de bits no necesita representar un
número y en realidad la mayor parte de la información que procesan las computadoras no es
numérica. El tipo más común de datos no numéricos es el texto, cadenas de caracteres de algún
conjunto de caracteres. Cada carácter es representado en la computadora por una cadena de bits de
acuerdo a una convención establecida.

El código de caracteres más comúnmente utilizado es el ASCII (pronunciado ASSKI,


American Estándar Code for Information Interchange). El ASCII representa cada carácter con una
cadena de 7 bits, y produce un total de 128 caracteres distintos. Existe el ASCII extendido que
utiliza 8 bits para representar 256 caracteres distintos. En la Tabla 4.5 podemos ver algunos
ejemplos de este código.

Carácter Binario Hexadecimal

D 01000100 44

3 00110011 33

~ 01111110 7E

¼ 10101100 AC
Ñ 10101010 AA
Tabla 4.5. Algunos código ASCII.

Departamento Electrónica (Univ. Málaga) Juan Carlos Tejero Calado


Sistemas Electrónicos Digitales Pág. 14

4.6.5. Códigos detectores y detectores de errores

Existe un tipo de código capaz de detectar, e incluso corregir, los errores producidos en una
transmisión. Es decir, la información enviada por el emisor está codificada de tal manera que el
receptor es capaz de decidir si lo recibido es correcto o contiene algún error.

Los códigos desarrollados y en desarrollo son muchos, y se basan tanto en ideas sencillas
como en desarrollos muy complejos. Algunos de los códigos de error:

 Bit de paridad.

 Código Hamming.

 Códigos CRC.

 Códigos Checksum.

Los dos primeros son los más comunes. El primero sólo es capaz de decir si la información recibida
es correcta o no, mientras que el código de Hamming es capaz de detectar el error e incluso
corregirlo, aumentando claramente la calidad de la transmisión.

4.7. ÁLGEBRA DE BOOLE

4.7.1. Definición del álgebra de Boole

Un álgebra de Boole es toda clase o conjunto de elementos que pueden tomar dos valores
perfectamente diferenciados, que designaremos por 0 y 1 y que están relacionados por dos
operaciones binarias denominadas suma (+) y producto (.) lógicos que cumplen los siguientes
postulados:

1. Ambas operaciones son conmutativas, es decir si a y b son elementos del álgebra, se


verifica:

a  b  b  a; a  b  b  a (4.18)

2. Existen dos elementos neutros, el 0 y el 1, que cumplen la propiedad de identidad con


respecto a cada una de dichas operaciones:

0  a  a; 1 a  a (4.19)

3. Cada operación es distributiva respecto de la otra:

a  b  c  a  b  a  c; a  b  c  a  b  a  c (4.20)

4. Para cada elemento a existe un elemento denominado, a, tal que:


a  a  1; aa  0 (4.21)
Departamento Electrónica (Univ. Málaga) Juan Carlos Tejero Calado
Sistemas Electrónicos Digitales Pág. 15

4.7.2. Teoremas del álgebra de Boole

Basándose en los postulados anteriores se deducen los teoremas que expondremos


seguidamente

Principio de dualidad: Cada identidad deducida de los anteriores postulados del álgebra de Boole
permanece válida si la operación « + » y « · » y los elementos 0 y 1 se intercambian entre sí.

Ejemplo: a + ( b  c ) = 1, expresión su dual es a  ( b + c ) = 0

Teorema 1: Para cada elemento a de un álgebra de Boole se verifica:

a  1  1; a0  0 (4.22)

Demostración

1 = 𝑎 + 𝑎̅ = 𝑎 + 𝑎̅ · 1 = (𝑎 + 𝑎̅) · (𝑎 + 1) = 1 · (𝑎 + 1) = 𝑎 + 1 = 1

por dualidad, queda demostrada la otra identidad.

Teorema 2 (Ley de Idempotencia): Para cada elemento de un álgebra de Boole se verifica:

𝑎 + 𝑎̅ = 𝑎; 𝑎 · 𝑎̅ = 𝑎 (4.23)
Demostración

𝑎 = 𝑎 + 0 = 𝑎 + 𝑎𝑎̅ = (𝑎 + 𝑎) · (𝑎 + 𝑎̅) = 𝑎 + 𝑎̅

por dualidad queda demostrada la otra identidad.

Teorema 3 (Ley de absorción): Para cada par de elementos de un álgebra de Boole a y b, se


verifica:

a  ab  a y a  a  b  a (4.24)

Demostración

a = 1 · a = (1 + b) a = 1 · a + ab = a + ab

Teorema 4 (Ley de Asociatividad): En un álgebra de Boole, las operaciones suma y producto son
asociativas

a  b  c   a  b   c  a  b  c
abc   abc  abc (4.25)

Teorema 5 (Ley de Involución): Para todo elemento a de un álgebra de Boole se verifica

(4.26)
aa

Departamento Electrónica (Univ. Málaga) Juan Carlos Tejero Calado


Sistemas Electrónicos Digitales Pág. 16

Demostración
a 1 
a 1  0 
a  (a  a )  a  a 
a a  a a  aa 
a  (a  a )  a

De este teorema y del postulado d) se deduce que

0 1 y 1 0

Teorema 6: Para cada par de elementos de un álgebra de Boole a y b, se verifica:

a b  a b  a y a  ba  b   a (4.27)

Demostración
a b  a b 
a  (b  b ) 
a 1  a

Teorema 7: Para cada par de elemento a y b que pertenecen a un álgebra de Boole, se verifica:

a  a b  a  b
 
(4.28)
a  a  b  a b

Demostración

a  a b 
( a  a )  ( a  b) 
1  ( a  b) 
( a  b) 1  a  b

Teorema 8: Para todo conjunto de elementos de un álgebra de Boole a, b y c, se verifica:

a b  a bc  a b  a c y a  b  a  b  c   a  b  a  c  (4.29)

Demostración
a b  a b c 
a  (b  b  c) 
a  (b  c)  a  b  a  c

Departamento Electrónica (Univ. Málaga) Juan Carlos Tejero Calado


Sistemas Electrónicos Digitales Pág. 17

Teorema 9 (Leyes de De Morgan): En toda álgebra de Boole se verifica

a  b  c  d    a  b  c  b
(4.30)
a  b  c  b   a  b  c  d 
Demostración

Realizamos primero la demostración para dos variables. De acuerdo con el postulado d), para que a
+ b = a b se ha de verificar:

a  b   a  b  0
a  b   a  b  1

En efecto, aplicando los postulados y teoremas ya estudiados resulta

a  b ab  a ab  bab  0  0  0
a  b   ab  a  b  a a  b  b   11  1
La generalización para un número cualquiera de variables resulta ahora muy sencilla:

Denominaremos b + c + d + ... = p y aplicando la ley de De Morgan que hemos demostrado para


dos variables, resulta:

a  b  c  d    a  p  a p  ab  c  d  

Llamando ahora q = c + d + ... resulta:

a  b  c  d    a b  q  a b q  a bc  d  

Repitiendo el proceso se obtiene:

a  b  c  d   a  b  c  d 

Teorema 10 ( del Consenso): Para todo conjunto de elemento a, b y c que pertenecen a un álgebra
de Boole, se verifica:

a b  a c  b c  a b  a c
(4.31)
 a  b    a  c   b  c    a  b    a  c 
Demostración

a b  a c  bc 
a  b  a  c  1 b  c 
a  b  a  c  (a  a )  b  c 
a b  a c  a b c  a b c  a b  a c

Departamento Electrónica (Univ. Málaga) Juan Carlos Tejero Calado


Sistemas Electrónicos Digitales Pág. 18

4.8. EXPRESIONES Y FUNCIONES DE CONMUTACIÓN

Un álgebra de Boole está definida pues, por un conjunto de elementos K y su conjunto de


operaciones, {and, or, not}, (y, o, no). Los nombres de las operaciones surgen de las definiciones:
ab40 es 1 si y sólo si a es 1 y (and) b es 1; a + b es 1 si y sólo si a es 1 o (or) b es 1 (o ambos); y a
es 1 si y sólo si a no (not) es 1. Estas operaciones también se pueden definir en forma conveniente
usando funciones o tablas de verdad, como se indica en la Figura 4.5. De esa forma, podemos
definir un álgebra de Boole que sólo contiene dos elementos, de los postulados vistos anteriormente,
se requiere que esos dos elementos sirvan como elementos especiales 0 y 1; por lo tanto, K = {0, 1}
representa la menor álgebra de Boole posible y con frecuencia se conoce como álgebra de
conmutación. Los elementos 0 y 1 de K corresponden a los dos valores de la señal usados en los
circuitos lógicos binarios.

a b a+b a b a·b
0 0 0 0 0 0
0 1 1 0 1 0
1 0 1 1 0 0
1 1 1 1 1 1

Figura 4.5. Definición de las operaciones “and” y “or”.

Las expresiones Booleanas tienen gran importancia en el diseño lógico, pues son una
manera eficiente de describir la función y, hasta cierto punto, la estructura de los circuitos lógicos.

4.8.1. Funciones Booleanas

Una función Booleana es una función f(X) = f(x1,x2,x3,...,xn) cuyos valores de entrada
x1,x2,x3,...,xn y su valor de salida f se toman de un álgebra de Boole. La clase particular de funciones
Booleanas cuyos valores de entrada/salida provienen del álgebra de conmutación son las funciones
lógicas o de conmutación y por lo tanto podemos usar los términos, función lógica y función de
conmutación de manera indistinta.

Se llama término canónico de una función lógica a todo producto o suma en la cual
aparecen todas las variables en una forma directa o inversa. Al primero de ellos se le llama producto
canónico (mintérmino) y al segundo suma canónica (maxtérmino)

Por ejemplo sea una función de tres variables f(a, b, c). El término abc es un producto
canónico y el término a + b + c es una suma canónica

Para mayor facilidad de representación, cada término canónico, se expresa mediante un


número decimal equivalente al binario obtenido al sustituir las variables ordenadas con un criterio
determinado por 1 o por 0 según aparezcan en forma directa o complementada respectivamente. Por
ejemplo, los términos canónicos siguientes se representarán:

d cba  0110 2  610


d  c  b  a  1010 2  1010

De igual forma la función f(a, b, c) = (a + b + c)(a + b + c)(a + b + c) se puede representar


por f(a, b, c) = 3(2,4,7) = ∑3(0,1,3,5,6) puesto que cuando la función no vale cero, ésta vale 1, y

Departamento Electrónica (Univ. Málaga) Juan Carlos Tejero Calado


Sistemas Electrónicos Digitales Pág. 19

donde  indica el producto lógico y ∑ la suma lógica. Cuando una función se expresa como una
suma de productos canónicos o un producto de sumas canónicas se dice que se encuentra en su
forma canónica.

Teorema de expansión de Shannon: Toda función de un álgebra de Boole se puede expresar de la


siguiente forma:
f a, b, c,  a  f 1, b, c,  a  f 0, b, c,
(4.32)

f a, b, c,  a  f 0, b, c, a  f 1, b, c, 
Demostración

Demostraremos la primera ecuación y la segunda quedará también demostrada por dualidad.

Para demostrarla es suficiente comprobar que la igualdad se cumple tanto si a = 0 como para a = 1.

En efecto, si a = 0 y a = 1; se verifica:

f a, b, c,  f 0, b, c,  0  f 0, b, c,  1 f 0, b, c,  f 0, b, c,

y si a = 1 y a = 0; se verificará así mismo:

f a, b, c,  f 1, b, c,  1 f 1, b, c,  0  f 0, b, c,  f 1, b, c,
c.q.d.

El teorema que acabamos de demostrar permite llegar a la conclusión de que toda función
lógica puede transformarse en una función canónica bajo cualquiera de las dos formas
anteriormente indicadas

 
f a, b, c,  abc  f 1,1,1,    abc   f 0,0,0, 


f a, b, c,  a  b  c    f 0,0,0, a  b  c    f 1,1,1,  

De estas expresiones se deduce que toda función es igual a la suma de todos los productos
canónicos afectados de un coeficiente igual al valor que toma la función al sustituir cada variable
por 1 ó 0 según en el producto canónico figure en forma directa o inversa respectivamente, en el
primer caso. Por dualidad, se puede explicar la segunda expresión

Departamento Electrónica (Univ. Málaga) Juan Carlos Tejero Calado


Sistemas Electrónicos Digitales Pág. 20

EJEMPLOS:

Convertir a SOP Canónica


f (a, b, c)  a  b  a  c  a  c
a b c f
 a  f (1, b, c)  a  f (0, b, c)
0 0 0 0
 a  (b  c )  a  c
0 0 1 1
 b  f (a,1, c)  b  ( a,0, c) 0 1 0 0
 b  ( a  a  c)  b  ( a  c  a  c) 0 1 1 1
 a b  a b c  a b c  a b c 1 0 0 1
 c  f ( a, b,1)  c  (a, b,0) 1 0 1 0
 c  (a  b  a  b  a  b )  c  (a  b  a  b ) 1 1 0 1
1 1 1 1
 a b c  a b c  a b c  a b c  a b c
  m(1,3,4,6,7)

La función booleana f(x1,x2,...xn) se puede definir con una tabla de verdad de 2n filas que
lista la 2n combinaciones de X = (x1,x2,...xn) y el valor de la función o de la salida correspondientes
f(X). También se tiene que las funciones se definen con expresiones booleanas de diversos tipos.
Estas expresiones booleanas se parecen a las del álgebra numérica y se forman de la misma manera
general. Por ejemplo, la expresión a  b c  a  b d especifica la función booleana de cuatro
variables f(a,b,c,d) definida en la Tabla 4.6. Por tanto, podemos escribir

a  b c  a  b d (4.33)

a b c d f(a,b,c,d)
0 0 0 0 0
0 0 0 1 0
0 0 1 0 0
0 0 1 1 0
0 1 0 0 1
0 1 0 1 0
0 1 1 0 1
0 1 1 1 1
1 0 0 0 1
1 0 0 1 0
1 0 1 0 1
1 0 1 1 1
1 1 0 0 1
1 1 0 1 0
1 1 1 0 1
1 1 1 1 1
Tabla 4.6. Tabla de verdad de una función booleana de cuatro variables

Consideremos ahora una función general de n variables f(X) cuya tabla de verdad tiene 1 en
las filas a, b, ..., k y 0 en las demás. A partir de las definiciones de mintérmino y de la función OR
es evidente que f(X) se puede escribir en la siguiente forma de suma de mintérminos:

f  X   ma  X   mb  X     mk  X  (4.34)
Departamento Electrónica (Univ. Málaga) Juan Carlos Tejero Calado
Sistemas Electrónicos Digitales Pág. 21

Si la combinación de entradas Xi correspondiente a la fila i de la tabla de verdad hace que f(Xi) = 1,


entonces mi aparece en la ecuación (4.34), la cual se convierte entonces en

A la inversa, si F(Xi) = 0, entonces mi no aparece en la ecuación (4.34), que entonces se convierte

f  X i   ma  X i   mb  X i     mi  X i     mk  X i 
 0  0 1 0
1
en

f X i   0  0   0   0  0

A partir de aquí, podemos deducir que toda función de conmutación puede ser expresada
como una suma de mintérminos, de todos aquellos mintérminos donde la función vale 1; Lo cual
queda reflejado en la Figura 4.6. Del mismo modo, y aplicando el teorema de la dualidad podemos
indicar que toda función de conmutación puede ser representada como un producto de maxtérminos
de todo aquellos maxtérminos donde la función vales cero; La Figura 4.7 muestra este resultado.

f ( a , b, c )  a  b  c  a  b  c  a  b  c
a b c f
0 0 0 1 a b c
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 1 a b c
1 1 0 0
1 1 1 1 a b c

Figura 4.6. Forma canónica como suma de productos de una función de conmutación

Departamento Electrónica (Univ. Málaga) Juan Carlos Tejero Calado


Sistemas Electrónicos Digitales Pág. 22

f ( a , b, c )  ( a  b  c )  ( a  b  c )  ( a  b  c )
a b c f
0 0 0 0 abc
0 0 1 1
0 1 0 1
0 1 1 0 ab c
1 0 0 1
1 0 1 1
1 1 0 0 a b c
1 1 1 1

Figura 4.7. Forma canónica como producto de sumas de una función de conmutación

También podemos derivar algebraicamente una expresión de suma de mintérminos para una
función usando las propiedades del álgebra de Boole. Por ejemplo, la función de cuatro variables f
se define como
f a, b, c   ac  bc  abc (4.35)

Podemos introducir cualquier variable ausente x en un término de producto T de la ecuación (4.35)


  
aplicando AND entre el factor x  x y T para cambiarlo a T  x  x . En el caso de la función 
(4.35) tenemos

      
f a, b, c, d   a b  b c d  d  a  a bc d  d  abc d  d   (4.36)

este resultado no altera la ecuación porque x  x  1 y T · 1 = T. Si desarrollamos la ecuación (4.36)


usando las leyes distributivas y eliminando los términos duplicados que se produzcan, obtenemos la
expresión canónica de la función como suma de mintérminos

f a, b, c, d   abc d  abcd  abcd  abcd  abc d  abcd  abcd  abcd

Del mismo modo, toda función f(X) tiene un conjunto único de maxtérminos M1, M2, ..., Mp
que corresponde al conjunto de ceros que aparecen en la columna de salida de su tabla de verdad.
La forma canónica de producto de maxtérminos es entonces la función AND o el producto lógico de
estos maxtérminos

f  X   M 1  M 2  M p

A continuación se muestra un ejemplo de cómo obtener la forma canónica como producto de sumas
utilizando la expresión dual a la utilizada entre las ecuaciones (4.35) y (4.36).

f (a, b, c)  a  (a  c )
 (a  b  b  c  c )  (a  b  b  c )
 ((a  b)  (a  b )  c  c )  ((a  b)  (a  b )  c )
 (a  b  c  c )  (a  b  c  c )  (a  b  c )  (a  b  c )
 (a  b  c)  (a  b  c )  (a  b  c)(a  b  c )  (a  b  c )  (a  b  c )
  M (0,1,2,3)
Departamento Electrónica (Univ. Málaga) Juan Carlos Tejero Calado
Sistemas Electrónicos Digitales Pág. 23

Las expresiones de suma de mintérminos y producto de maxtérminos son dos descripciones


funcionalmente equivalentes de la misma función. En la Figura 4.8 se muestran distintas
expresiones como suma de productos (SOP) o producto de sumas (POS) para representar una
misma función.

• Especificación decimal:
– SOP:
f (a, b, c)  a  b  c  a  b  c  a  b  c  a  b  c
f (a, b, c)  m2  m3  m6  m7
f (a, b, c)   m(2,3,6,7)
– POS:
f ( a , b, c )  ( a  b  c )  ( a  b  c )  ( a  b  c )  ( a  b  c )
f ( a , b, c )  M 1  M 3  M 5  M 7
f (a, b, c)   M (0,2,4,6)
Figura 4.8. Representaciones de una función de conmutación

4.8.2. Evaluación de expresiones

La tabla de verdad de la función definida por una expresión booleana se puede determinar al
evaluar la expresión para cada combinación de entrada posible, usando las definiciones de los
operadores y las leyes del álgebra de Boole. Ilustraremos esto evaluando una de las 16
combinaciones de entradas posibles de las cuatro variables a, b, c, d. Por ejemplo, para determinar
f(0, 1, 1, 0), se asignan a, b, c y d a 0, 1, 1 y 0, respectivamente, en (4.33) y se evalúa como sigue:

f 0,1,1,0  0  11  0  11


 0  11 Idempotencia 
 11 Definición de OR 
1 Definición de AND 

Es evidente que una función se puede especificar con varias funciones booleanas, de hecho,
con un número arbitrario de ellas. Se puede mostrar fácilmente, ya sea determinando la tabla de
verdad correspondiente o por medio de la manipulación algebraica, que

f a, b, c, d   ac  bc  a d  bd (4.37)

Especifica la misma función f que la ecuación (4.33) y se denominan expresiones booleanas


equivalentes.

4.9. CIRCUITOS DE CONMUTACIÓN

La lógica digital oculta las dificultades del mundo analógico al proyectar el conjunto infinito
de valores reales de una cantidad física en dos subconjuntos que corresponden solamente a dos
números posibles o valores lógicos: 0 y 1. Como resultado, los circuitos lógicos digitales pueden ser
analizados y diseñados funcionalmente haciendo uso del álgebra de conmutación, tablas y otros
medios abstractos para describir la operación de los ceros y los unos en un circuito.

Departamento Electrónica (Univ. Málaga) Juan Carlos Tejero Calado


Sistemas Electrónicos Digitales Pág. 24

Un valor lógico, 0 ó 1, se denomina frecuentemente dígito binario, o bit. Si una aplicación


requiere más de dos valores discretos, pueden utilizarse bits adicionales, con un conjunto de n bits
que representan 2n valores diferentes.

4.9.1. Puertas lógicas

Para representar las funciones lógicas fue necesario crear símbolos adecuados. El desarrollo
de la electrónica digital ha sido tan rápido que hizo que se crearan símbolos sin un estudio
minucioso. Inicialmente se adoptaron símbolos diferentes para cada función que pasamos a detallar:

Figura 4.9. a) Representación de la función NOT. b) Tabla de verdad de NOT

Figura 4.10. a) Representación de la función OR. b) Tabla de Verdad

Figura 4.11. a) Representación de la función AND. b) Tabla de verdad

Departamento Electrónica (Univ. Málaga) Juan Carlos Tejero Calado


Sistemas Electrónicos Digitales Pág. 25

Figura 4.12. a) Representación de la función NOR. b) Tabla de verdad.

Figura 4.13. a) Representación de la función NAND. b) Tabla de verdad

Figura 4.14. a) Representación de la función OR EXCLUSIVA. b) Tabla de verdad

Figura 4.15. a) Representación de la función NOR EXCLUSIVA. b) Tabla de verdad.

Para cada una de las puertas anteriores se puede encontrar una puerta dual capaz de
implementar la misma función, como se muestra en la Figura 4.16

Departamento Electrónica (Univ. Málaga) Juan Carlos Tejero Calado


Sistemas Electrónicos Digitales Pág. 26

Figura 4.16. Puertas duales.

Cuando se analizan los circuitos lógicos electrónicos tales como CMOS y TTL, los
diseñadores digitales con frecuencia utilizan las palabras “BAJO” (“LOW”) y “ALTO” (“HIGH”)
en lugar de “0” y “1” para recordar que se está tratando con circuitos reales, no con cantidades
abstractas:

BAJO Señal que está comprendida en el intervalo de voltajes algebraicamente más bajos, que se
interpreta como 0 lógico.

ALTO Señal que está comprendida en el intervalo de voltajes algebraicamente más altos, se
interpreta como un 1 lógico.

Nótese que las asignaciones de 0 y 1 a BAJO y ALTO son algo arbitrarias. La asignación de 0 a
BAJO y 1 a ALTO parece más natural y se denomina lógica positiva. La asignación opuesta, de 1 a
BAJO y 0 a ALTO, es muy utilizada también y se conoce como lógica negativa.

4.9.2. Familias lógicas

Existen muchas maneras de diseñar un circuito lógico electrónico. Cada uno de los
elementos utilizados para el diseño puede tener distintas características, por lo que se debe ser
cuidadoso en la utilización de elementos con características similares. Siguiendo esta tendencia
surgen las familias lógicas. Una familia lógica es una colección de diferentes chips de circuitos
integrados que tienen características similares en sus entradas, salidas y circuitos internos.

La familia lógica con mayor éxito es la lógica transistor-transistor (TTL, Transistor-


Transistor Logic). La TTL es en realidad una familia de familias lógicas que son compatibles con
cada una de las otras pero que difieren en velocidad, consumo de energía y costo. Los sistemas
digitales pueden mezclar componentes de varias familias TTL diferentes, de acuerdo a los objetivos
de diseño y las restricciones de las diferentes partes del sistema.

Departamento Electrónica (Univ. Málaga) Juan Carlos Tejero Calado


Sistemas Electrónicos Digitales Pág. 27

4.9.3. Niveles lógicos

Los elementos lógicos abstractos procesan dígitos binarios, 0 y 1. Sin embargo, los circuitos
lógicos reales procesan señales eléctricas tales como niveles de voltaje. En cualquier circuito lógico
existe un intervalo de voltajes (u otras condiciones del circuito) que se interpreta como 0 lógico, y
otro intervalo (que no se solapa con el anterior) que se interpreta como un 1 lógico.
Un circuito lógico TTL típico funciona con una fuente de alimentación de 5 Voltios, y con unos
márgenes de ruido que se muestran en la

Figura 4.17

Figura 4.17. Niveles lógicos de la familia TTL

4.9.4. Correspondencia expresión-circuito

Hay una correspondencia bastante estrecha entre los circuitos lógicos a nivel de puertas y las
expresiones booleanas. Podemos ver algunos ejemplos a continuación.

EJEMPLOS:

Z ( A, B, C , D)  A  B  C  D

A
B
C
Z
D

Departamento Electrónica (Univ. Málaga) Juan Carlos Tejero Calado


Sistemas Electrónicos Digitales Pág. 28

Z ( A, B, C , D)  A  ( B  C )  ( B  C )  D 
A  ( B  C )  ( B  C )  D 

B
Z
C

D
Las expresiones canónicas, suma de productos y productos de sumas, y las implantaciones
de circuitos correspondientes se consideran formas de dos niveles, lo cual significa que el circuito
va a tener siempre una profundidad de dos y que siempre va a poder ser realizadas a partir de
compuertas AND y OR.

4.10. CONJUNTOS COMPLETOS DE PUERTAS

Hemos visto que cualquier función booleana se puede implantar con diversos circuitos
AND-OR u OR-AND de dos niveles. Así pues, el hecho de que cada función booleana f tenga una
forma canónica de suma de mintérminos significa que el conjunto de tipos de puertas {AND, OR,
NOT} es funcionalmente o lógicamente completo, en el sentido de que si tenemos suficientes
puertas de esos tipos, podemos diseñar un circuito combinacional para realizar f. No hay que
aplicar restricciones al número de líneas de entradas de las puertas AND y OR.

Un resultado sorprendente con consecuencias prácticas de importancia es que los conjuntos


de un solo miembro {NAND} y {NOR} son funcionalmente completos. De hecho son los únicos
tipos de puertas simples que poseen esta propiedad. La Figura 4.18 muestra cómo se pueden usar
circuitos formados exclusivamente con NAND para implementar las funciones AND, OR y NOT,
con lo cual se demuestra la integridad funcional de {NAND}. La demostración de que {NOR}
también es funcionalmente completo queda como ejercicio.

NOT
A A

AND
A
A B
B
OR
A
A+ B
B

Figura 4.18. Generación de las puertas básicas utilizando únicamente puestas NAND.

Departamento Electrónica (Univ. Málaga) Juan Carlos Tejero Calado


Sistemas Electrónicos Digitales Pág. 29

Utilizando este resultado, podemos deducir que cualquier función de conmutación puede ser
implementada utilizando únicamente puertas NAND o puertas NOR, como se muestra en el ejemplo
que sigue:

A
B
Z
C
D
E

A
B
Z
C
D
E

Departamento Electrónica (Univ. Málaga) Juan Carlos Tejero Calado

También podría gustarte