Вы находитесь на странице: 1из 21

UNIVERSIDAD DE LA FRONTERA

DEPTO INGENIERIA ELECTRICA

CAPITULO 1
SISTEMAS NUMERICOS Y ALGEBRA DE BOOLE

1.1. SISTEMAS NUMERICOS.

En general, un número N cualquiera se puede representar por el siguiente polinomio:

N = anb n + an−1bn−1 + an−2b n−2 +.......+a2b 2 + a1b1 + a0b 0 +


+ a−1b −1 + a−2b −2 +............+a− pb − p
O bien

n
N = ∑
i=− p
a ib i

Donde b = es la base del sistema numérico


ai = coeficiente que pertenece al sistema (ai < b)
n+1 = Número de dígitos enteros
p = Número de dígitos fraccionarios.

Para identificar la base en la cual está expresado el número, se suele colocar ésta en forma de
subíndice

Ejemplos: 272 10 ; 213 ; 758 ; 11012 ; 15,27 ; 13B8H

A esta forma de representación se le denomina “sistema posicional y de base fija”, ya que la


posición del dígito (carácter, coeficiente o guarismo) indica la potencia de la base por la cual está
multiplicado. La base es constante para cualquier posición.

Existen sistemas numéricos que no responden al orden posicional, como por ejemplo:

i) Sistema Numérico Romano: I, II, IV, V, IX, XIV, IC, MCMLXXXVIII, etc
ii) Sistema de medición de tiempos: segundo, minuto, hora, día, mes, año, etc.

Algunos sistemas numéricos de base fija comúnmente usados

i) Base 10 o decimal.
Caracteres: 0, 1, 2, 3, 4, 5, 6, 7, 8 y 9

ii) Base 2 o binaria


Caracteres: 0 y 1

iii) Base 8 u octal


Caracteres: 0, 1, 2, 3, 4, 5, 6 y 7

iv) Base 16 o hexadecimal


Caracteres: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E y F

ASIGNATURA CIRCUITOS LOGICOS, Apuntes de clases 1


UNIVERSIDAD DE LA FRONTERA
DEPTO INGENIERIA ELECTRICA

El sistema binario, aún cuando requiere una mayor cantidad de dígitos para representar un
número, es prácticamente el único sistema utilizado en circuitos electrónicos y de comunicaciones
digitales, así como circuitos de cálculo y de control.

¿Cómo se cuenta en los distintos sistemas numéricos? Veamos el sistema mas usado, el decimal.

Iniciamos la cuenta con 0 – 1 – 2 – 3 – 4 – 5 – 6 – 7 – 8 – 9

Como se nos acabaron los dígitos, repetimos la secuencia anteponiendo el segundo caracter (es
decir 1)

10 – 11 – 12 – 13 – 14 – 15 – 16 – 17 – 18 – 19

Volvemos a repetir la lista de dígitos del sistema numérico anteponiendo el tercer caracter (2) y así
sucesivamente

20 – 21 – 22 – 23 - .... 29 – 30 – 31 ...... 98 – 99 – 100 – 101 ...

Analicemos la forma de contar en binario

0 – 1 – 10 – 11 – 100 – 101 – 110 – 111 – 1000 – 1001 - .....

En una base b cualquiera, el máximo número posible de combinaciones con n dígitos, se puede
calcular como:
n
Número de combinaciones = b

Ejemplo: ¿Cuántas combinaciones es posible realizar con tres dígitos en las bases 2, 3, 5, 7 y 10?
3 3 3 3 3
Respuesta: Núm combinaciones = 2 3 5 7 10
= 8 27 125 343 1000

El desarrollo de las posibles combinaciones de tres dígitos o caracteres se puede apreciar en la


tabla siguiente:

Tabla Nº 1
Combinaciones de tres bits en distintas bases

2 3 5 7 10
000 000 000 000 000
001 001 001 001 001
010 002 002 002 002
011 010 003 003 003
100 011 004 004 004
101 012 010 005 005
110 020 011 006 006
111 021 012 010 007
022 013 011 008
100 014 012 009
.... 020 013 010
220 021 014 011
221 022 015 012
222 .... 016 013
442 020 014

2 ASIGNATURA CIRCUITOS LOGICOS, Apuntes de clases


UNIVERSIDAD DE LA FRONTERA
DEPTO INGENIERIA ELECTRICA

443 021 015


444 .... 016
664 017
665 018
666 ...
997
998
999

OPERACIONES ARITMETICAS
a) Suma de dos números en base b

S = Nb + Mb
Con
n1 n

∑ ∑
2

N b = i
a ib ...... y ....... M b = c ib i

i = − p1 i= − p 2

n
S = ∑
k = − p
d k b k

Donde p = menor entre p 1 y p2.


n = mayor entre n1 y n2.

Luego se toma el rango mas amplio.

Al realizar la suma, se tienen dos casos posibles:

i) ai + c i < b è d i = ai + c i y no hay problemas

ii) a i + c i P b è d i = ai + c i – b
di+1 = a i+1 + ci+1 + 1

(es lo que se conoce como “reserva”)

Ejemplos:

D3 D2 D1 D0
1 1 D0 = 2+1 = 3
0 3 4 2 (5) D1 = (4 + 3) - 5 = 2 (reserva 1)
+ 0 2 3 1 (5) D2 = (3 + 2 + 1) = 1 (reserva 1)
D 1 1 2 3 (5) D3 = 1+0+0 = 1

D3 D2 D1 D0
1 1 D0 = C+1 = D
4 A 5 C (H) D1 = (5 + E) - H = 3 (reserva 1)
+ 2 7 E 1 (H) D2 = (A + 7 + 1) - H = 2 (reserva 1)
7 2 3 D (H) D3 = (4 + 2 + 1) = 7

ASIGNATURA CIRCUITOS LOGICOS, Apuntes de clases 3


UNIVERSIDAD DE LA FRONTERA
DEPTO INGENIERIA ELECTRICA

b) Resta de dos números en base b.

R = Nb - Mb

Con
n1 n2 n
Nb = ∑ a b ...... y ....... M
i = − p1
i
i
b = ∑cb
i = − p2
i
i
R = ∑
k=− p
d kb k

Donde p = mayor entre p1 y p2.


n = mayor entre n1 y n2.

Se nos presentan dos casos posibles:

i) ai P ci è d i = ai - ci y no hay problemas

ii) ai < ci è se debe pedir prestado un “1” al dígito superior, lo cual representa sumar la
base como se indica:

di = (ai - ci ) + b
di+1 = (ai+1 - c i+1 ) - 1

Ejemplos:

D2 D1 D0
4 5 5 7 D0 = 5-2 = 3
- 3 6 2 7 D1 = (5 - 6) + 7 = 6 (préstamo 1)
0 6 3 D2 = (4 - 3) - 1 = 0

D2 D1 D0
2 A 9 H D0 = (9 - B) + H = E (préstamo 1)
- 1 1 B H D1 = (A - 1) - 1 = 8
1 8 E D2 = (2 - 1) = 0

Otra forma de realizar restas es mediante la suma del complemento

4 ASIGNATURA CIRCUITOS LOGICOS, Apuntes de clases


UNIVERSIDAD DE LA FRONTERA
DEPTO INGENIERIA ELECTRICA

9 9 9
- 6 (10 - 6) + 4
1 3

complemento a 10
del número 6 se ignora

En el sistema binario, también es posible restar utilizando la suma del complemento a dos de un
número.

9 1001
- 6 - 0110

En el sistema binario, el número 6 es: 0110


y el complemento a 1 de este número es: 1001
(se cambian 0 1)
a este nuevo número se le suma 1 + 1
y se obtiene el complemento a 2 1010

Entonces: 1
1 0 0 1
+ 1 0 1 0
1 0 0 1 1

se ignora

Resta de un número mayor a un número menor

En general si restamos, en decimal, 6 – 9 = – 3. Sabemos que el resultado es negativo. Usando la


suma por complemento, en este caso, tenemos:

6 6 6
- 9 (10 - 9) + 1
7

complemento a 10
del número 9

7 es la respuesta negativa en la forma de complemento a 10. Para obtener el resultado realizamos


la operación – (10 – 7) = – 3

ASIGNATURA CIRCUITOS LOGICOS, Apuntes de clases 5


UNIVERSIDAD DE LA FRONTERA
DEPTO INGENIERIA ELECTRICA

En el sistema binario ocurre lo mismo. Sea la resta:

1 1 1 7 1 1 1
- 1 0 1 1 - 1 1 0 1 0 0
1 0 0 4 + 1
1 1 0 0

complemento a 2 del
número binario (-100)
Comprobación
Número binario 0100
complemento a 1 1011
+ 1
complemento a 2 1100

c) Multiplicación de dos números en base b.

Sigue las mismas reglas que la multiplicación en base 10. Primero debemos considerar la
existencia de las tablas de multiplicar en la base de operación.

Ejemplo. Multiplicar 426 * 536

Confeccionamos las tablas de multiplicar en base 6

2 * 1 = 2 3 * 1 = 3 4 * 1 = 4 5 * 1 = 5
2 * 2 = 4 3 * 2 = 10 4 * 2 = 12 5 * 2 = 14
2 * 3 = 10 3 * 3 = 13 4 * 3 = 20 5 * 3 = 23
2 * 4 = 12 3 * 4 = 20 4 * 4 = 24 5 * 4 = 32
2 * 5 = 14 3 * 5 = 23 4 * 5 = 32 5 * 5 = 41

Luego entonces:
4 2 6 * 5 3 6
2 1 0
3 3 4
3 5 5 0 6

Veamos la misma multiplicación, pero en un sistema numérico posicional base 13. Primero
debemos generar las tablas de multiplicar en base 13. En general no es necesario construir todas la
tablas de multiplicar sino las que son de interés. En este caso las tablas de interés corresponden a la
tabla del 5 y a la del 3, ambas en base 13. (También es posible construir las tablas de multiplicar del 4 y
del 2 en base 13)

6 ASIGNATURA CIRCUITOS LOGICOS, Apuntes de clases


UNIVERSIDAD DE LA FRONTERA
DEPTO INGENIERIA ELECTRICA

3 * 1 = 3 5 * 1 = 5
3 * 2 = 6 5 * 2 = A
3 * 3 = 9 5 * 3 = 12
3 * 4 = C 5 * 4 = 17
3 * 5 = 12 5 * 5 = 1C 4 2 13 * 5 3 13
3 * 6 = 15 5 * 6 = 24 C 6
3 * 7 = 18 5 * 7 = 29 1 7A
3 * 8 = 1B 5 * 8 = 31 1 8 9 6 13
3 * 9 = 21 5 * 9 = 36
3 * A = 24 5 * A = 3B
3 * B = 27 5 * B = 43
3 * C = 2A 5 * C = 48

d) División de dos números en base b.

Como en el caso anterior, la división sigue las mismas reglas que la división en el sistema decimal,
es decir, los coeficientes no pueden ser mayores que la base.

Ejemplo:
1 3 0 6 : 2 6 = 4 3 6
- 1 2
1 0
- 1 0
0

Ejemplo:

1 10' 1' 1' 1' : 1 0 1= 1 0 1 1


- 1 0 1
1 1 0
+ 0 1 1 complemento a 2 de 101
1 0 0 1 1 1
- 1 0 1
1 1 1
+ 0 1 1 complemento a 2 de 101
1 0 1 0 1
- 1 0 1
0

ASIGNATURA CIRCUITOS LOGICOS, Apuntes de clases 7


UNIVERSIDAD DE LA FRONTERA
DEPTO INGENIERIA ELECTRICA

CONVERSION ENTRE BASES.


El problema consiste en realizar la conversión del número Nb1 al número Mb2. Para esto conviene
distinguir dos casos:

i) b1 > b 2
ii) b1 < b2

Es importante notar que en ambos casos se debe emplear la aritmética de la base mayor.

Caso i) b1 > b2. Parte entera.

Si b1 > b 2 podemos suponer la conversión ya realizada y por lo tanto escribir la siguiente igualdad:

N b1 = a n b 2n + a n − 1b 2n − 1 + . . . . + a 2 b 22 + a 1 b 21 + a 0 b 20

(La idea es encontrar los términos ai). Si dividimos ambos lados por b2, tenemos:

N a0
= a n b 2n − 1 + a n − 1 b 2n − 2 + . . . . . + a 2 b 21 + a 1 b 20 +
b1

b2 b2

Q1 a0

De aquí se deduce que el resíduo, que corresponde a a0 es el coeficiente menos significativo del
número en base b2. Tomando el resto de los términos (Q1) y dividiendo por b2.

Q1 a1
= a n b 2n − 2 + a n −1 b 2n − 3 + . . . . . . + a 2 b 20 +
b2 b2

Qn-1 a1

y así sucesivamente obtenemos los valores de los ai.

Q n −1 a
= a n b 20 + n − 1
b2 b2

an-1.

Cada uno de los residuos forman el nuevo número en la base b2.

Q n an
= 0 +
b2 b2

an.

8 ASIGNATURA CIRCUITOS LOGICOS, Apuntes de clases


UNIVERSIDAD DE LA FRONTERA
DEPTO INGENIERIA ELECTRICA

Ejemplo: Convertir 749210 à X8

7 4' 9' 2' : 8 = 9' 3' 6' : 8 = 11' 7' : 8 = 14' : 8 = 1 :8= 0
2 9 1 3 3 7 6 1
5 2 5 6 5
4 0

a0 a1 a2 a3 a4

se lee en este sentido

Luego, 749210 = 16504 8

Caso i) b 1 > b2 . Parte fraccionaria.

Nuevamente, podemos suponer la igualdad entre el número de origen y el número de destino ya


convertido, es decir:

N b1 = a −1b2−1 + a − 2 b2−2 + a − 3b2−3 +....+ a − p b2− p


Como en el caso anterior, la idea es encontrar los términos a-i. Si multiplicamos por b2,

b2 Nb1 = a−1 + a−2b2−1 + a−3b2−2 +...+a− pb2− p+1

Parte entera parte fraccionaria (M1)

La parte entera (a -1) del resultado de la multiplicación por b2 es el coeficiente más significativo en la
parte fraccionaria del número original. Continuando con el resto de los términos, tenemos:

b2 * M 1 = a − 2 + a − 3b2−1 + ...+ a − p b2− p + 2

Parte entera parte fraccionaria (M2)

ASIGNATURA CIRCUITOS LOGICOS, Apuntes de clases 9


UNIVERSIDAD DE LA FRONTERA
DEPTO INGENIERIA ELECTRICA

Y así sucesivamente

b 2 * M 2 = a − 3 + a − 4 b 2− 1 + . . . + a − p b 2− p + 3

Parte entera parte fraccionaria (M3)

b2 * M p−2 = a − p + 1 + a − p b 2− 1

Hasta que
b2 * M p −1 = a−p

Es común que la cantidad de coeficientes en la base b 2 sea infinito (o demasiado grande), en ese
caso se prosigue con la operación hasta obtener la precisión deseada.

Ejemplo: Convertir 0,145 6 è X4

Para resolver este problema usamos las tablas de la base 6, ya calculadas.

0.145 * 4
1.112 * 4 a-1 = 1
0.452 * 4 a-2 = 0 se lee así
3.132 * 4 a-3 = 3
1.012 * 4 a-4 = 1
0.052 * 4 a-5 = 0
0.332 * 4 a-6 = 0
2.121 * 4 a-7 = 2
1.252 a-8 = 1

Luego, 0,145 6 = 0,10310021 4

Caso ii) b1 < b2

En este caso parece ser más fácil el proceso, ya que b1 pertenece a la aritmética de b2. Sin
embargo, esto es más fácil si b2 es decimal.

Ejemplo: Convertir 54,3 6 è X 10

−1 1
5 * 61 + 4 * 60 + 3 * 6 = 30 + 4 + 3 * = 3 4 ,5 ( 1 0 )
6

10 ASIGNATURA CIRCUITOS LOGICOS, Apuntes de clases


UNIVERSIDAD DE LA FRONTERA
DEPTO INGENIERIA ELECTRICA

Ejemplo: Convertir 1011,011 2 è X 3

Resolviendo la parte entera

1011 ⇒ 1 * 2 3
+ 0*2 2
+ 1* 21 + 1* 2 0

Se realizan las operaciones en base 3

2 3
3 = 2 3 * 2 3 * 2 3 = 113 * 2 3 = 22 3

Entonces se tiene que

1011 ⇒ 22 + 0 + 2 + 1 = 102 3

−1 −2 −3 1 1
0 ,0 1 1 ⇒ 0 * 2 + 1* 2 + 1* 2 = 0 + +
11 22

Resolviendo ahora la parte fraccionaria se tiene que:

Para encontrar la solución a este problema, se tienen dos alternativas:

a) realizar las respectivas divisiones en base 3, es decir:

1 0 0 : 1 1 = 0, 0 2 0 2
- 2 2
1 0 0
- 2 2
1

1 0 0 : 2 2 = 0, 0 1 0 1
- 2 2
1 0 0
- 2 2
1

Sumando ambos resultados:

0. 0 2 0 2
+ 0. 0 1 0 1
0. 1 0 1 0

Finalmente el resultado es : 1 0 1 1, 0 1 1 2 è 1 0 2 , 1 0 1 0 3

b) pasar primero a base 10 y luego pasar el resultado a base 3, o sea:

1 1
0 ,0 1 1 2 ⇒ 0 + + = 0 ,3 7 5 (1 0 )
4 8

ASIGNATURA CIRCUITOS LOGICOS, Apuntes de clases 11


UNIVERSIDAD DE LA FRONTERA
DEPTO INGENIERIA ELECTRICA

y 0,375 è X 3
0,375 *3
1,125 *3
0,375 *3
1,125 *3
0,375

Por lo tanto: 1011,011 2 è102,10103

Lo que corresponde exactamente al resultado anterior.

Este segundo método no es válido si la base final es mayor que 10.

CASO ESPECIAL DE TRANSFORMACION ( b1 < b2 )

T ran sform ar ....... N b1 ⇒ M b 2 ...... d o n d e ..... b 1k = b 2


Analizando la parte entera, se puede escribir el primer número como:

N b1 = a n b1n + a n −1b1n − 1 + a n − 2 b1n − 2 + ....+ a k b1k + a k − 1b1k − 1 + ...+ a 0


Y el segundo número como:

M b2 = c n b 2n + c n − 1 b 2n − 1 + c n − 2 b 2n − 2 + ....+ c k b 2k + c k − 1b 2k − 1 + ... + c 0

Como ambos números son iguales, entonces ambas series de potencias son iguales.
k
Si en la serie de Nb1, se factoriza por b1 (para igualar coeficientes con base elevado a potencias
iguales) se tiene:

N b1 = b10 k * ( a 0 + a 1 b1 + a 2 b12 + a 3 b13 + ...+ a k − 1 b1k − 1 ) +


+ b1k * ( a k + a k + 1 b1 + a k + 2 b12 + a k + 3 b13 + ...+ a 2 k − 1 b1k − 1 ) +
+ b12 k + ( a 2 k + a 2 k + 1 b1 + a 2 k + 2 b12 + a 2 k + 3 b13 + ...+ a 3 k − 1 b1k − 1 ) +
+ ...
Comparando términos que cumplan la relación b1k = b2

c 0 = a 0 + a 1 b 1 + a 2 b 12 + a 3 b 13 + ....+ a k − 1 b 1k − 1
c 1 = a k + a k + 1 b 1 + a k + 2 b 12 + a k + 3 b 13 + ...+ a 2 k − 1 b 1k − 1
c 2 = a 2 k + a 2 k + 1 b 1 + a 2 k + 2 b 12 + a 2 k + 3 b 13 + ...+ a 3 k − 1 b 1k − 1
Lo cual significa que k términos del número expresado en base b 1, se reemplazan por un término
expresado en base b2.

12 ASIGNATURA CIRCUITOS LOGICOS, Apuntes de clases


UNIVERSIDAD DE LA FRONTERA
DEPTO INGENIERIA ELECTRICA

Ejemplo: Convertir 12012, 21 3 è X9


k 2
Aquí b1 = 3 ; b2 = 9 è b 1 = b2 è 3 = 9
Luego k = 2, entonces los dígitos se separan en pares:

1 2 0 1 2 , 2 1

0 * 31 + 1 * 3 0 2 * 31 + 0 * 30 1 * 31 + 2 * 30 2 * 31 + 1 * 3 0

luego, X9 = 165,79

Ejemplo: Demostrar que esto también es válido para la parte fraccionaria.

1.2. CODIGOS BINARIOS


Definición: Código es una representación unívoca de las cantidades o símbolos (letras, signos, etc)
de un conjunto o base b1, respecto de otro conjunto o base b 2.

Esto significa que a cada elemento de información en el conjunto 1, le corresponde un único


elemento del conjunto 2.

CLASIFICACION DE LOS CODIGOS

Alfanuméricos
Códigos Ponderados
Numéricos
No Ponderados

detectores de error
dependiendo de
su capacidad
correctores de error

CODIGOS NUMERICOS

Los códigos ponderados son aquellos en que a cada bit se le asigna un peso o valor
determinado, con lo cual el valor numérico de la combinación es

4
N = ∑ a i * pi
i =0
Donde pi = peso del bit i,
ai = coeficiente binario del bit i.

ASIGNATURA CIRCUITOS LOGICOS, Apuntes de clases 13


UNIVERSIDAD DE LA FRONTERA
DEPTO INGENIERIA ELECTRICA

i
En el caso del código binario natural pi = 2

1. CODIGO BINARIO NATURAL

n
N= ∑a 2
i =− p
i
i

Con ai = [ 0 , 1 ]

Es un código “ponderado”, ya que el valor de los coeficientes depende de la posición que tengan
en el número.

El código binario natural es la representación normal de los dígitos decimales en el sistema binario,
es decir:

DECIMAL BINARIO DECIMAL BINARIO


0 0 0 0 0 7 0 1 1 1
1 0 0 0 1 8 1 0 0 0
2 0 0 1 0 9 1 0 0 1
3 0 0 1 1 10 1 0 1 0
4 0 1 0 0 11 1 0 1 1
5 0 1 0 1 12 1 1 0 0
6 0 1 1 0 etc

2. CODIGO BCD (Binary Coded Decimal)

En este código, los dígitos decimales (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) se representan con una palabra de
4 bits.

Para representar los dígitos decimales, deben existir al menos diez combinaciones en el código
4
binario. Con 4 dígitos podemos tener 2 = 16 combinaciones posibles, de las cuales sólo usaremos 10,
perdiendo las 6 restantes.

Esto hace que en el Código BCD se necesiten más bits que en el código binario natural para
representar cifras mayores que 9.

Ejemplo: Representar el número 985(10) en su equivalente binario natural y en su equivalente BCD.

985 è 11 1101 1001 Equivalente Binario Natural


9 8 5 è 1001 1000 0101 Equivalente BCD

14 ASIGNATURA CIRCUITOS LOGICOS, Apuntes de clases


UNIVERSIDAD DE LA FRONTERA
DEPTO INGENIERIA ELECTRICA

3. CODIGO AIKEN

La siguiente tabla muestra los dos códigos ponderados más importantes: el BCD y el Aiken.

BCD AIKEN
Dígito P3 P2 P1 P0 P3 P2 P1 P0
Decimal 8 4 2 1 2 4 2 1
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 0
3 0 0 1 1 0 0 1 1
4 0 1 0 0 0 1 0 0
5 0 1 0 1 1 0 1 1
6 0 1 1 0 1 1 0 0
7 0 1 1 1 1 1 0 1
8 1 0 0 0 1 1 1 0
9 1 0 0 1 1 1 1 1

El Código BCD Aiken es autocomplementario, es decir, si a partir de un número N cualquiera (N <


9) se desea obtener el número 9 – N, basta con invertir todos los bits de N, es decir cambiar los ceros por
unos y los unos por ceros.

Ejemplo: Obtener el complemento del número 3.

El número 3 Aiken es igual a 0 0 1 1. El complemento de este número, es 1 1 0 0, que es el


equivalente Aiken del 6 decimal. (En decimal 9 – 3 = 6)

Otra forma de buscar el complemento es buscar el número solicitado (3), contando desde la base
de la tabla hacia arriba.

CODIGOS CONTINUOS Y CICLICOS


Definición: Un código es contínuo, si las combinaciones correspondientes a números decimales
consecutivos son adyacentes.

Se denominan combinaciones binarias adyacentes a aquellas que difieren solamente en un bit.

Un código contínuo, en que la última combinación es adyacente a la primera se denomina cíclico.

CODIGO GRAY

Es el código binario cíclico más conocido. Se le llama también código reflejado. El código Gray se
puede construir considerando las siguientes reglas:

Si el código es de largo n, se tendrá:

a) El bit n es 0 para las primeras 2 n-1 combinaciones posibles.


n-1
El bit n es 1 para las 2 combinaciones restantes.

ASIGNATURA CIRCUITOS LOGICOS, Apuntes de clases 15


UNIVERSIDAD DE LA FRONTERA
DEPTO INGENIERIA ELECTRICA

n-1 n-1
b) Las 2 combinaciones finales de los primeros n-1 bits son el reflejo de las 2 primeras.

Desarrollo.
1
Para n = 1 bit, el número máximo de combinaciones es 2 = 2, luego sólo es posible determinar la
regla a)
bit 1
0
1
2
Para n = 2 bits, el número máximo de combinaciones es 2 = 4, entonces el bit n (es decir el bit 2)
será
2-1 1
0 para las 2 = 2 = 2 primeras combinaciones, y

1 para las 2 2-1 = 2 1 = 2 combinaciones restantes

bit 2 bit 1
0
0
1
1

De la construcción del código Gray para los n-1 primeros bits, (en este caso 2-1 = 1 bit), se conoce
que el bit 1 es 0 para la primera combinación y 1 para la segunda, entonces,

bit 2 bit 1
0 0
0 1
1
1
n-1 2-1 1
La regla b) del código señala que las 2 (2 = 2 = 2) combinaciones finales de los primeros n-1
n-1 2-1 1
(2-1 = 1) bits son el reflejo de las 2 (2 = 2 = 2) primeras combinaciones, por lo tanto, el código gray
para 2 bits es:

bit 2 bit 1
0 0
0 1
1 1
1 0

Para n = 3 bits, se toma como base conocida la estructura del código de 2 bits y para n = 4 bits, se
conoce la estructura del código de tres bits, entonces:

16 ASIGNATURA CIRCUITOS LOGICOS, Apuntes de clases


UNIVERSIDAD DE LA FRONTERA
DEPTO INGENIERIA ELECTRICA

Para n = 3 bits Para n = 4 bits


bit 3 bit 2 bit 1 bit 4 bit 3 bit 2 bit 1
0 0 0 0 0 0 0
0 0 1 0 0 0 1
0 1 1 0 0 1 1
0 1 0 0 0 1 0
1 1 0 0 1 1 0
1 1 1 0 1 1 1
1 0 1 0 1 0 1
1 0 0 0 1 0 0
1 1 0 0
1 1 0 1
1 1 1 1
1 1 1 0
1 0 1 0
1 0 1 1
1 0 0 1
1 0 0 0

Códigos no ponderados: son aquellos que cada bit no tiene asignado un peso. Uno de los más
utilizados es el código “exceso tres”. En este código cada dígito se codifica mediante la combinación
correspondiente a N + 3 en el código binario decimal.

Dígito BCD
Decimal exceso tres
0 0 0 1 1
1 0 1 0 0
2 0 1 0 1
3 0 1 1 0
4 0 1 1 1
5 1 0 0 0
6 1 0 0 1
7 1 0 1 0
8 1 0 1 1
9 1 1 0 0

Ejercicio: Representar el número 725,8 (10) en las distintas combinaciones BCD.

7 2 5, 8
BCD natural 0111 0010 0101, 1000
BCD Aiken 1101 0010 1011, 1110
BCD Exc-3 1010 0101 1000, 1011

CODIGOS ALFANUMERICOS
Son códigos en los cuales se representan dígitos alfabéticos, dígitos numéricos y signos
especiales.

ASIGNATURA CIRCUITOS LOGICOS, Apuntes de clases 17


UNIVERSIDAD DE LA FRONTERA
DEPTO INGENIERIA ELECTRICA

El código ASCII (American Standard Code for Information Interchange) es el código alfanumérico
de mayor uso.

Otro código alfanumérico es el código EBCDIC (Extended Binary Coded Decimal Interchange
Code)

CODIGOS DETECTORES DE ERROR


En el manejo y especialmente en la transmisión de datos numéricos es posible que se produzcan
errores debido a ruidos o averías de los componentes del sistema.

Cuando en un código binario se utilizan todas las combinaciones posibles de sus bits, es imposible
detectar la presencia de errores, porque una combinación del código se transformará en otra que también
pertenece al mismo código.

Por lo tanto, una detección de errores se utilizan códigos que no usan todas las combinaciones
posibles. Un método para detectar errores es agregar al código de datos un bit de paridad (par o impar,
odd or even)

El bit de paridad es un bit extra que se agrega al dato digital.


sor

A A

ptor
nsmi

B B
C C

ce
Tra

Re
D D

Generad. Detector
bit de Alarma
paridad error

Figura 1.1

Supongamos que se transmite una palabra de cuatro bits A, B, C, D. Con cuatro bits el máximo
número de combinaciones es 16.

18 ASIGNATURA CIRCUITOS LOGICOS, Apuntes de clases


UNIVERSIDAD DE LA FRONTERA
DEPTO INGENIERIA ELECTRICA

Bit de paridad Bit de paridad


A B C D Par Impar A B C D Par Impar
0 0 0 0 0 1 1 0 0 0 1 0
0 0 0 1 1 0 1 0 0 1 0 1
0 0 1 0 1 0 1 0 1 0 0 1
0 0 1 1 0 1 1 0 1 1 1 0
0 1 0 0 1 0 1 1 0 0 0 1
0 1 0 1 0 1 1 1 0 1 1 0
0 1 1 0 0 1 1 1 1 0 1 0
0 1 1 1 1 0 1 1 1 1 0 1

El generador de bit de paridad par agrega al dato (de cuatro bits) un quinto bit, el que será 1 o 0 de
forma tal que el número de 1’s en la palabra de cinco bits es par, esto es:
- si en el dato existe un número par de 1’s, el quinto bit (salida del generador de bit de paridad)
es 0,
- si en el dato existe un número impar de 1’s, la salida del generador de bit de paridad es 1.

El generador de bit de paridad impar es complementario al de paridad par.

El detector de error examina el bit de paridad y chequea las líneas de datos. Si encuentra un error
lo denuncia a través de la alarma.

CODIGO CORRECTOR DE ERROR


Un ejemplo es el código Hamming. Este detecta un error e indica cuál es el bit erróneo, entonces
se puede corregir dicho bit. El código Hamming es entonces autocorrector.

Línea de transmisión
sor

D7 D7 D7
ctor

ptor
rror
nsmi

D6 D6 D6
Corre

D5 D5 D5

ce
dee
Tra

Re
D3 D3 D3

Generad. Detector
D7 D6 D5 -> P4 bit pari- D7 D6 D5 P4 -> E1 de
dad par P4 error 1 E1

Generad. Detector
D7 D6 D3 -> P2 bit pari- D7 D6 D3 P2 -> E2
de
dad par P2 E2
error 2

Generad. Detector
D7 D5 D3 -> P1 bit pari- D7 D5 D3 P1 -> E3 de
dad par P1 error 3 E3

Generadores
Figura 1.2 bit paridad par

ASIGNATURA CIRCUITOS LOGICOS, Apuntes de clases 19


UNIVERSIDAD DE LA FRONTERA
DEPTO INGENIERIA ELECTRICA

Supongamos que deseamos transmitir un dato de cuatro bits, utilizando el código Hamming. De
acuerdo con el circuito anterior, se generan tres bits de paridad par adicionales, denominados P1, P2 y
P4, calculados según se indica en el circuito anterior.

D 7D6D5 à P4
D 7D6D3 à P2
D 7D5D3 à P1

Y los bits de detección de error se calculan según:

D 7D6D5P4 à E1
D 7D6D3P2 à E2
D 7D5D3P1 à E3

Si deseamos transmitir el dato de cuatro bits 1010, entonces aplicando el código Hammings se
generan los siguientes bits de paridad par.

D 7D6D5 à P4 101à0
D 7D6D3 à P2 100à1
D 7D5D3 à P1 110à0

Se genera entonces la siguiente palabra a transmitir:

D 7D6D5P4D3P2P1 1010010

Al final de la línea de transmisión se pueden presentar los siguientes casos:

a) no hay errores en la transmisión

En la entrada de la línea de transmisión existe la palabra: 1 0 1 0 0 1 0


En la salida de la línea de transmisión se lee la palabra: 1 0 1 0 0 1 0

En los detectores de error se generan los siguientes bits:

D 7D6D5P4 à E1 1010à0
D 7D6D3P2 à E2 1001à0
D 7D5D3P1 à E3 1100à0

Se genera una entrada E1E2 E3 = 0 0 0 al circuito corrector de error, luego no hay corrección (la
palabra recibida no contienen errores)

b) hay un error en un bit de datos

En la entrada de la línea de transmisión existe la palabra: 1 0 1 0 0 1 0


En la salida de la línea de transmisión se lee la palabra: 1 0 0 0 0 1 0 (error en el dato D5)

En los detectores de error se generan los siguientes bits:

D 7D6D5P4 à E1 1000à1
D 7D6D3P2 à E2 1001à0
D 7D5D3P1 à E3 1000à1

20 ASIGNATURA CIRCUITOS LOGICOS, Apuntes de clases


UNIVERSIDAD DE LA FRONTERA
DEPTO INGENIERIA ELECTRICA

Se genera una entrada E1E2 E3 = 1 0 1 al circuito corrector de error. La combinación E1E2 E3 indica
la posición, en términos binarios, del error.

En este caso, el error está en la ubicación 1 0 12 è 510 è D 5, luego el circuito corrector de error
toma el dato D5 y obtiene su complemento, con lo cual es corregido el error.

c) hay un error en un bit de paridad

En la entrada de la línea de transmisión existe la palabra: 1 0 1 0 0 1 0


En la salida de la línea de transmisión se lee la palabra: 1 0 1 0 0 0 0 (error en el bit P2)

En los detectores de error se generan los siguientes bits:

D 7D6D5P4 à E1 1010à0
D 7D6D3P2 à E2 1000à1
D 7D5D3P1 à E3 1100à0

Se genera una entrada E1E2 E3 = 0 1 0 al circuito corrector de error.

En este caso, el error está en la ubicación 0 1 02 è 2 10 è P2. El código Hamming ha detectado el


error en el bit de paridad, el cual no es necesario corregir.

d) hay dos errores en la transmisión

En la entrada de la línea de transmisión existe la palabra: 1 0 1 0 0 1 0


En la salida de la línea de transmisión se lee la palabra: 1 1 1 0 0 1 1 (errores en el dato D6 y en el
bit de paridad P1)

En los detectores de error se generan los siguientes bits:

D 7D6D5P4 à E1 1110à1
D 7D6D3P2 à E2 1101à1
D 7D5D3P1 à E3 1101à1

Se genera una entrada E1E2 E3 = 1 1 1 al circuito corrector de error, lo cual indica un error en el bit
de datos D7, lo cual no es correcto, ya que son dos los errores. Esta versión del código corrector de
errores Hamming detecta sólo un error.

ASIGNATURA CIRCUITOS LOGICOS, Apuntes de clases 21

Вам также может понравиться